我有这个 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/