我们的网络团队昨晚改变了我们的公共IP,现在我的WCF不再可以通过我的PHP代码访问了。我通过A名称而不是通过IP呼叫wcf。
我已经使用C#测试控制台(网络内外)进行了测试,并且在那里仍然可以正常工作。所以我在想,可能是php服务器(在Rackspace上托管)缓存了旧的IP?
此代码以前在php代码中运行良好。一旦返回,我就调用web方法。
return new SoapClient("http://x.y.com:8082/z.svc?wsdl", array('cache_wsdl' => WSDL_CACHE_NONE));
从Web方法返回的错误是: 页面无法加载SOAP-ERROR:解析WSDL:无法从“http://x.y.com:8082/z.svc?wsdl”加载:无法加载外部实体“http://x.y.com:8082/z.svc?wsdl”
编辑:设置不是我的问题。如果我明确说明IP地址,而不是A记录,我能够访问。似乎是PHP代码所在的Rackspace服务器的缓存问题。