2

SOAPリクエストを送信するPHPファイルがあります

$client = new SoapClient('http://xyz');
$client->call('example', array('param1'=>'value2')

SoapUIを使用してこれと同じリクエストを実行したい:

<soapenv:Envelope [..]>
   <soapenv:Header/>
   <soapenv:Body>
      <urn:call soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
         <param1 xsi:type="xsd:string">example</param1>
         <param2 xsi:type="xsd:anyType">
            ??
         </param2>
      </urn:call>
   </soapenv:Body>
</soapenv:Envelope>

上記の例をXMLでエンコードするにはどうすればよいですか?

4

3 に答える 3

1

それはそのようなものでなければなりません:

<soapenv:Envelope [..]>
   <soapenv:Header/>
   <soapenv:Body>
      <urn:call soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
         <param1 xsi:type="xsd:string">example</param1>
         <param2 xsi:type="xsd:anyType">
            <param1 xsi:type="xsd:string">value2</param1>
         </param2>
      </urn:call>
   </soapenv:Body>
</soapenv:Envelope>
于 2012-08-07T17:17:39.950 に答える
0

配列を使用json_encode()して、文字列表現として送信します。

于 2012-08-07T17:15:31.627 に答える
0

この場合、優れたPHPSOAPクライアント関数があります。$client->__getLastRequest()

これは、リクエストが次のように作成されていることを示しています。

<param2 xsi:type="ns2:Map">
    <item xsi:type="ns2:Map">
        <key xsi:type="xsd:string">param1</key>
        <value xsi:type="xsd:string">param2</value>
    </item>
</param2>
于 2012-08-07T19:05:22.223 に答える