PHP SoapClient-节点属性

PHP SoapClient-节点属性,php,arrays,soap,encoding,base64,Php,Arrays,Soap,Encoding,Base64,尽管有答案,但似乎没有一个有效。如何在PHP SoapClient中设置节点属性?目前我有: array("BinaryImage" => array("_" => $imgarr, "xsi:type" => "base64Binary") $imgarr是一个base64编码的图像文件 但是,当我使用它时,它会返回 <ns1:binaryimage>QXJyYXk=</ns1:binaryimage> 但是,如果我只是发送为: array("Bi

尽管有答案,但似乎没有一个有效。如何在PHP SoapClient中设置节点属性?目前我有:

array("BinaryImage" => array("_" => $imgarr, "xsi:type" => "base64Binary")
$imgarr是一个base64编码的图像文件

但是,当我使用它时,它会返回

<ns1:binaryimage>QXJyYXk=</ns1:binaryimage>
但是,如果我只是发送为:

array("BinaryImage" => $imgarr)
SOAPClient正确地接收数据,但随后给我一个缓冲区错误


任何帮助都将不胜感激。

基本上,WSDL将其定义为baseEncode,因此我在尝试定义属性时尝试a、baseEncode两次和b baseEncode一个数组。如果WSDL定义它是base64Binary字段,只需传递原始数据,它就可以为您完成所有工作。希望这能帮助其他人

array("BinaryImage" => $imgarr)