我有一个关于php和soap调用的问题。我必须调用一个带有两个参数的soap函数:sessionId和Targa首先,我像这样准备我的paramArray:
$targaParam = array(
'sessionId' => $session,
'Targa' => 'EG031NX'
);
有一个错误,所以我读取wsdl:
<s:element name="GetRTCompletoDaTargaMinInfocarList">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="sessionId" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="context" type="tns:RTDaTargaParamContext"/>
</s:sequence>
</s:complexType>
</s:element>
所以我改变了数组:
$targaParam = array(
'sessionId' => $session,
'context' => 'EG031NX'
);
没有错误,但是如果我打印调用的结果,我有一个Object reference not set to an instance of an object.
'context'
元素的类型为RTDaTargaParamContext
,我粘贴代码:
<s:complexType name="RTDaTargaParamContext">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="Targa" type="s:string"/>
</s:sequence>
</s:complexType>
我必须改变传递参数给函数的方式?
解决方案:
$targaParam = array(
'sessionId' => $session,
'context' => array('Targa' => 'EG031NX')
);