Hi,
I'm trying to develop a client/server REST service. But when I'm
launching my client, I got an 400 error.
Don't understand why
Here is my exception :
com.sun.jersey.api.client.UniformInterfaceException: Status: 400
at
com.sun.jersey.api.client.WebResource.handle(WebResource.java:512)
at
com.sun.jersey.api.client.WebResource.access$200(WebResource.java:68)
at
com.sun.jersey.api.client.WebResource$Builder.put(WebResource.java:424)
at Requestor.doRequestWithData(Requestor.java:53)
at RestTest.main(RestTest.java:37)
Here is the client :
public class RestTest {
public static void main(String[] args) {
try {
Requete1 req = new Requete1();
URI uri =
UriBuilder.fromUri("
http://localhost/yoda-client/service/yoda").port(497
5).build();
WebResource web = Client.create().resource(uri);
Requestor reque = new Requestor(web);
reque.doRequestWithData(req);
} catch (Exception ex) {
ex.printStackTrace();
}
Here is the requestor :
@Produces(MediaType.APPLICATION_XML)
public final class Requestor implements YodaRequestor {
private WebResource web;
List<Map<ServiceParameter, String>> dataToSend;
public Requestor(WebResource w) {
this.web = w;
}
public ServiceResponse doRequestWithData(YodaRequest req) {
return
web.accept("application/xml").type(MediaType.APPLICATION_XML).put(Servic
eResponse.class,req);
}
Here is the object (quite simple...) :
@XmlRootElement(name="req")
public class Requete1 {
}
Here is the Service which receive messages :
@Path("/yoda")
@Produces(MediaType.APPLICATION_XML)
public final class Service {
@PUT
@Consumes(MediaType.APPLICATION_XML)
public final ServiceResponse
doServiceWithData(JAXBElement<YodaRequest> request) {
System.out.println(".... In doServiceWithData ....");
return new ServiceResponse();
}
Thanks in advance for explanation
Matthieu
_______________________________________
Matthieu VINCENT (Prestataire)
Application Antenne
DSI Canal+ France
1 place du spectacle
92863 - Issy-Les-Moulineaux Cedex 9