前几天开始研究soap编程,简单例子已经写出来了,本机也验证通过了。然后想直与第三方web service通信,结果提示
SOAP 1.1 fault SOAP-ENV:Server[no subcode]
"由于目标计算机积极拒绝,无法连接。
"
Detail: connect failed in tcp_connect()
以为是因为安全问题被拒绝了,就研究了一下openssl,结果并不是这样。
然后研究了一下网络问题,
命令:netstat -ano查看了一下,ip和端口是127.0.0.1:18083,同时还有其他ip,0.0.0.0、本机ip。
网上查了一下相关信息,0.0.0.0 不能ping通,代表本机所有的IP地址
基于127.0.0.1创建的Socket,用本机ip建立tcp连接不成功,反之亦然;也就是,监听时采用的地址为192.168.0.1,就只能用192.168.0.1进行连接
基于0.0.0.0创建的Socket,无论使用127.0.0.1或本机ip都可以建立tcp连接,也就是不论使用127.0.0.1还是192.168.0.1都能进行连接
编码是基于0.0.0.0建立tcp连接的时候可以通过绑定IP_ADDR_ANY来实现。
所以该webservice只能本机访问。这就恶心了,明明是webservice,却只能本地访问。