J'essaie d'utiliser l'API Bing SOAP pour une requête de recherche simple. Mais maintenant que j'ai finalement compris comment envoyer la requête en utilisant JAX-WS, je suis de nouveau coincé. Je reçois la réponse com.sun.xml.internal.ws.client.ClientTransportException: The server sent HTTP status code 505: HTTP Version not supported
lorsque j'envoie la demande. Quelqu'un peut m'aider? J'utilise l'invocation dynamique avec JAX-WS 2.0, si cela fait une différence.Comment éviter l'erreur "505: Version HTTP non supportée"?
Dispatch<SOAPMessage> dispatch = service.createDispatch(
portName, SOAPMessage.class, Service.Mode.MESSAGE);
MessageFactory messageFactory = ((SOAPBinding) dispatch.getBinding())
.getMessageFactory();
SOAPMessage request = messageFactory.createMessage();
// Add content to the request
SOAPMessage response = dispatch.invoke(request);
Wireshark me dit que l'en-tête de requête contient POST /soap.asmx HTTP/1.1
et la réponse revient également avec un HTTP/1.1 versioning. Cela ne signifie-t-il pas que tout va bien?
Merci, moxn
MISE À JOUR: Ce n'est pas une erreur spécifique JAX-WS. Je mis en œuvre la communication via Commons HttpClient et encore obtenir le même 505.
Après les en-têtes de la demande de HTTPClient:
Content-Length: 435
Content-Type: text/xml
Host: api.bing.net:80
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.0.1 (java 1.5)
Expect: 100-Continue
MISE À JOUR: Il ne fonctionne pas avec HTTP/1.0 btw.
Pouvez-vous montrer la demande complète que vous essayez d'envoyer (URL et le poste complet de votre capture Wireshark)? Parfois, l'espace dans une URL ou un article peut provoquer ce problème. c'est-à-dire que l'erreur pourrait pointer un problème différent de ce que vous pensez que c'est .. – gbvb
@gbvb Hé, merci de vous renseigner. J'ai complètement oublié cette question. Je l'ai déjà compris (voir réponse ci-dessous). – moxn