3

这个问题已经被问过很多次了,但还没有一个令人信服的答案。我正在尝试生成如下所示的 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 对象属性?

2:带有属性的SOAP请求

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

4

0 回答 0