这个问题已经被问过很多次了,但还没有一个令人信服的答案。我正在尝试生成如下所示的 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似乎不起作用。这个问题似乎做了很多回合:
但目前还没有具体的答案。有谁知道完成这项工作的正确方法?