为公司编写了一个webservice,本地测试时候是没有问题的,发布到现场之后,访问出现异常,通过切换soapUI版本解决。
本地运行时候的环境如下:
windows10中文,tomcat6,soapUI5.3.0,soapUI1.7.6,java1.6+java1.8
远程环境如下:
windows10英文,tomcat6,soapUI1.7.6,java1.6
由于本地和远程属于不同的网络,远程通过向日葵壳域名进行内网穿透,进行访问测试,后期正式版本需要自行搭建穿透环境。
在本地测试本地地址运行时候,只要数据参数正确,总是能够得到对应的请求结果,当然,先前测试时候使用的是soapUI5.3.0。
在远程测试时候,因为远程环境是1.6的java,所以在官网下载的一个soapUI1.7.6的版本,在远端测试当地地址是成功的。可以正常接收数据。
通过穿透到外网之后,在远端测试公网地址,依旧可以正常的接收数据。
通过穿透到外网之后,在本地测试公网地址,webservice连接可以正常打开,但是通过soapUI5.3.0,发送数据出现如下错误:
The target server failed to respond
原本以为是因为墙的存在,以及数据返回的过多,导致的超时,没有太在意。
不过,实际测试时候,在国外访问依旧不能正常得到结果,出现各种异常,包括有正常返回的,很真的凌乱了。
但是只是国外那边只是邮件说出现错误,不说具体操作流程,解决真的不好处理,只能先本地测试正常吧。
基本上只是分析问题有各种解决方案,但是都没效果。不过看到一个帖子说老版本可以访问, 但是新版本异常,于是用老版本的soapUI测试,算是成功了,然后就先把这个当作解决方案处理了,毕竟测试接口只是需要能够测试就行。
解决方法,更换测试工具。有soapUI5.3.0转换为soapUI1.7.6。
其他方法(未成功):
Method 1 发送请求时候添加:"Connection":"close"
Method 2 File→HTTP Settings→Expect-Continue: Adds Expect-Continue header to outgoing request
线上问题分析:The target server failed to respon
SoapUI 5.0.0: org.apache.http.NoHttpResponseException: The target server failed to respond
20190318 解决问题
20190319 完成文章