2012-07-02 9 views
15

Recientemente comencé a usar soapUI 4.5.1 y aún no estoy familiarizado con todas las configuraciones. He configurado algunas solicitudes web y todas menos una están funcionando correctamente. Estoy intentando enviar el contenido del tipo application/xml, pero me estoy haciendo:Longitud del contenido ya presente error soapUI 4.5.1

org.apache.http.client.ClientProtocolException causada por org.apache.http.ProtocolException: cabecera Content-Length ya presente.

La misma solicitud siempre funcionó bien para mí en 4.5.0. El contenido de la solicitud es algo como esto:

POST http://exampleHost.com/exampleRequest HTTP/1.1 
Accept-Encoding: gzip,deflate 
Accept: text/xml 
Content-Type: application/xml 
Content-Length: 456 
Host: exampleHost.com 
Connection: Keep-Alive 
User-Agent: Apache-HttpClient/4.1.1 (java 1.5) 

Seguido por el xml.

Supongo que la longitud del contenido se envía dos veces, pero no sé dónde, porque no lo he configurado en ningún lado. SoapUI muestra Additional HTTP Headers for this message como 0.

¡Cualquier apuntador sería genial!

+6

¡El problema estaba en mi configuración, como pensaba! Al marcar la casilla de verificación "Authenciate Preemptively" en la configuración global de HTTP se resolvió el problema :) – user1088166

+0

Ahora que ha dejado de funcionar nuevamente aunque no cambié nada, funcionó una vez y luego no funcionó otra vez, ¿qué demonios está pasando? – user1088166

+1

(Puedo resolver esto cambiando el 'Tipo de Autorización' a 'Preferencial' en la pestaña 'Aut' de mi solicitud de jabón.) [Http://forum.soapui.org/viewtopic.php?t=14356] –

Respuesta

1

Me encontré con el mismo problema al utilizar un servidor de desarrollo de autenticación que solicitaba credenciales de usuario, pero en realidad aceptaba un espacio en blanco o cualquier otra contraseña. Así que dejé en blanco la contraseña que funcionaba bien en soapUI 4.5.0, pero fallaba en la forma descrita en 4.5.1. Pero descubrí que simplemente poner algo de texto en la contraseña aparece para solucionar el problema.

No sé si esto se relaciona con su caso, pero solo en caso de que sea útil.

+0

Gracias por la respuesta, pero hay texto en la contraseña y todavía el mismo problema :( – user1088166

0

Tuve el mismo problema con Soap UI pro versión 4.5.1.

Finalmente descubrió que el problema estaba en la configuración del proxy.

Resolución:

  1. Agregar el servidor de destino en la lista de exclusión para la configuración de proxy tiene resuelva el problema. Este es el caso incluso si el URL del punto final es un host local .
  2. Preferencias -> Configuración de proxy ---> Excluir
  3. puede especificar los servidores mutliple por valores separados por comas

Investigación/Observación en mi sistema:

  1. Curiosamente la misma Test Suite se ejecuta sin problemas en otro sistema dentro de la misma oficina. Debe ser algo relacionado con la configuración de los sistemas .

  2. Jugar con la configuración Proxy en Opciones de Internet no tiene efecto .

  3. Para mi solicitud, se requiere autenticación Proxy.Pero cuando habilito la configuración de Proxy obtengo la excepción de protocolo Http Client con error de longitud de contenido duplicado.
  4. Podemos encontrar esto desde el registro http una vez que se envía la solicitud ... Pero no tenemos la opción de configurarlo .
  5. Una observación interesante fue que uno de los encabezados de longitud de contenido estaba en solicitud entrante y el otro en Solicitud ... Sin embargo, esto no debería descartar la solicitud.
17

que tiene el error que se vaya (en SoapUI 4.5.1) marcando la bandera de Autenticación de forma preventiva en

Preferencias -> HTTP Configuración -> Autenticación preventivamente

+0

+1 para la solución. –

+0

Esto funcionó para mí también, ¡gracias! –

0

Otra forma de hacer que este error es llamar al servicio web con la contraseña incorrecta (me dijeron que era incorrecto) muchas veces y bloquear su cuenta.

Tan pronto como se restableció la contraseña y se desbloqueó la cuenta "org.apache.http.client.ClientProtocolException causada por org.apache.http.ProtocolException: encabezado Content-Length ya presente", la excepción desapareció y el servicio web llamada funcionó como se esperaba.

Cuestiones relacionadas