如何在PHP中为SoapClient请求向数组添加属性
嗨,我对使用Soap很陌生,但是一切都很顺利,我已经使用PHP Soap客户端编写了一个脚本,除了一个有属性的标记之外,一切都很好,我可以在调用服务之前找到一种方法,在$params列表中传递它 我正在这样构建参数:-(例外) 但是,我需要XML是:-如何在PHP中为SoapClient请求向数组添加属性,php,arrays,soap,soap-client,Php,Arrays,Soap,Soap Client,嗨,我对使用Soap很陌生,但是一切都很顺利,我已经使用PHP Soap客户端编写了一个脚本,除了一个有属性的标记之外,一切都很好,我可以在调用服务之前找到一种方法,在$params列表中传递它 我正在这样构建参数:-(例外) 但是,我需要XML是:- <Goods Type="EGoods"> <Description>Test</Description> <Quantity>
<Goods Type="EGoods">
<Description>Test</Description>
<Quantity>1</Quantity>
</Goods>
试验
1.
注意商品标签上的type=“EGoods”,如何在php中修改我的数组来说明这个属性
当我按原样提交soap请求时,我得到一个错误,即商品不能为null或空
感谢您的帮助。在仔细阅读手册之后,我找到了一个有效的解决方案:) 产生
<Goods Type="EGoods">
<Description>Test</Description>
<Quantity>1</Quantity>
</Goods>
试验
1.
这里找到了解决方案
我必须稍微修改它才能工作,如果您将我的数组结构与原始数组结构进行比较,您就会看到我必须进行哪些更改
Paul你就不能这样做:
'Goods Type=“EGoods”=>数组(
@Daan不,我在尝试这种方法时遇到了找不到的错误,并且输出的xml中缺少所有的商品
'Goods' => array('_' => '', 'Type'=>'EGoods',
'Description' => '$Description', 'Quantity' => '$qty');
<Goods Type="EGoods">
<Description>Test</Description>
<Quantity>1</Quantity>
</Goods>
$var = new MessageHeaderSoapStruct;
$var->From = 'foo';
$var->To = 'bar';
$var->version = 1;
$namespace = 'http://xxx'; # Namespace of MessageHeader WSDL element
$MessageHeader = new SoapVar($var, SOAP_ENC_OBJECT, 'MessageHeader', $namespace);