3

私はWebサービスに不慣れで、「Java WebServicesUpandRunning」という本を読んでいます。どういうわけか、私はこれが初心者にとって少し混乱していると思います。54ページで、矛盾したステートメントを作成します。

最初にそれは言います

アンラップされたスタイルでは、パラメーターはベアで発生します。つまり、SOAP本体のラップされていないXMLサブ要素のシーケンスとして。ラップされたスタイルでは、パラメーターは、サービス操作の名前を持つXML要素のラップされたXMLサブ要素として発生します

そしてそれは言う。

驚くべきことは、基礎となるSOAPメッセージの構造(要求と応答の両方)が変更されないままであることです。たとえば、簡略化されたクライアントAmazonClientUからの要求メッセージは、複雑なクライアントAmazonClientWからの要求メッセージと構造が同じです。

サンプルプログラムを書いてみたところ、ラップスタイルとベアスタイルのSOAPメッセージの違いがはっきりとわかりました。ベアスタイルには、SOAP本体に操作名が含まれていません。

誰かが明確にしてください。前もって感謝します..

4

3 に答える 3

1

Wrapped および Bare スタイルの Web サービスでさらにテストを行ったところ、これが見つかりました。

書籍に記載されている例では、SOAP メッセージはどちらの場合も次のようになります。

<soapenv:Body>
  <ns1:ItemSearch>
    <ns1:AWSAccessKeyId>...</ns1:AWSAccessKeyId>
    <ns1:Request>
      <ns1:Keywords>quantum gravity</ns1:Keywords>
      <ns1:SearchIndex>Books</ns1:SearchIndex>
    </ns1:Request>
  </ns1:ItemSearch>
</soapenv:Body>

Wrapped the スタイルでは、SOAP:BODY に続く XML 要素が操作名です。

BARE スタイルでは、SOAP:BODY に続く XML 要素はオペレーション名ではなく、リクエスト パラメータ名です。(たまたま操作名と同じです。)

于 2013-01-01T08:06:07.777 に答える
0

これは、Wrapped または Bare スタイルでパラメーターの処理が異なりますが、実際のリクエストとレスポンスの内容は変わらないという意味だと解釈しています。そのため、クライアントからサーバーに渡される XML は、サーバーが XML をラップ スタイルで処理するかベア スタイルで処理するかに関係なく、同じになります。

于 2013-01-01T07:51:43.683 に答える