如下程序执行:
$client = new SoapClient('http://10.132.97.29:9091/ma-online/OnlineService?wsdl');
$v = array('requestTime'=> time(), 'sourceId'=>'0609', 'version'=>'10');//头的参数也是放在数组中
$headers = new SoapHeader('http://online.service.api.ws.ma.sdo.com/', 'IMaOnlineWS',$v);//第一个参数是命名空间,第二个参数是SoapHeader头的类名,第三个是SoapHeader参数的数组可以写成array('sourceId'=>$sourceId,。)
$client->__setSoapHeaders(array($headers));//添加soapheader
$params=array( 'MerchantId' => '245888','MemberId' => '' );
$we = $client->__call('getMerchantInfo', $params );
dump($we);报错信息如下:SoapFault exception: [soap:Server] Fault occurred while processing. in D:\project\test.php:99 Stack trace: #0 D:\project\test.php(99): SoapClient->__call('getMerchantInfo', Array) #1使用了很多方法都报这个错误调用下面的是正常的,可以返回结果:
$c = new SoapClient( 'http://www.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl');
$params=array( 'theCityCode' => 2210 );
$we = $c->__call('getWeather', array( $params ) );
var_dump( $we );求高手协助
$client = new SoapClient('http://10.132.97.29:9091/ma-online/OnlineService?wsdl');
$v = array('requestTime'=> time(), 'sourceId'=>'0609', 'version'=>'10');//头的参数也是放在数组中
$headers = new SoapHeader('http://online.service.api.ws.ma.sdo.com/', 'IMaOnlineWS',$v);//第一个参数是命名空间,第二个参数是SoapHeader头的类名,第三个是SoapHeader参数的数组可以写成array('sourceId'=>$sourceId,。)
$client->__setSoapHeaders(array($headers));//添加soapheader
$params=array( 'MerchantId' => '245888','MemberId' => '' );
$we = $client->__call('getMerchantInfo', $params );
dump($we);报错信息如下:SoapFault exception: [soap:Server] Fault occurred while processing. in D:\project\test.php:99 Stack trace: #0 D:\project\test.php(99): SoapClient->__call('getMerchantInfo', Array) #1使用了很多方法都报这个错误调用下面的是正常的,可以返回结果:
$c = new SoapClient( 'http://www.webxml.com.cn/WebServices/WeatherWS.asmx?wsdl');
$params=array( 'theCityCode' => 2210 );
$we = $c->__call('getWeather', array( $params ) );
var_dump( $we );求高手协助
- <wsdl:definitions name="MaOnlineWSService" targetNamespace="http://impl.ws.ma.sdo.com/" xmlns:ns1="http://online.service.api.ws.ma.sdo.com/" xmlns:ns2="http://schemas.xmlsoap.org/soap/http" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://impl.ws.ma.sdo.com/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<wsdl:import location="http://10.132.97.29:9091/ma-online/OnlineService?wsdl=IMaOnlineWS.wsdl" namespace="http://online.service.api.ws.ma.sdo.com/" />
- <wsdl:binding name="MaOnlineWSServiceSoapBinding" type="ns1:IMaOnlineWS">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
- <wsdl:operation name="checkPayPwd">
<soap:operation soapAction="" style="document" />
- <wsdl:input name="checkPayPwd">
<soap:body use="literal" />
</wsdl:input>
- <wsdl:output name="checkPayPwdResponse">
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
- <wsdl:operation name="getMemberIntegratedInfo">
<soap:operation soapAction="" style="document" />
- <wsdl:input name="getMemberIntegratedInfo">
<soap:body use="literal" />
</wsdl:input>
- <wsdl:output name="getMemberIntegratedInfoResponse">
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
- <wsdl:operation name="getMerchantInfo">
<soap:operation soapAction="" style="document" />
- <wsdl:input name="getMerchantInfo">
<soap:body use="literal" />
</wsdl:input>
- <wsdl:output name="getMerchantInfoResponse">
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
- <wsdl:operation name="getAccount">
<soap:operation soapAction="" style="document" />
- <wsdl:input name="getAccount">
<soap:body use="literal" />
</wsdl:input>
- <wsdl:output name="getAccountResponse">
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
- <wsdl:operation name="getOperatorIntegratedInfo">
<soap:operation soapAction="" style="document" />
- <wsdl:input name="getOperatorIntegratedInfo">
<soap:body use="literal" />
</wsdl:input>
- <wsdl:output name="getOperatorIntegratedInfoResponse">
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
- <wsdl:service name="MaOnlineWSService">
- <wsdl:port binding="tns:MaOnlineWSServiceSoapBinding" name="MaOnlineWSPort">
<soap:address location="http://10.132.97.29:9091/ma-online/OnlineService" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
- <wsdl:definitions name="IMaOnlineWS" targetNamespace="http://online.service.api.ws.ma.sdo.com/" xmlns:ns1="http://online.service.api.ws.ma.sdo.com/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <wsdl:types>
- <xs:schema targetNamespace="http://response.ws.ma.sdo.com" version="1.0" xmlns:ns1="http://online.service.api.ws.ma.sdo.com/" xmlns:tns="http://response.ws.ma.sdo.com" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:import namespace="http://online.service.api.ws.ma.sdo.com/" />
- <xs:complexType name="checkPayPwdResponse">
- <xs:complexContent>
- <xs:extension base="tns:baseResponse">
<xs:sequence />
</xs:extension>
</xs:complexContent>
</xs:complexType>
- <xs:complexType name="baseResponse">
- <xs:sequence>
<xs:element minOccurs="0" name="header" type="ns1:responseHeader" />
</xs:sequence>
</xs:complexType>
- <xs:complexType name="getMerchantInfoResponse">
- <xs:complexContent>
- <xs:extension base="tns:baseResponse">
- <xs:sequence>
- <xs:element name="merchants" nillable="true">
- <xs:complexType>
- <xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="merchants" nillable="true" type="ns1:merchantInfo" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
</xs:schema>
- <xs:schema elementFormDefault="unqualified" targetNamespace="http://online.service.api.ws.ma.sdo.com/" version="1.0" xmlns:ns1="http://response.ws.ma.sdo.com" xmlns:tns="http://online.service.api.ws.ma.sdo.com/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:import namespace="http://response.ws.ma.sdo.com" />
<xs:element name="getMerchantInfo" type="tns:getMerchantInfo" />
<xs:element name="getMerchantInfoResponse" type="tns:getMerchantInfoResponse" />
- <xs:complexType name="getMerchantInfo">
- <xs:sequence>
<xs:element minOccurs="0" name="arg0" type="tns:getMerchantInfoRequest" />
</xs:sequence>
</xs:complexType>
- <xs:complexType name="getMerchantInfoRequest">
- <xs:complexContent>
- <xs:extension base="tns:baseRequest">
- <xs:sequence>
<xs:element minOccurs="0" name="merchantId" type="xs:string" />
<xs:element minOccurs="0" name="memberId" type="xs:string" />
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
- <xs:complexType name="getMerchantInfoResponse">
- <xs:sequence>
<xs:element minOccurs="0" name="return" type="ns1:getMerchantInfoResponse" />
</xs:sequence>
</xs:complexType>
- <xs:complexType name="merchantInfo">
- <xs:sequence>
<xs:element minOccurs="0" name="memberId" type="xs:string" />
<xs:element minOccurs="0" name="merchantId" type="xs:string" />
<xs:element minOccurs="0" name="merchantName" type="xs:string" />
<xs:element maxOccurs="unbounded" minOccurs="0" name="merchantProducts" nillable="true" type="tns:merchantProductInfo" />
<xs:element minOccurs="0" name="merchantStatus" type="xs:long" />
<xs:element minOccurs="0" name="merchantType" type="xs:long" />
<xs:element minOccurs="0" name="ptid" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:schema>
</wsdl:types>
- <wsdl:message name="getMerchantInfoResponse">
<wsdl:part element="ns1:getMerchantInfoResponse" name="parameters" />
</wsdl:message>
- <wsdl:message name="getMerchantInfo">
<wsdl:part element="ns1:getMerchantInfo" name="parameters" />
</wsdl:message>
- <wsdl:portType name="IMaOnlineWS">
- <wsdl:operation name="getMerchantInfo">
<wsdl:input message="ns1:getMerchantInfo" name="getMerchantInfo" />
<wsdl:output message="ns1:getMerchantInfoResponse" name="getMerchantInfoResponse" />
</wsdl:operation>
</wsdl:portType>
</wsdl:definitions>
一个是http://10.132.97.29:9091/ma-online/OnlineService?wsdl=IMaOnlineWS.wsdl
报错信息如下:SoapFault exception: [soap:Server] Fault occurred while processing. in D:\project\test.php:99 Stack trace: #0 D:\project\test.php(99): SoapClient->__call('getMerchantInfo', Array) #1
先查一下test.php第99行出什么错,建议xdebug调试看一下