如何将复杂类型参数传递给Web Service

时间:2017-05-16 15:25:30

标签: php xml web-services soap

我的Web服务提供者为WSDL提供了以下部分。

<s:element minOccurs="0" maxOccurs="1" name="dtAcData">
<s:complexType>
<s:sequence>
<s:any minOccurs="0" maxOccurs="unbounded" namespace="http://www.w3.org/2001/XMLSchema" processContents="lax" />
<s:any minOccurs="1" namespace="urn:schemas-microsoft-com:xml-diffgram-v1" processContents="lax" />
</s:sequence>
</s:complexType>
</s:element>

我尝试使用以下代码调用该服务。

$dtAcData = array('Name Test');
$param = array(
                'strApp'          =>  'TEST',
                'strCode'   =>  '82',
                'strDelim'      =>  '^',
                'strDate'           =>  $tranDate,
                'strTime'           =>  $tranTime,
                'strNetID'          =>  'test',
                'intRefNum'         =>  $txn_referance_number,
                'intSTNUM'           =>  $intStan,
                'strTranMsg'        =>  '0200',
                'strMerName'        =>  '10.0.01.10',
                'strMCC'            =>  '1111',
                'strToken'          =>  $tranToken,              
                'strIDNum'          =>  '1234598798637',
                'dtAcData'         =>  $dtAcData,
                'R1'                =>  '',
                'R2'                =>  '',
                'R3'                =>  '',
                'R4'                =>  ''
                );

$result = $client->__soapCall("strAcData", $param);

我试图从提供商那里获得预期的XML。我的服务提供商表示他们不知道他们的服务所期望的XML格式。我用dtAcData尝试了关联数组。 $ dtAcData = array(&#34; Name&#34; =&gt;&#39; Name Test&#39;);

但仍然服务返回&#34;系统故障&#34;。

服务提供商说我的请求不包含所有数据。

0 个答案:

没有答案