使用SOAP来生成PHP

问题描述:

XML属性,我发现你可以在SOAP在PHP中生成的:使用SOAP来生成PHP

<foo bar="blah">12345</foo> 

有了这个:

array("foo" => array("_" => 12345, "bar" => "blah")); 

然而,下划线方法似乎并不时向工作该值不是数字和字符串,而是嵌入式xml代码。你会如何做到这一点?

<foo bar="blah"> 
    <aaa a="b">blah</aaa> 
</foo> 

这是这个人的问题的延伸: http://www.bigresource.com/Tracker/Track-php-uQwDoUib/

我没有测试的快捷方式,但也许这会工作:

$a = array(
    'foo' => array(
     'bar' => 'blah', 
     'aaa' => array(
      '_' => 'blah', 
      'a' => "b", 
     ), 
    ), 
); 
+0

是的,这工作! – Jonah 2010-01-23 07:39:43

你怎么可以添加作为函数的节点的属性;

$update = $soap->UpdateMember($pRecord); 

$update = $soap->__soapCall('UpdateMember', array($Updates)); 

我需要添加namescape或XMLNS这里归因于实际的函数名。我得到以下;

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.sample.net/"> 
<SOAP-ENV:Body> 
<ns1:UpdateMember> 
MORE XML HERE 
</ns1:UpdateMember> 
</SOAP-ENV:Body> 
</SOAP-ENV:Envelope> 

,但我需要

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://www.sample.net/"> 
<SOAP-ENV:Body> 
<ns1:UpdateMember xmlns="http://www.sample.net/"> 
MORE XML HERE 
</ns1:UpdateMember> 
</SOAP-ENV:Body> 
</SOAP-ENV:Envelope> 

需要有NS1:UpdateMember的xmlns:NS1 = “http://www.sample.net/” 或类似的东西。

+0

嗨。你解决了这个问题吗?我正在解决这个问题,如果你有任何想法可以帮助我。谢谢! – jmunozco 2017-02-21 15:32:01

+0

也许,但说实话,我什至不记得我有那个代码。 – Perspective 2017-02-24 21:00:33