1

私は本当にPHP SOAPクライアントのアイデアがありません。これの主な理由はおそらく、SOAP の仕組みや、PHP の Soap-client の仕組みを完全には理解していないためです。

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>

私の最初の試みは、構造全体を連想配列として配置することでした(これは以前は常に機能していました)が、これらのネストされたものではうまくいかないようです。

次に、SoapVar と SoapParam を使用して次の構造を作成するためにいくつかの異なる方法を試しましたが、ほとんどの場合、それらがどのように機能するかを本当に理解していないように見えるため、本文内に何もない要求だけを取得しています。

PHP、ウィキペディア、および w3schools に関するドキュメントを読みました。概念を理解していないようです。

Soap クライアントが実際にどのように機能するかを説明するリンクや何かを教えてくれる人がいれば、本当に感謝しています。また、コード例も非常に高く評価されます。

4

1 に答える 1

0

私も同じ問題を抱えていて、連想配列形式でデータを渡す方が簡単で、クラスがそれに基づいてxmlを構築するため、nusoapクラスを使い始めました。こちらからダウンロードできます

于 2012-04-18T12:16:13.380 に答える