無法找到別處的建議。Restlet - 連接問題 - 406不可接受 - 純文本
我正在爲Jersey(!)Restful Service編寫Restlet JSE客戶端。我已經爲此寫了一個澤西客戶,它正在工作,所以球衣服務沒問題。現在,我得到的問題,在編寫的Restlet客戶端:
我的服務根本ADRESS是:
http://localhost:8080/com-project-core/rest, so I call:
ClientResource = service = new ClientResource("http://localhost:8080/com-project-core/rest");
我的基本認證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」)它的工作原理!
對於resourcey我的服務器端是這樣的:
@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>
正如我所說的,它與我的球衣客戶合作。
那你試試用myString的做工作?如果你不打印它,你不會看到它... – Jari 2012-07-08 15:59:15
我做到了:System.out.println(myString); – 2012-07-08 15:59:59
您是否看到請求進入服務器端? – Jari 2012-07-08 16:01:08