[JAX-WS] appel d'un WS par POST et pas GET
Bonjour,
J'ai un souci avec l'appel d'un web service JAX-WS : l'appel semble être fait avec la méthode GET, alors que je voudrais utiliser la méthode POST. Pour l'appel, je fais comme ceci:
Code:
1 2 3 4
|
final WSTest service = new WSTest();
final WSTestImpl serv = service.getWSTestImplPort();
final String result = serv.getMessage("toto"); |
et le endpoint de mon web service est :
Code:
1 2
|
http://127.0.0.1:8080/test-service/WSTest |
Lorsque j'intercepte la communication, avec le sniffer Wireshark, j'ai l'entete suivante :
Code:
1 2 3 4 5 6 7
|
GET /test-service/WSTest HTTP/1.1
Host: 127.0.0.1:8080
Content-Type: text/xml; charset=utf-8
User-Agent: Java/1.6.0_14
SOAPAction: ""
Connection: Keep-Alive |
On voit à la première ligne que la méthode est GET, mais je voudrais faire du POST. J'ai essayé d'appeler le web service comme ceci :
Code:
1 2 3 4 5 6
|
final WSTest service = new WSTest(url);
final WSTestImpl serv = service.getWSTestImplPort();
final Map<String, Object> reqContext = ((BindingProvider) serv).getRequestContext();
reqContext.put(MessageContext.HTTP_REQUEST_METHOD, "POST");
final String result = serv.getMessage("toto"); |
Mais ça ne change rien...
QQ'un aurait-il une idéee ?
Merci d'avance
Le marlou