php关于请求webservice的问题。请求地址是:http://b2b.ourgame.com/DDService.asmx
如何使用PHP的soap类(nusoap-0.7.3)获取到SaleResponse的结果,我试过用正常的PHP的soap方法去调用这个请求,但是返回的是错误信息。错误信息如下:array (
  "faultcode" => "soap:Client",
  "faultstring" => "Unexpected wrapper element Sale found.Expected {http://service.web.b2b.lianzhong.com/}Sale."
)请问如何解决?

解决方案 »

  1.   

    解答之余,麻烦把原因告之一下。为什么正常的soap请求会出现异常?这个异常表示是啥意思?百度了好久。一直没找到答案。有的人说不要在请求地址上加?WSDL这个就行了。可是我试过了还是出现异常。
      

  2.   

    由于不知道所需参数的含义,所以只能这样了$url = 'http://b2b.ourgame.com/DDService.asmx?wsdl';
    $soapClient = new soapclient($url);/* 读取可用的方法和所需的数据结构 */
    print_r( $soapClient->__getFunctions ()); 
    print_r($soapClient->__getTypes () ); $rs = $soapClient->Sale();
    print_r($rs);提供的方法
    Array
    (
        [0] => SaleResponse Sale(Sale $parameters)
    )
    所需参数及类型(使用时将他们组织成关联数组)
    Array
    (
        [0] => struct Sale {
     int arg0;
     string arg1;
     string arg2;
     string arg3;
     int arg4;
     int arg5;
     string arg6;
     string arg7;
    }
        [1] => struct SaleResponse {
     int return;
    }
    )
    返回的结果
    stdClass Object
    (
        [return] => 200
    )
      

  3.   

    服务器上没有开启SoapClient 这个功能的。在网上找的soapclient的类nusoap-0.7.3 怎么办呢?
      

  4.   

    Fatal error: Class 'SoapClient' not found in htdocs/test/index.php on line 7.
      

  5.   

    没用过 nusoap
    应该差不多吧
      

  6.   

    嗯,你按你之前的方法,你获取到结果了吗? 能把源文件发我吗?我的邮箱是: [email protected] 谢谢了。成分感谢
      

  7.   

    有人知道怎么做吗?有人遇到过这种异常么?是不是这个asmx页面的问题》?
      

  8.   


    ini_set("soap.wsdl_cache_enabled",0);
    try{
    $client = new SoapClient("http://b2b.ourgame.com/DDService.asmx",array("exceptions" => 1));

    var_dump($client->Sale(array("arg0"=>1,"arg1"=>"123","arg2"=>"456","arg3"=>"789","arg4"=>4,"arg5"=>5,"arg6"=>"111","arg7"=>"222")));
    }catch(Exception $ex){
    var_dump($ex->faultstring);
    }服务没有问题啊
      

  9.   

    自己解决了,升级了一下nusoap版本