PHP 带有自定义端口的 Soap 客户端

PHP Soap client with custom port

我请求托管在端口不是 80 的域上的 wsdl。

http://example.com:5555/test.asmx?wsdl

但他们没有在 <port> 元素中指定端口

<wsdl:port name="ECommerceServiceSoap" binding="tns:ECommerceServiceSoap">
    <soap:address location="http://example.com/test.asmx" />
</wsdl:port>

所以我可以下载 wsdl,但是来自它的所有调用都会得到 404 响应,因为 PHP soapclient 没有调用正确的 url(没有端口)。

我有什么解决方案?

找到解决方案:

我 downloaded/copied 将 wsdl 添加到本地文件,添加端口并将 soapclient 指向它。现在一切正常。

<wsdl:port name="ECommerceServiceSoap" binding="tns:ECommerceServiceSoap">
    <soap:address location="http://example.com:5555/test.asmx" />
</wsdl:port>