Estoy tratando de usar el Bing API de SOAP para un simple solicitud de búsqueda. Pero ahora que finalmente me di cuenta de cómo enviar la solicitud con JAX-WS, estoy atrapado de nuevo. Tengo la respuesta
com.sun.xml.internal.ws.client.ClientTransportException: The server sent HTTP status code 505: HTTP Version not supported cuando me envíe la solicitud. ¿Alguien puede ayudarme?

Estoy utilizando la invocación dinámica con JAX-WS 2.0, si eso hace la diferencia.

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 dice, que el encabezado de la solicitud contiene POST /soap.asmx HTTP/1.1 y la respuesta vuelve también con HTTP/1.1 control de versiones. No significa esto, está bien, está bien?

Gracias, moxn

ACTUALIZACIÓN:
No es un JAX-WS de error específico. He implementado la comunicación a través de Commons HTTPClient y aún así obtener el mismo 505.

Siguiente de las cabeceras de la HTTPClient solicitud:

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

ACTUALIZACIÓN:
Asimismo, no trabajo con HTTP/1.0 btw…

Se puede mostrar la gran solicitud que usted está tratando de enviar la URL y el post completo de su Wireshark captura)? A veces el espacio en una dirección URL o post pueden causar este problema. es decir, el error podría estar apuntando a un problema diferente de lo que usted piensa que es..
Hola, gracias por preguntar. Me olvidé por completo acerca de esta cuestión. Ya tengo resuelto (véase la respuesta a continuación).

OriginalEl autor moxn | 2010-08-08

2 Comentarios

  1. 2

    Has probado a añadir el siguiente a la aplicación.config o web.config?

    <configuration>
      <system.net>
        <settings>
          <servicePointManager expect100Continue="false" />
        </settings>
      </system.net>
    </configuration>

    Obviamente el envío de la Expect: 100-continue en el encabezado de la solicitud provoca el «505: HTTP Versión no compatible» error de ser lanzado.

    Cómo evitar

    OriginalEl autor Chris Voon

  2. 1

    Mientras tanto tengo mi respuesta en el Bing foro de desarrolladores. Parece como si Microsoft es una especie de utilizar diferentes semántica de los códigos de respuesta HTTP que la mayoría y un 505 también puede significar «Algo está mal con su solicitud SOAP». Resulta que yo no uso correcto de los espacios de nombres. Después de la fijación de ellos, la solicitud fue a través de bien.

    Aquí es el enlace al hilo en Bing foro.

    Buen trabajo, pensando que uno.

    OriginalEl autor moxn

Dejar respuesta

Please enter your comment!
Please enter your name here