WSDL文档中address location生成错误问题解决

最近在生成环境遇到一个问题,一个渠道调用我们的webservice服务报错了,错误原因是他们远程方式访问我们的webservice服务,每次需要去读wsdl文档取到访问地址,但是出问题时,他们取到的端口是错误的。

通过排查发现,正常的时候端口端口是30304,错误的时候变成了20140,如下图(已马赛克)
WSDL文档中address location生成错误问题解决_第1张图片

我们这个系统的架构是负载下面挂实例,外围渠道是访问我们的负载主机的,负载主机只做转发,不会修改我们的内容

1,第一次尝试:
问题发生之初,通过排查是否代码,jar包或者主机配置变更造成了问题,通过排查,未发现我们项目近期有过代码变动,配置文件也正确配置了,咨询array负责人,array也未有过代码变更
2,第二次尝试:
通过array和我们两边进行抓包分析,发现array不会改变访问能开的内容,只做一个转发。
3,第三次尝试:
深入分析了webservice的wsdl文档的生产方式,结合我们的实际运行场景,分析出wsdl文档中的地址,来源于第一次请webservice服务时,httprequest中的host文件中的端口,并且会缓存起来,后续再次访问wsdl文档,一直都是这个地址和端口了,所以重启实例后,等array上的请求转发到能开后,再去访问wsdl文档,就会看到端口正常了
WSDL文档中address location生成错误问题解决_第2张图片

你可能感兴趣的:(Webservice)