2012-04-18 165 views
1

我真的没有用PHP SOAP客户端的想法。主要原因可能是我没有完全理解SOAP和SOAP Soap如何工作。PHP SOAP如何创建嵌套请求

我需要从Soap客户端获取嵌套元素(我希望这是正确的术语)。

这里是我尝试创建

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempuri.org/" xmlns:hor="http://Horizon.ExternalServices" xmlns:hor1="http://Horizon.ExternalServices.AFS"> 
    <soapenv:Header/> 
    <soapenv:Body> 
     <tem:SomeFunction> 
     <tem:foobar> 
      <hor:Foo>lorem</hor:Foo> 
      <hor:Bar>ipsum</hor:Bar> 
     </tem:foobar> 
     <tem:bazbar> 
      <hor1:Foo>lorem</hor1:Foo> 
      <hor1:Bar>ipsum</hor1:Bar> 
      <!--Optional:--> 
     </tem:bazbar> 
     </tem:SomeFunction> 
    </soapenv:Body> 
</soapenv:Envelope> 

我第一次尝试只是把整个结构的产生密切相关阵列(即始终工作之前)的例子,但这些嵌套thingis这似乎是一个没有走。

然后我尝试了几种不同的方法来创建SoapVar和SoapParam的以下结构,但是因为我似乎并没有理解他们大部分时间是如何工作的,我只是在没有任何东西的情况下接收请求。

我读过关于PHP,wikipedia和w3schools的文档。我似乎没有理解这个概念。

我真的很appriciate如果有人可以给我链接或任何解释如何肥皂客户端实际工作。此外,代码示例会非常流行。

+0

这通常只是起作用。发布你的代码,这样就可以清楚你做错了什么。 – hakre 2012-05-13 16:18:41

回答

0

即使我有同样的问题,然后开始使用nusoap类,因为它更容易传递关联数组格式的数据,并且类基于它构建xml。你可以从here下载

+0

我知道nuSOAP库。 Unfortunatellu使用外部库(至少那些停止发展的库)现在不是一种选择。但谢谢你的提示。 – sarte 2012-04-18 12:29:20