将数据发送到SOAP API涉及同名

问题描述:

的重复元素我有这样的XML结构:将数据发送到SOAP API涉及同名

<create_resource_inventory xmlns="urn:toa:activity"> 
    <user> 
     <now></now> 
     <login></login> 
     <company></company> 
     <auth_string></auth_string> 
    </user> 
    <resource_id></resource_id> 
    <properties> 
     <name></name> 
     <value></value> 
    </properties> 
</create_resource_inventory> 

我想要的属性标签重复多次。

我已经尝试了以下格式发送

$body = array( 
    "user" => array (
     "now" => $now, 
     "login" => $login, 
     "company" => $company, 
     "auth_string" => $auth_string 
    ), 
    "resource_id" => $params[$i][0], 
    // "new_array" => array(
    "properties" => array(
     "name" => "invtype", 
     "value" => $params[$i][1] 
    ), 
    "properties" => array(
     "name" => "item_number", 
     "value" => $params[$i][2] 
    ), 
    "properties" => array(
     "name" => "quantity", 
     // "value" => "10" 
     "value" => $params[$i][3] 
    ), 
    "properties" => array(
     "name" => "billable", 
     "value" => $params[$i][4] 
    ) 

,但只有一个特性的值被插入不是其他

参数当我与属性发送请求值使用SOAP UI的值是多次插入一个请求中,但在使用php脚本执行时不起作用。

看了堆栈溢出上的各种问题却没人回答这种情况。

感谢

要覆盖properties键:

$a = [ 
    'properties' => [ 
     'name' => 'invtype', 
     'value' => 'foo' 
    ], 
    'properties' => [ 
     'name' => 'item_number', 
     'value' => 'foo' 
    ], 
]; 

这将只留下最后一个条目。

充分利用properties键数组的值:

$a = [ 
    'properties' => [ 
     [ 
      'name' => 'invtype', 
      'value' => 'foo' 
     ], 
     [ 
      'name' => 'item_number', 
      'value' => 'foo' 
     ], 
    ], 
]; 
+0

的代码现在的工作。谢谢你的帮助! – ghrocx255