Hal*_*top 6 php soap wsdl web-services
我有一个问题,我正在尝试使用标准的PHP SoapClient访问SoapServer上的方法.问题是SoapServer上的方法列出了两次,名称相同,但操作不同.
例如:SOAP UI显示GetStockQuote和GetStockQuote两次列出,但第二个GetStockQuote实际上将调用GetStockQuoteV2.
但是我的PHP SoapClient,如果我调用$ client-> GetStockQuote,它会自动调用第一个.根据我的研究,我必须做这样的事情.
$client->__soapCall('GetStockQuote', array($request), array('soapaction'=>'GetStockQuoteV2'));
Run Code Online (Sandbox Code Playgroud)
但是当我处于wsdl模式时,它仍然调用GetStockQuote而不是GetStockQuoteV2.
我的结论是,我必须以非wsdl模式运行并处理其中的烦恼.当处于非wsdl模式时,上面的__soapCall似乎正在调用正确的方法,但由于我处于非wsdl模式,我认为构建服务器所需的相应AuthHeader存在问题.
我的问题是,我可以在PHP SoapClient wsdl模式下重新映射soap操作吗?
这是一个丑陋的解决方法,但正如我们在这里看到的那样——另一边有丑陋的 Soap 服务。
另一个解决方案。您可以扩展 SoapClient,并在方法 A 内部实际调用远程方法 B。