将参数添加到php中的soap调用

时间:2018-09-12 11:09:22

标签: php xml soap

我对肥皂呼叫还很陌生,但是我可以使用数组一个简单的方法。

$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"));

但是我也不确定那是对的!

0 个答案:

没有答案