0
在PHP中使用SoapClient時,遇到了一個問題,我一直無法找到解決方案。PHP SoapClient無法使用代理訪問webservice
我使用WSDL文件的本地副本,我使用這個設置:
$this->client = new \SoapClient(__DIR__ . '/../../some.wsdl',
array(
'proxy_host' => $ip,
'proxy_port' => $port,
'trace' => 1,
'exceptions' => true,
'cache_wsdl' => WSDL_CACHE_NONE
)
);
這給了錯誤:「禁止」時調用:
$this->client->__call($method, $params)
我已經打過電話__getFunctions()
$this->client->__getFunctions()
,讓我在WSDL文件中的所有功能的列表。
我錯過了什麼嗎?
我嘗試這樣做的代碼,它給出: 對象(SoapClient的)#1(5){[ 「_proxy_host」] =>串(13)「192。 int(80)[「trace」] => int(1)[「_soap_version」] => int(1)[「sdl」] =>資源(4)xxx.xxx.x「[」_proxy_port「] => int (未知)} – Liza
因此,在try {}部分添加__call方法,並參見消息 – Fky
'array(2){[「error」] => object(SoapFault)#2(9){[「message」:protected ] => string(9)「Forbidden」[「string」:「Exception」:private] => string(0)「」[「code」:protected] => int(0)[「file」:protected] = > string(35)「/home/xxx/www/file.php」[「line」:protected] => int(18)[「trace」:「Exce (10)「SoapClient」=「array」(2){[0] => array(4){[「function」] => string(11)「__doRequest」[「class」] = [「type」] => string(2)「 - >」[「args」] => array(5){[0] => string(276)「93048」[1] => string(57)「http ://url/proxy/file.asmx「' – Liza