无法找到别的建议。
我正在为Jersey(!)Restful Service编写Restlet JSE客户端。我已经为此编写了一个泽西客户端并且它正在工作,所以球衣服务没问题。现在我在编写restlet客户端时遇到了问题:
我的服务根地址是:
http://localhost:8080/com-project-core/rest, so I call:
ClientResource = service = new ClientResource("http://localhost:8080/com-project-core/rest");
My Basic Auth Credentiels是admin和xxx,所以我打电话给:
service.setChallengeResponse(ChallengeScheme.HTTP_BASIC, "admin", "xxx");
现在出现问题:
ClientResource service = new ClientResource("http://localhost:8080/com-project-core/rest/ping");
调用我的服务。之后我尝试
String myString = service.get(String.class);
System.out.println(myString);
我得到了:
08.07.2012 17:41:48 org.restlet.engine.http.connector.HttpClientHelper start
INFO: Starting the default HTTP client
在我的输出中。不多! Junit测试说:
Not Acceptable (406) - Not Acceptable
所以他可以找到资源但不能生成@Produces(“text / plain”)??
所以当我在服务器端删除@Produces(“text / plain”)时,它可以工作!!
对于资源,我的服务器端看起来像这样:
@Path("/ping")
@RolesAllowed({"admin", "user"})
public class ConnectedResourceBean implements ConnectedResourceIF {
@GET
@Produces("text/plain")
public String getPingMessage() throws NamingException {
return "Hello World";
}
}
为我的pom设置此依赖项:
<dependency>
<groupId>org.restlet.jse</groupId>
<artifactId>org.restlet</artifactId>
<version>${restlet.version}</version>
</dependency>
<dependency>
<groupId>org.restlet.jse</groupId>
<artifactId>org.restlet.ext.xstream</artifactId>
<version>${restlet.version}</version>
</dependency>
正如我所说,它与我的球衣客户合作。
答案 0 :(得分:1)
没办法:Restlet遇到问题
@Produces("text/plain")
在泽西服务器端。有人可以解释一下这个事实吗?
编辑:
使用
<properties>
<restlet.version>2.1-M3</restlet.version>
</properties>