$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的话就可以了,

解决方案 »

  1.   

    wsdl 是给用户看的接口规范
    只要你调用的方法和参数是正确的,有没有 wsdl 都是一样的
      

  2.   

    $wsdl = "http://XXX?wsdl";
    $client = new SoapClient($wsdl);
    var_dump($client->__getFunctions());我调用var_dump($client->__getFunctions())显示下面的
    Array
    (
        [0] => sysNotifyexTodoResponse sysNotifyexTodo(sysNotifyexTodo $parameters)
    )
    我该如何调用这方法。
      

  3.   

    $client->sysNotifyexTodo(参数);如何设定参数还需要
    var_dump($client->__getTypes());
    看一下
      

  4.   

    var_dump($client->__getTypes());
    结果:
    Array
    (
        [0] => struct sysNotifyexTodo {
     string arg0;
    }
        [1] => struct sysNotifyexTodoResponse {
     int return;
    }
    )  
      

  5.   

    那就是
    $n = $client->sysNotifyexTodo(array('arg0' => '参数值'));
      

  6.   


    能帮我看下吗,相关信息如下:
    $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错误