上面发错了
 $client = new SoapClient($this->serviceUrl);错误:SOAP-ERROR: Parsing WSDL: Couldn't load from 'http://172.16.33.26/purchase/Service1.asmx?wsdl' : failed to load external entity "http://172.16.33.26/purchase/Service1.asmx?wsdl"

解决方案 »

  1.   

    方法
    Array
    (
        [0] => InvoiceResponse Invoice(Invoice $parameters)
        [1] => InvoiceResponse Invoice(Invoice $parameters)
    )
    数据结构
    Array
    (
        [0] => struct Invoice {
     string kprqq;
     string kprqz;
     string SAPNUMBER;
    }
        [1] => struct InvoiceResponse {
     string InvoiceResult;
    }
    )有什么问题请直说
      

  2.   

    可能是你的 WSDL 有 BOM 头或开始处有空行引起的我解析你的 WSDL 时就发现开始处有空行,还以为是复制的问题呢
      

  3.   

    PHP调用webservice就是按照接口类型和需要传递的参数组装好后使用soap协议发送过去后会返回对应的结果给你,然后接收后做处理即可。
      

  4.   

    $client = new SoapClient($Url); 不能使用这种方法调用
      

  5.   

    如果使用 soap 扩展
    $client = new SoapClient("http://172.16.33.26/purchase/Service1.asmx?wsdl");如果使用 nusoap 类库
    $client = new Soap_Client("http://172.16.33.26/purchase/Service1.asmx?wsdl");关键是你要把 WSDL 文件搞正确了