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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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