CXF JAXRS - Comment POSTER plus d'un paramètre

Comment puis-je envoyer plus d'un paramètre dans le corps de la requête dans une requête POST?

@POST
@Consumes("multipart/form-data")
@Produces("application/json")
public String addForm1(@FormParam("i1") Integer i1, @FormParam("i2") Integer i2);

Code ci-dessus renvoie HTTP 415.

Remplacement @FormParam avec @Multipart résultats dans Resource method has more than one parameter representing a request body erreur, comme indiqué ci-dessous.

SEVERE: Resource method service.rs.TestService.postData2 has more than one parameter representing a request body
Exception in thread "main" org.apache.cxf.jaxrs.client.ClientWebApplicationException: Resource method service.rs.TestService.postData2 has more than one parameter representing a request body
at org.apache.cxf.jaxrs.client.ClientProxyImpl.reportInvalidResourceMethod(ClientProxyImpl.java:546)
at org.apache.cxf.jaxrs.client.ClientProxyImpl.getParametersInfo(ClientProxyImpl.java:214)
at org.apache.cxf.jaxrs.client.ClientProxyImpl.invoke(ClientProxyImpl.java:138)
at $Proxy20.postData2(Unknown Source)
at service.TestServiceClient.main(TestServiceClient.java:82)

Aussi, que dois-je faire afin de transmettre plusieurs types complexes tels que List<Map<String, String>>' or 'List<MyNestedCustomObject> dans la méthode POST? Je suis en mesure de passer à un tel paramètre à l'aide de JAXB et en annotant avec @XmlJavaTypeAdapter, mais je suppose que ça ne fonctionne pas dans le cas du passage de plusieurs paramètres? Serais-je obligé de définir mon propre corps du message lecteurs & des écrivains? Tout exemple de code serait utile.

Grâce

OriginalL'auteur domino | 2012-03-08