我有一个SOAP服务,期望这样的请求:
<soap:body>
...
<request>
<MemberIds>
<MemberId>string</MemberId>
<MemberId>string</MemberId>
</MemberIds>
<foo>string</foo>
</request>
...
</soap:body>
Foo
工作正常但我在填充MemberIds部分时遇到问题。
无论我做什么,请求中都不包含MemberId
属性。我试过了:
array(
'MemberIds' => '1',
'foo' => 'bar'
)
array(
'MemberIds' => array('1'),
'foo' => 'bar'
)
array(
'MemberIds' => array('MemberId' => '1'),
'foo' => 'bar'
)
...所有这些都填充foo
但不填充MemberIds
。我目前只尝试一次使用一个MemberId,但是我无法看到如何使用多个名为MemberId
来构造它而无需手动创建XML,因为我不能拥有同名的兄弟项目 - 而且我无法让它与一个项目合作!有什么建议吗?
答案 0 :(得分:0)
现在我感觉很傻。它是MemberId,但我使用的是MemberID。因为这与规范不符,所以SoapClient完全剥离了它。
我会删除这个问题,但我确定别人会遇到同样的问题。可能是我在6个月内再次。
答案 1 :(得分:0)
这一切都应该有效。
$array = array();
$array['MemberIds'][0]['MemberId'] = 1;
$array['foo'] = 'bar';
没有返回错误消息?