[英]PHP SoapClient Remap SoapAction in WSDL-mode?
我在嘗試使用標准PHP SoapClient訪問SoapServer上的方法時遇到問題。 問題是SoapServer上的方法用相同的名稱列出了兩次,但是操作不同。
例如:SOAP UI顯示兩次列出的GetStockQuote和GetStockQuote,但是第二個GetStockQuote實際上將調用GetStockQuoteV2。
但是我的PHP SoapClient,如果我調用$ client-> GetStockQuote,它將自動調用第一個。 從我的研究中,我不得不做這樣的事情。
$client->__soapCall('GetStockQuote', array($request), array('soapaction'=>'GetStockQuoteV2'));
但是當我處於wsdl模式時,它仍然調用GetStockQuote而不是GetStockQuoteV2。
我的結論是,我必須在非wsdl模式下運行並應對這種煩惱。 在非wsdl模式下時,上面的__soapCall似乎正在調用正確的方法,但是由於我處於非wsdl模式下,因此我認為構建服務器所需的適當AuthHeader會出現問題。
我的問題是,我可以在PHP SoapClient wsdl-mode中重新映射soap操作嗎?
這是一個丑陋的解決方法,但是正如我們在這里看到的那樣,您在另一端有丑陋的Soap服務。
另一個解決方案。 您可以擴展SoapClient並在方法A內部實際調用遠程方法B。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.