php如何连接wsdl,PHP如何调用wsdl
PHP如何調用wsdl,需要什么樣的類,誰能給個詳細的代碼?謝謝
回復討論(解決方案)
要看你的需求咯
$wsdl = “http://192.168.1.2/jaxws/services/test?wsdl”;
$client = new SoapClient($wsdl);
$param = array(‘arg0’=>’arg0′,’arg1’=>’arg1’);
$ret = $client->getUserinfoByID($param);
if ($ret->return){ print_r($ret->return);}
else{ echo ‘no user’;}
具體SoapClient需要php的soap支持,看phpinfo里有soap的話就可以了,
我也是這樣調用的,但還是報錯
wsdl 是給用戶看的接口規范
只要你調用的方法和參數是正確的,有沒有 wsdl 都是一樣的
我也是這樣調用的,但還是報錯
報什么錯?
$wsdl = “http://XXX?wsdl”;
$client = new SoapClient($wsdl);
var_dump($client->__getFunctions());
我調用var_dump($client->__getFunctions())顯示下面的
Array
(
[0] => sysNotifyexTodoResponse sysNotifyexTodo(sysNotifyexTodo $parameters)
)
我該如何調用這方法。
$client->sysNotifyexTodo(參數);
如何設定參數還需要
var_dump($client->__getTypes());
看一下
var_dump($client->__getTypes());
結果:
Array
(
[0] => struct sysNotifyexTodo {
string arg0;
}
[1] => struct sysNotifyexTodoResponse {
int return;
}
)
那就是
$n = $client->sysNotifyexTodo(array(‘arg0’ => ‘參數值’));
非常感謝版主,問題已經解決了
請問版主,下一步我該如何接受返回的數據了?
wsdl 是給用戶看的接口規范
只要你調用的方法和參數是正確的,有沒有 wsdl 都是一樣的
能幫我看下嗎,相關信息如下:
$client->__getFunctions()內容如下:
Array ( [0] => ossRequestResponse ossRequest(ossRequest $parameters) )
$client->__getTypes();內容如下:
Array ( [0] => struct ossRequest { WsRequestParam in0; } [1] => struct WsRequestParam { string encryptInfo; string extendInfo; string requestContent; int requestNo; int requestSystemNo; int versionNo; } [2] => struct ossRequestResponse { string ossRequestReturn; } )
代碼如下:
$client = new SoapClient($wsdl);
$acctInfo = array(
‘in0’=>array(
‘encryptInfo’=>”,
‘extendInfo’=>”,
‘requestNo’=>’001’,
‘requestSystemNo’=>’006’,
‘versionNo’=>’1’,
‘requestContent’=>'’
)
);
$tmp = $client->ossRequest($acctInfo);
為什么請求到不了接口那邊呢,報:Fatal error: Maximum execution time of 30 seconds exceeded in C:wampappsdemows.php on line 25
錯誤
總結
以上是生活随笔為你收集整理的php如何连接wsdl,PHP如何调用wsdl的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php glod,基于PHP的黄金价格示
- 下一篇: prod和probor在matlab,基