1
我調用REST API如下,的JAXBContext對象再次
String uri = "http://localhost:8080/jd/rest/emp/getEmp";
EmpRequest request = new EmpRequest();
//set id as 1 for OK response
request.setId(2);
request.setName("PK");
try{
Client client = Client.create();
WebResource r=client.resource(uri);
ClientResponse response = r.type(MediaType.APPLICATION_XML).post(ClientResponse.class,request);
System.out.println(response.getStatus());
if(response.getStatus() == 200){
EmpResponse empResponse = response.getEntity(EmpResponse.class);
System.out.println(empResponse.getId() + "::"+empResponse.getName());
}else{
ErrorResponse exc = response.getEntity(ErrorResponse.class);
System.out.println(exc.getErrorCode());
System.out.println(exc.getErrorId());
}
}catch(Exception e){
System.out.println(e.getMessage());
}
這裏,花費很長的時間來發送請求。我懷疑這是因爲它每次都在創建一個新的JAXB對象。有沒有辦法在這種方法中使用相同的JAXB對象?
我已經把時間放在本地文件的每一步之後。這似乎是最耗時的這一步(近15秒)
ClientResponse response = r.type(MediaType.APPLICATION_XML).post(ClientResponse.class,request);
你能告訴我們web服務代碼嗎? –
什麼是「EmpRequest」和「EmpResponse」? –
你的意思是服務器端?我正在使用第三方網絡服務。 – sabu