我想创建一个简单的项目,以便在此项目和我在泽西岛创建的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(String)的应用程序。 我怎么能创造这个?
我以这种方式开始申请......
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}}
你有个主意吗?
答案 0 :(得分:0)
您的服务会生成XML响应。客户端无法读取此内容,因为您已将客户端中的响应类型设置为纯文本。您需要告诉客户端接受XML响应。您必须按如下方式调用服务:
javax.ws.rs.core.Response rs = target.request(MediaType.APPLICATION_XML).get();