2012-05-25 34 views
0

我有一個JAX-RS Jersey WebService,我試圖接受XML數據(或JSON)並返回一個String響應,顯示總數。傳遞記錄數如何發送數據(列表<Customer>客戶)作爲RS查詢的輸入(URI

這是我的服務代碼:

@Path("customers") 
@Singleton 
public class CustomersResource { 
... 
    @POST 
    @Path("addall") 
    @Produces("text/html") 
    @Consumes(javax.ws.rs.core.MediaType.APPLICATION_XML) 
    public String addCustomers(List<Customer> customerList) { 
     return "success : received " + customerList.size() ; 
    } 
    ... 
} 

這裏是我的客戶端代碼:

public static void main(String[] args) { 
    Client client = Client.create(); 

    WebResource webresource = client.resource("http://localhost:8080/restdemo/services/customers/addall"); 

    String input = "<customerList><customer><name>name1</name></customer><customer><name>name2</name></customer></customerList>"; 
    String response = webresource.type("application/xml").post(String.class, input); 
    System.out.println(response); 
} 

錯誤:

Exception in thread "main" com.sun.jersey.api.client.ClientHandlerException: com.sun.jersey.api.client.ClientHandlerException: A message body writer for Java type, class java.util.ArrayList, and MIME media type, application/json, was not found 
    at com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:149) 
    at com.sun.jersey.api.client.Client.handle(Client.java:648) 
    at com.sun.jersey.api.client.WebResource.handle(WebResource.java:680) 
    at com.sun.jersey.api.client.WebResource.access$200(WebResource.java:74) 
    at com.sun.jersey.api.client.WebResource$Builder.post(WebResource.java:568) 
    at restdemoclient.Main.main(Main.java:35) 
Caused by: com.sun.jersey.api.client.ClientHandlerException: A message body writer for Java type, class java.util.ArrayList, and MIME media type, application/json, was not found 
    at com.sun.jersey.api.client.RequestWriter.writeRequestEntity(RequestWriter.java:288) 
    at com.sun.jersey.client.urlconnection.URLConnectionClientHandler._invoke(URLConnectionClientHandler.java:204) 
    at com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:147) 
    ... 5 more 

我將不勝感激任何幫助或指向任何示例代碼,可能會有所幫助。

回答

相關問題