虽然有答案,但似乎都没有。如何在PHP SoapClient中设置节点属性?目前我有:
array("BinaryImage" => array("_" => $imgarr, "xsi:type" => "base64Binary")
($ imgarr)是base64编码的图像文件。
但是当我使用它时,它会返回
<ns1:binaryimage>QXJyYXk=</ns1:binaryimage>
使用$ client-&gt; __ getLastRequest();所以数据显然是错误的。
我也收到此通知:
Notice: Array to string conversion in /var/www/vhosts/propertylogic.net/httpdocs/soap_feed/property24/add_property.php on line 303
但是如果我只是发送:
array("BinaryImage" => $imgarr)
SOAPClient正确接收数据,然后给我一个“缓冲区”错误。
任何帮助都将不胜感激。
答案 0 :(得分:0)
基本上,WSDL将它定义为baseEncode,所以我试图a),baseEncode两次和b)baseEncode尝试定义属性时的数组。如果WSDL定义它是base64Binary字段,只需传递原始数据,它将为您完成所有工作。希望这有助于其他人。