我对肥皂呼叫还很陌生,但是我可以使用数组一个简单的方法。
$xml_array['searchName'] = "websvc";
$xml_Parray['name'] = "Cust Code";
$xml_Parray['value'] = "338877";
// $Parray['searchParameter xsi:type="met:StringParameter"']=$xml_Parray; //errors
$Parray['searchParameter']=$xml_Parray;
$client = new WSSoapClient($wsdl, array('trace' => 1, 'exceptions' => 0));
$client->__setUsernameToken($UserName, $Password);
$client->__setLocation('http://127.0.0.1:80/demo/search');
$xml_array['searchParameters'] = $Parray;
$response = $client->__soapCall("getDocuments", array($xml_array));
这给我...
<searchName>websvc</searchName>
<searchParameters>
<searchParameter>
<name>Cust Code</name>
<value>338877</value>
</searchParameter>
</searchParameters>
但是我现在需要添加其他文本
xsi:type =“ met:StringParameter”
<searchName>websvc</searchName>
<searchParameters>
<searchParameter xsi:type="met:StringParameter">
<name>Cust Code</name>
<value>338877</value>
</searchParameter>
</searchParameters>
我只是尝试
$Parray['searchParameter xsi:type="met:StringParameter"']=$xml_Parray;
但得到答复
致命错误:SOAP错误:编码:对象没有'searchParameter'属性
任何人都可以帮忙吗?
更新。我发现我想做的就是添加属性!
所以我已经尝试过了
array("searchParameter" => array("_" => "$xml_Parray", "xsi:type"=>"met:StringParameter"));
但是我也不确定那是对的!