使用PHP SoapClient,尝试从http://localhost 到http://mysite.com

使用PHP SoapClient,尝试从http://localhost 到http://mysite.com,php,wcf,soap,wsdl,soap-client,Php,Wcf,Soap,Wsdl,Soap Client,我正在尝试使用PHPs SoapClient从WCF使用WSDL。当使用以下代码时 $client = new SoapClient('http://subdomain.xxxxxxx.com:7575/?WSDL'); 我得到以下错误: Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://localhost:7575/?wsdl=w

我正在尝试使用PHPs SoapClient从WCF使用WSDL。当使用以下代码时

$client = new SoapClient('http://subdomain.xxxxxxx.com:7575/?WSDL');
我得到以下错误:

Fatal error: Uncaught SoapFault exception: [WSDL] SOAP-ERROR: Parsing WSDL: Couldn't load     from 'http://localhost:7575/?wsdl=wsdl0' : failed to load external entity "http://localhost:7575/?wsdl=wsdl0"
对于WSDL的服务配置文件,WSDL正在使用的特定端口指定:

    <host>
      <baseAddresses>
        <add baseAddress="net.tcp://localhost:7574" />
        <add baseAddress="http://localhost:7575" />
      </baseAddresses>
    </host>


问题是WSDL正在重定向到
http://localhost:7575
对于wsdl=wsdl0文件。。。然后,所有XSD位置也将列出
http://localhost:7575....
是否有PHP Soap函数可用于将其更改为
http://subdomain.xxxxxxx.com:7575/?wsdl=wsdl0

如果您可以控制WCF服务,那么将其配置为生成“扁平化”WSDL可能会更容易。这说明了如何将其配置为单个WSDL文档

如果这是不可能的,可能是您可以让他们(或者可能由您本地)手动构建一个WSDL文档,并让他们在其站点上托管它,以便您的PHP客户端可以按原样使用它