[英]Simple JAX-RS Client - Issue with Jersey
我想創建一個簡單的項目,以使該項目與我在澤西島創建的Web服務之間建立連接。
我的Web服務具有以下服務:
http://localhost:8080/esinister/test/findtest?testnumber=12345.
該服務的定義是:
@GET
@Path("findtest")
@Produces(MediaType.APPLICATION_XML)
public Customer findTest(@DefaultValue("") @QueryParam("testnumber") String clientNumber)
我想創建一個具有12345(字符串)客戶編號的應用程序。 我該如何創建呢?
我以這種方式啟動了我的應用程序...
public static void main(String[] args) {
// TODO Auto-generated method stub
Client client = ClientBuilder.newClient();
WebTarget target = client.target("http://localhost:8080/esinister/test/findtest?testnumber=12345");
javax.ws.rs.core.Response rs = target.request(MediaType.TEXT_PLAIN).get();
System.out.println(rs.toString());
}
但是我想我忘記了一些事情...
我的錯誤是:
InboundJaxrsResponse{ClientResponse{method=GET, uri= http://localhost:8080/esinister/test/findtest?testnumber=12345, status=406, reason=Inacceptable}}
你有個主意嗎?
您的服務產生XML響應。 客戶端無法讀取此內容,因為您已在客戶端中將響應類型設置為純文本。 您將需要告訴客戶端接受XML響應。 您必須按以下方式致電服務:
javax.ws.rs.core.Response rs = target.request(MediaType.APPLICATION_XML).get();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.