我在互联网上搜索了将 xsi:type="xsd:boolean"添加到特定元素的方法,但没有成功。我正在使用 PHP 的soap,你能帮助我吗?
$paramsBody = array("Parametros" => array('Parametro' => array("Name" => 'Todos', 'Value' => new SOAPVar('false', XSD_ANYTYPE, null, null, null, 'http://microsoft.com/webservices/'))));
$this->client->$function($paramsBody);
XML 输出:
<env:Body>
<ns1:Export>
<ns1:Parametros>
<ns1:Parametro>
<ns1:Name>Todos</ns1:Name>
<ns1:Value>false</ns1:Value>
</ns1:Parametro>
</ns1:Parametros>
</ns1:Export>
</env:Body>
应该如何...
<env:Body>
<ns1:Export>
<ns1:Parametros>
<ns1:Parametro>
<ns1:Name>Todos</ns1:Name>
<ns1:Value xsi:type="xsd:boolean">false</ns1:Value>
</ns1:Parametro>
</ns1:Parametros>
</ns1:Export>
</env:Body>
最佳答案
我找到了 SoapVar 对象的解决方案!
array("Parametros" => array('Parametro' => array("Name" => 'Todos', "Value" => new SoapVar('true', XSD_STRING, 'xsd:boolean'))))
关于PHP SOAP 将元素发送为 xsi :type ="xsd:boolean",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25790000/