创建PHP SoapClient请求

时间:2014-01-07 12:39:38

标签: php soap soap-client

我有一个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,因为我不能拥有同名的兄弟项目 - 而且我无法让它与一个项目合作!有什么建议吗?

2 个答案:

答案 0 :(得分:0)

现在我感觉很傻。它是MemberId,但我使用的是MemberID。因为这与规范不符,所以SoapClient完全剥离了它。

我会删除这个问题,但我确定别人会遇到同样的问题。可能是我在6个月内再次。

答案 1 :(得分:0)

这一切都应该有效。

$array =  array();
$array['MemberIds'][0]['MemberId']  =  1;
$array['foo'] =  'bar';

没有返回错误消息?