PHP如何调用wsdl,需要什么样的类,谁能给个详细的代码?谢谢
系统易学易懂,用户只需会上网、不需学习编程及任何语言,只要使用该系统平台,只要会打字,即可在线直接完成建站所有工作。本程序适合不懂php环境配置的新手用来在本机调试智能SiteSEO网站优化软件,安装过程极其简单。您的网站地址:http://localhost您的网站后台:登录地址: http://localhost/admin.php密 码: admin服务器套件所包含的软件:nginx-0.7
回复讨论(解决方案)
要看你的需求咯
$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:\wamp\apps\demo\ws.php on line 25
错误










