PHP SoapClient - 用不同的主机替换soap:地址

时间:2014-05-24 17:02:11

标签: php web-services soap replace wsdl

我正在使用PHP SoapClient直接在Magento中使用WSDL:

new SoapClient('https://localhost/api/soap/?wsdl');

我将以下网址作为soap:地址: https://myserver.myname.com/api/soap/index/?SID=123456abcdcefgh

是否可以从SoapClient获取soap:地址值?没有__getLocation方法。

我需要用localhost替换soap地址中的主机。但是为了替换它,我需要以某种方式从SoapClient获取位置。

您能否提供有关如何处理此问题的提示?感谢。

1 个答案:

答案 0 :(得分:0)

我不太确定你要做什么,但也许你可以选择覆盖方法__doRequest。它可能看起来像:

class MyServiceClient extend SoapClient
{
    public function __doRequest($request, $location, $action, $version, $one_way = 0) {
        $newLocation = 'https://myserver.myname.com/api/soap/index/?SID=123456abcdcefgh';
        return parent::__doRequest($request, $newLocation, $action, $version, $one_way);
    }
}

查看文档:{​​{3}}