我最近开始使用soapUI 4.5.1,但我仍然不熟悉所有设置。我已经设置了一些Web请求,除了一个以外的所有请求都正常工作。我正在尝试发送application / xml类型的内容,但我得到了:
由org.apache.http.ProtocolException引起的org.apache.http.client.ClientProtocolException:Content-Length标头已经存在。
同样的请求在4.5.0中对我来说总是很好。请求的内容是这样的:
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)
接下来是xml。
我认为内容长度发送两次,但我不知道在哪里,因为我没有把它设置在任何地方。 SoapUI将Additional HTTP Headers for this message
显示为0
。
任何指针都会很棒!
答案 0 :(得分:17)
通过检查
中的Authenticate Preemptively标志,我得到了错误消失(在SoapUI 4.5.1中)偏好设置 - > HTTP设置 - >抢先认证
答案 1 :(得分:5)
我与SmartBear支持联系,这个问题似乎已在最新的夜间版本中得到修复@ http://soapui.org/Downloads/soapui-pro-nightly-builds.html。
答案 2 :(得分:1)
我在使用请求用户凭据但实际接受空白或任何其他密码的身份验证开发服务器时遇到了同样的问题。所以我把密码留空了,这在soapUI 4.5.0中工作得很好,但是你在4.5.1中描述的方式失败了。但我发现只需在密码中加入一些文字即可解决问题。
不知道这是否与您的案件有关,但以防它有用。
答案 3 :(得分:0)
我在Soap UI专业版4.5.1中遇到了同样的问题。
最后发现问题出在代理设置上。
解决:强>
对我的系统进行研究/观察:
奇怪的是,同一个测试套件在其他系统上运行没有问题 在同一个办公室。必须与系统的方式有关 配置。
在Internet选项中使用代理设置没有 效果。
答案 4 :(得分:0)
导致此错误的另一种方法是使用错误的密码(我被告知错误的诚实)多次调用Web服务并锁定您的帐户。
一旦密码被重置并且帐户解锁了“org.apache.http.ProtocolException引起的org.apache.http.client.ClientProtocolException:Content-Length标头已经存在”异常消失并且Web服务调用按预期工作。