/ / Invia oggetto al servizio restful: java-ee, rest, jboss, ejb-3.0, resteasy

Invia oggetto al servizio di riposo - java-ee, rest, jboss, ejb-3.0, resteasy

Sto usando restEasy (implementazione restful per jboss) ejb3.0, Jboss5.1.1 AS

Ho fatto un servizio riposante che accetta oggetti semplici.

questo è sul lato server:

@POST
@Path("testObjects")
@Consumes("application/xml")
@Produces("text/plain")
public String testObjects(GrandSun sun)
{
System.out.println(sun.toString());
return "success";
}

questo è l'oggetto che ho dichiarato sul lato server:

package com.mirs.wma.web.data;
import javax.xml.bind.annotation.XmlRootElement;


@XmlRootElement
public class GrandSun
{
int m = 1;
int g = 2;

}

Lo provo tramite client restfull che invia la stringa xml e funziona perfettamente.

<?xml version="1.0" encoding="utf-8"?>
<grandSun>
<m>111</m>
<g>22</g>
</grandSun>

Quello che sto cercando è un client riposante che sarà in grado di inviare l'intero oggetto (così com'è) senza che io debba convertire manualmente in formato xml.

C'è qualche opzione per farlo tramite annotazione?

Avrò solo bisogno di annotare l'oggetto sul lato client e inviarlo come è per il servizio riposante?

Grazie, ray.

Grazie, ray.

risposte:

0 per risposta № 1

utilizzando RestEasy proprio cliente, insieme a a Marshaller JAXB (Preferisco Jackson ma jettison viene fornito con RestEasy credo). Mentre sul lato server i POJO non sono controllati, il lato client è responsabile del marshalling del POJO.

Spero che questo ti dia qualche suggerimento.


0 per risposta № 2

La maggior parte degli IDE può generare uno stub client di WebService da un WSDL. Ciò fornirà l'infrastruttura necessaria per convertire automaticamente gli oggetti in richieste XML e deserializzare il risultato.

In caso contrario, controlla wsdl2java. Genererà gli stub per te.