WebSphere Message Broker バージョン 8.0.0.5 オペレーティング・システム: AIX、HP-Itanium、Linux、Solaris、Windows、z/OS

製品の最新バージョンについては、IBM Integration Bus バージョン 9.0 をご覧ください。

WSDL の妥当性検査

WS-I バリデーターを使用して、WSDL 定義を Basic Profile と突き合わせて検査することができます。

WS-I Basic Profile について詳しくは、WS-I 提供の資料、特に WS-I Basic Profile に関する資料を参照してください。

WS-I バリデーターを使用して、Basic Profile に照らし合わせて WSDL 定義を検査することができます。WS-I Basic Profile Version 1.1を参照してください。

以下のいずれかの方法で、バリデーターを実行することができます。
プロファイルの準拠レベルを設定して、バリデーターの動作を制御できます。
  1. 「設定」 > 「Web サービス」を選択します。
  2. 「サービス・ポリシー (Service Policies)」をクリックし、「プロファイルの準拠 (Profile Compliance)」を展開します。
  3. 以下のプロファイルのいずれかを選択します。
    • WS-I AP への準拠レベル (WS-I Attachments Profile 1.0)
    • WS-I SSBP への準拠レベル (WS-I Simple SOAP Binding Profile 1.0)
  4. 準拠レベルを選択します。
    • バリデーターの実行時に、エラーをリカバリー不能として扱い、警告は通知のみにするには、「準拠の提案 (Suggest compliance)」を選択します。 これはデフォルト設定です。
    • バリデーターの実行時に、エラーと警告をリカバリー不能として扱うには、「準拠必須 (Require compliance)」を選択します。
    • バリデーターを実行しない場合は、「準拠を無視 (Ignore compliance)」を選択します。

AP の選択は SSBP フィールドに対して自動的に適用されるので、AP 選択を「無視」に設定しないかぎり、「無視」を明示的に選択することはできません。

以下の用語は、WSDL 定義の 3 種類の広義のカテゴリーを指します。
前述の用語を使用する際の、典型的な妥当性検査に関する問題を以下に示します。
WSDL が rpc-encoded になっています。
use="encoded" を指定された WSDL は、WS-I 準拠ではないので、操作上の問題につながる可能性があります。なぜなら、ベンダー製品が異なれば、SOAP の見込みペイロードに関する想定も異なるからです。

WS-I: (BP2406) soapbind:bodysoapbind:faultsoapbind:header、および soapbind:headerfault の使用属性は、「literal」の値を持っていません。

この WSDL は document-literal ですが、1 つ以上の WSDL パーツ定義が XML スキーマ・タイプを参照しています。
document-literal WSDL では、SOAP 本体のペイロードは、該当する WSDL パーツによって参照される XML スキーマ・エレメントです。

エレメントではなくタイプを指定すると、SOAP ペイロードはあいまいになる (ペイロード名が未定義になる) 可能性があり、インターオペラビリティーの問題が生じる可能性があります。

WS-I: (BP2012) document-literal バインディング中で、エレメント属性を持たないメッセージ・パーツ・エレメントを参照する soapbind:body エレメントが使用されています。

この WSDL は rpc-literal または rpc-encoded ですが、1 つ以上の WSDL パーツ定義が XML スキーマ・エレメントを参照しています。
rpc スタイルの WSDL では、SOAP 本体のペイロードは WSDL 操作名になり、その子は、その操作で指定される WSDL パーツになります。

タイプではなくエレメントを指定すると、SOAP メッセージのペイロードはあいまいになる (ペイロード名が、WSDL パーツ名または XML スキーマ・エレメント名になる) 可能性があり、インターオペラビリティーの問題が生じる可能性があります。

WS-I: (BP2013) rpc-literal バインディング中で、タイプ属性を持たないメッセージ・パーツ・エレメントを参照する soapbind:body エレメントが使用されています。

この WSDL には、XML スキーマ・タイプを参照する SOAP ヘッダー、headerfault または fault の定義が入っています。
rpc スタイルの WSDL では、SOAP 本体は、上記の説明どおりに XML スキーマ・タイプを介して正しく定義されています。

ただし、SOAP ヘッダーおよび障害は、本体と同じやり方で rpc 関数呼び出しに対応していません。

特に、ヘッダーまたは障害に対する「パラメーター」の概念がありません。あいまいになる可能性を排除するには、常に XML スキーマ・エレメントという観点に立ってヘッダーまたは障害を定義する必要があります。 実際、WSDL では、ヘッダーおよび障害の定義は常に document-literal です。

WS-I: (BP2113) soapbind:headersoapbind:headerfault、または soapbind:fault エレメントは、"element" 属性のみを使用して定義されたのではない wsd:part エレメントを参照しています。

この WSDL は rpc-literal または rpc-encoded ですが、操作用のネーム・スペースが指定されていません。
rpc スタイルの WSDL では、SOAP メッセージのペイロードは、WSDL バインディングの一環として指定されるネーム・スペースで修飾された WSDL 操作名になります。

ネーム・スペースを指定しないと、SOAP メッセージのペイロードはあいまいになる (ペイロード名が、ネーム・スペース内に存在しなくなるか、または、WSDL 定義のターゲット・ネーム・スペースなどの別のネーム・スペースがデフォルトの場合に使用される) 可能性があり、インターオペラビリティーの問題が生じる可能性があります。

WS-I: (BP2020) rpc-literal バインディング中で、ネーム・スペース属性を持っていないか、または絶対値ではないネーム・スペース属性値を持った soapbind:body エレメントが使用されています。

WSDL に SOAP/JMS バインディングが含まれています。
WSDL で SOAP/JMS トランスポート URI を使用する記述方法は、WS-I に準拠していません。 厳密な WS-I 検証が有効になっていると、エラーが表示されます。 厳密な WS-I 検証を無効にするには、 「ウィンドウ」 > 「設定」 > 「ブローカー開発」 > 「メッセージ・セット」 > 「妥当性検査」をクリックして、 「WS-I BP 1.1: SOAP/JMS をトランスポート URI として許可」を選択します。 デフォルトでは、厳密な WS-I 検証は無効になっています。
以下のアクションを実行すると、Web サービスのインターオペラビリティーが向上します。
特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        最終更新:
        
        最終更新: 2015-02-28 17:45:51


概念トピック概念トピック | バージョン 8.0.0.5 | ac34750_