系统架构:
服务器A--服务器B--服务器C
1.如上除服务器A与C网络不相通外,其他服务器两两网络连通
2.服务器A为客户端,服务器B实现Webservice请求的转发,服务器C为实际服务的提供者
根据suds模块使用时遇到的情况,赶紧其实现机制为
1.客户端A根据配置的url(例:http://132.1.201.21:8090/yfmyws/services/CreditCardService?wsdl,该url为服务器B提供的服务),获取wsdl描述符
2.检索wsdl描述符中配置的url,尝试连接。若不能连接,则客户端请求失败。
wsdl描述符如下(ie访问http://132.1.201.21:8090/yfmyws/services/CreditCardService?wsdl获得):
图中1即为服务器C的实际服务地址,对于客户端A来说与其不连通,故在尝试进行10.61.1.49 connect时异常,通讯失败。
问题解决:
1.suds模块创建客户端连接对象时代码为: