PHP如何调用wsdl

lzz0098 2012-11-30 08:34:55
PHP如何调用wsdl,需要什么样的类,谁能给个详细的代码?谢谢
...全文
459 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
老王视界 2014-03-10
  • 打赏
  • 举报
回复
引用 4 楼 xuzuning 的回复:
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'=>'<![CDATA[<oss-request><QryType>I</QryType><QryId>400506105998</QryId></oss-request>]]>' ) ); $tmp = $client->ossRequest($acctInfo); 为什么请求到不了接口那边呢,报:Fatal error: Maximum execution time of 30 seconds exceeded in C:\wamp\apps\demo\ws.php on line 25 错误
  • 打赏
  • 举报
回复
请问版主,下一步我该如何接受返回的数据了?
lzz0098 2012-12-04
  • 打赏
  • 举报
回复
非常感谢版主,问题已经解决了
xuzuning 2012-12-03
  • 打赏
  • 举报
回复
那就是 $n = $client->sysNotifyexTodo(array('arg0' => '参数值'));
lzz0098 2012-12-03
  • 打赏
  • 举报
回复
var_dump($client->__getTypes()); 结果: Array ( [0] => struct sysNotifyexTodo { string arg0; } [1] => struct sysNotifyexTodoResponse { int return; } )
xuzuning 2012-12-03
  • 打赏
  • 举报
回复
$client->sysNotifyexTodo(参数); 如何设定参数还需要 var_dump($client->__getTypes()); 看一下
lzz0098 2012-12-03
  • 打赏
  • 举报
回复
$wsdl = "http://XXX?wsdl"; $client = new SoapClient($wsdl); var_dump($client->__getFunctions()); 我调用var_dump($client->__getFunctions())显示下面的 Array ( [0] => sysNotifyexTodoResponse sysNotifyexTodo(sysNotifyexTodo $parameters) ) 我该如何调用这方法。
cRazy谢不清 2012-12-03
  • 打赏
  • 举报
回复
引用 3 楼 lzz0098 的回复:
我也是这样调用的,但还是报错
报什么错?
xuzuning 2012-12-03
  • 打赏
  • 举报
回复
wsdl 是给用户看的接口规范 只要你调用的方法和参数是正确的,有没有 wsdl 都是一样的
lzz0098 2012-12-03
  • 打赏
  • 举报
回复
我也是这样调用的,但还是报错
chanya 2012-11-30
  • 打赏
  • 举报
回复
$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的话就可以了,
码无边 2012-11-30
  • 打赏
  • 举报
回复
要看你的需求咯

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧