php - 将涉及同名重复元素的数据发送到 SOAP API

标签 php xml soap

我有这个 XML 结构:

<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'
        ],
    ],
];

关于php - 将涉及同名重复元素的数据发送到 SOAP API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37765861/

相关文章:

java - 使用 JAXB 将 XML 解析为 java 变量(bean)

xml - 强制执行注册表值引用的最低 DLL 版本

grails - 如何通过像 Fiddler 这样的代理使用 intellij/grails 和 wslite soap 客户端来查看消息?

php - 有没有人成功使用 PHP 从亚马逊卖家中心下载订单?

java - 制作网络服务,采用哪种方法?

php - 找不到任何要加载的固定装置服务

php - 显示用户详细信息及其在 laravel 中的平均评分

java - 在 Android TextView 中对齐文本和图标

php - sort() 在 foreach 循环内不影响原始数组

PHP:读取字体文件的 TrueType/OpenType 元数据