2017-02-07 9 views
2

石鹸リクエストを作成しようとしていて、soap xmlをPHP配列に変換する必要があります。私は適切に配列に属性を設定する方法を見つけることができない位置に立ち往生しています。私は石鹸には非常に新しいですし、良い説明が歓迎されます。これまで私が行ってきたことがあります。Soap XMLをPHP配列に変換する

私は

XSIを除いて結構ですマイ配列

<arg0> 
    <ns2:coverType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:type="ns2:FamilyCoverType"> 
     <ns2:abc>1978-04-03</ns2:abc> 
     <ns2:def>1980-04-03</ns2:def> 
     <ns2:pqr>2016-04-10</ns2:pqr> 
     <ns2:xyz>2016-05-03</ns2:xyz> 
    </ns2:coverType> 
</arg0> 

$data = array(
     'arg0' => array(
      'coverType' => array(
       'abc' => $abc, 
       'def' => $def, 
       'pqr' => $pqr, 
       'xyz' => $xyz, 
      ) 
     ) 
    ); 

すべてを作成したいもの:タイプ=:

"NS2 FamilyCoverType"どうやって 私は配列内の上記の属性を設定できますか? Plsのヘルプ。

+0

質問に追加できるWSDL URLがありますか? –

+0

@KrisPeeling大変申し訳ございません。機密情報なので共有できません。 –

+0

確認するには、XMLをPHP配列に変換する方法を尋ねていますか?またはXMLへの配列? –

答えて

1

あなたのリクエストをどのように構造化するのか不思議ではないので、PackageGeneratorのようなWSDLをPHPジェネレータに使用することを強くお勧めします。生成されたPHP SDKでEclipse PDTやその他のIDEを使用している場合は、数秒でリクエストを送信します。さらに、PHPオブジェクトは、SDK内でPHPクラスとして生成されているので、PHPオブジェクトを知っているので、レスポンスを非常に簡単に処理できます。

+0

ありがとうございました。私はそれに取り組んでいきます。 –

0

2つの忙しい週の後、私は最終的に解決策に出た。だから誰かが時間を節約できるようにここに私の答えを掲示している。

我々は、簡単にこのようなものの上に

$param = new \SoapVar(' 
      <arg0> 
       <ns2:coverType xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:FamilyCoverType"> 
        <ns2:abc>' . $data['abc'] . '</ns2:abc> 
        <ns2:def>' . $data['def'] . '</ns2:def> 
        <ns2:pqr>' . $data['pqr'] . '</ns2:pqr> 
        <ns2:xyz>' . $data['xyz'] . '</ns2:xyz> 
       </ns2:coverType> 
      </arg0>', XSD_ANYXML); 

を行うことができますその後、我々は、限りそれはそうと、

XSD_ANYXMLを

$response = $client->your_calling_function($param); 

をこのような応答を得ることができます

が鍵です。

まだ誰かがそれに問題がある場合は、私は本当に助けてうれしいです。助けを求めることを躊躇しないでください。

関連する問題