0

Web サービスを呼び出すときに奇妙な問題が発生しました。私のスタブは形式 2 のような SOAP メッセージを生成しますが、サーバーは以下の形式 1 のようなものを期待します。軸 1.3 の arrayserialization では、次の形式の意味は何ですか。

以下の arrayItemType はシリアライズされるオブジェクト型で、arrayItemName はそのオブジェクトの名前です。

1)

 <arrayItemName>
  <arrayItemType></arrayItemType>
  <arrayItemType></arrayItemType>
 </arrayItemName>

2)

<arrayItemName>
</arrayItemName>
<arrayItemName>
</arrayItemName>
4

1 に答える 1

1

あなたのWSDLファイルはどのようなスタイルですか?SOAPドキュメントは、WSDLファイルで使用されるスタイルによって異なります。

要素が次のようにラップされているため、最初の形式はラップスタイルです。

<arrayItemName> ... </arrayItemName>

したがって、スタブがフォーマット2のようにSOAPメッセージを生成する場合、rpc/encodedまたはラップされたものを除く他のWSDLスタイルを使用すると思います。したがって、wsdlファイルには常にドキュメント/リテラル​​ラップスタイルを使用することをお勧めします。異なるスタックなどを使用してクライアントを生成するときに問題が発生します。

ここでWSDLスタイルに関する有用な情報を見つけることができます:http ://www.ibm.com/developerworks/webservices/library/ws-whichwsdl/

于 2012-05-19T22:36:33.973 に答える