如题,一直出现错误:
wsdl error: phpType is struct, but value is not an array: see debug output for details 但是我用同样的代码调用其他一个地址的webservice都没有问题。请问是什么原因?

解决方案 »

  1.   

    你最好附上代码,和webservice地址了
      

  2.   

    请问要如何定义类型,我是这样写的,换个webservice地址程序正常。
    require_once("nusoap/lib/nusoap.php");
    $client = new soapclient('http://219.136.249.178/sms/webservice/sms2.asmx?wsdl',true);$parameters=array('userid','pwd','短信测试','13900009999','0');
    $str=$client->call('SendSms',$parameters);if (!$err=$client->getError()) {
        echo " 程序返回 :",htmlentities($str,ENT_QUOTES);
    } else { 
        echo " 错误 :",htmlentities($err,ENT_QUOTES);
    }
      

  3.   

    朋友,试试这,你用php的soap吧,本地开启soap扩展$url ="http://219.136.249.178/sms/webservice/sms2.asmx?wsdl";
    $client = new  SoapClient($url);
    $result = $client->SendSms(array('userid','pwd','短信测试','13900009999','0'); 
    );
    print_r($result);
      

  4.   

    .net 的 webservice 的调用方法可跟php的webservice调用方法不一样咯
    $proxy = $client->getProxy();
    $result = $proxy->SendSms($params);
      

  5.   

    原因:wsdl文件不标准
    解决:nowsdl的方式调用OK
          传递的参数需要加上namespace