无法在PHP soapvar上设置属性

时间:2013-07-30 16:52:57

标签: php soap-client

这个问题已被多次提出,但目前还没有令人信服的答案。我正在尝试生成如下所示的xml:

<parameters>
   <createUser version='3.0'>
      <name>Batman</name>
   </createUser>
</parameters>

我的代码是:

$createUser = new \stdClass();
$createUser->version = '3.0';
$createUser->name = 'Batman';
$parameters->createUser = new \SoapVar($createUser, SOAP_ENC_OBJECT);
$soapRequest = new \SoapVar($parameters,SOAP_ENC_OBJECT, 
    NULL, $typeNamespace, 'createUser');

$response = $soapClient->__soapCall('submit', 
    array('parameters' => $soapRequest));

当然,我得到的回应是:

<parameters>
   <createUser>
      <version>3.0</version>
      <name>Batman</name>
   </createUser>
</parameters>

我不知道为什么Soapvar没有提供指定属性的方法。这个帖子How to add attributes to soapVars给出的答案似乎不起作用。问题似乎在做了很多轮:

1:PHP SoapVar Object Attribute?

2:SOAP request with attribute

但还没有具体的答案。有谁知道完成这项工作的正确方法?

0 个答案:

没有答案