バス対応 Web サービス: 既知の制約事項

サービス統合バス対応 Web サービスの使用時に適用される、いくつかの既知の制約事項があります。

サービス統合バスを介した SOAP ヘッダーの引き渡し

使用しているサービスの WSDL で、<wsdl:definition> エレメント内に <soap:header> エレメントが含まれている場合、サービス統合バスは SOAP ヘッダーを渡します。これは正しい動作です。ただし、以下のような影響も見られます。
  • サービス統合テクノロジーが生成する WSDL に SOAP ヘッダーが含まれなくなります。
  • "must understand" フラグを SOAP メッセージに設定すると、エラー・メッセージを受け取ります。

添付ファイル付き SOAP のサポートでの制限

サービス統合バスは、旧スタイルの添付ファイル (SOAP with attachments W3C Note に記載されている)、または Web Services-Interoperability (WS-I) Attachments Profile Version 1.0 を使用する添付ファイルを含んだ SOAP メッセージをサポートします。 添付ファイルを別のスタイルに変換する必要がある場合、メディエーション を使用して添付ファイルのエンコード方式間でマッピングを実行することができます。

バス使用可能 Web サービスは、サービスで要求メッセージに添付ファイルがなく、応答メッセージで添付ファイルを戻すオペレーションがある場合には、WebSphere® Application Server がホスティングしている Web サービスを呼び出すことができません。

また、次のシナリオもサポートされていません。
  • DIME の使用。
  • mime:mimeXml WSDL タグの使用。
  • mime:multipartRelatedmime:part へのネスト。
  • DataHandlers、イメージなどの配列またはベクトルの使用。
着信メッセージの MIME ヘッダーは、参照先添付ファイル用には 保存されません。出力メッセージには、Content-TypeContent-Id、および Content-Transfer-Encoding 用の新規 MIME ヘッダーが含まれています。

サービス統合バスを介して大容量の添付ファイルを受け渡すと、Java™ 仮想マシンのメモリー不足エラーが発生します。この問題を解決するには、バス対応 Web サービスの調整 で説明するように JVM のヒープ・サイズを増やしてください。

詳しくは、サービス統合バスを介した SOAP メッセージ (添付ファイル付き) の引き渡しを参照してください。

アウトバウンド・サービスで使用可能になることが保証されていない JAAS サブジェクト・クレデンシャル・トークン

WS-Security を使用時、以下の JAAS サブジェクトのクレデンシャル・セットのコンテンツは、インバウンド・サービス要求の処理で設定されている場合、アウトバウンド・サービスで実行されるコードに対して使用可能になることが保証されません。
  • シリアライズ不可コンテンツ。
  • com.ibm.wsspi.security.token.Token またはそのサブインターフェースのいずれかを実装するすべてのトークン、および forwardability 属性を true に設定しないすべてのトークン。

例えば、インバウンド・ポートに適用する WS-Security 構成およびバインディング内でカスタム TokenConsumer が構成されており、TokenConsumer がトークンを JAAS サブジェクトのプライベート・クレデンシャル内で設定し、そのトークンが com.ibm.wsspi.security.token.Token を実装し、forwardability 属性を false に設定する場合、対応するアウトバウンド・ポートの WS-Security 構成およびバインディング上で構成されたカスタム TokenGenerator は、JAAS サブジェクト内で使用できる当該トークンに依存しません。

形式が不適切な SOAP メッセージの許容

バス対応 Web サービスは、WebSphere Application Server バージョン 5.1 よりも徹底的に Web サービス・メッセージの妥当性を検査します。その結果として、形式が不適切な要求または応答 (メッセージ・パーツの名前が誤っている) を使用し、かつバージョン 5.1 の使用時には正常に動作するいくつかのクライアント・アプリケーションが、後続バージョンでは形式が不適切であると識別されます。

バス対応 Web サービスは、メッセージ・パーツの名前が誤っているメッセージを作成するアプリケーションでも、スキーマの一般形式に一致しているとみなしてサポートします。このサポートにより、以下のようになります。
  • 不適切な形式のメッセージは、バスにより受け入れられます。
  • 不適切な形式のメッセージが、バスにより作成されます。
出力メッセージの場合、入力メッセージの形式が不適切であり、バス対応 Web サービスによりメッセージを再書き込みする必要がない場合にのみ、不適切な形式のメッセージが作成されます。バス対応 Web サービスがメッセージを再書き込みする必要がある場合 (例えば、メッセージがメディエーションにより変更された場合など) は常に、WSDL 文書で定義されたようにパーツの正しい名前を使用して、適切な形式の SOAP メッセージが作成されます。この場合、それぞれ、サービスまたはクライアントが誤った名前の応答メッセージ・パーツ名に依存している場合、パーツ名がアプリケーションの要求する名前に一致するようにクライアントを変更するか、バス対応 Web サービスに関連付けられた WSDL を再構成します。
注: 正しくないパーツ名のみが許容されます。正しくないオペレーション名、 または正しくないパーツ構造体は許容されません。

以前の WS-Security ドラフト仕様に対するサポートの制限

WebSphere Application Server の以前のバージョンの一般 Web サービス・サポートによりサポートされていた WS-Security ドラフト仕様のバージョンは、サービス統合テクノロジーではサポートされません。サービス統合テクノロジーは、「OASIS Web Services Security バージョン 1.0 specification」、「Username token バージョン 1.0 profile」、および「X.509 token バージョン 1.0 profile」のみをサポートします。 これらのサポートされる仕様およびプロファイルの詳細は、OASIS 仕様からサポートされた機能性を参照してください。

WS-Security を使用してサービス統合テクノロジーと対話するすべてのクライアント・アプリケーション およびターゲット・サービスも、これらの仕様のサポートされるレベルに準拠している必要があります。 以前サポートされていた WS-Security ドラフト仕様のバージョンに準拠するクライアント・アプリケーション およびターゲット・サービスは、サービス統合テクノロジーと対話することができません。 これは、WS-Security による SOAP メッセージのワイヤー・フォーマットが OASIS Web Services Security バージョン 1.0 仕様では変更され、仕様の以前のドラフトと互換性がなくなったためです。

JAX-RPC クライアント・アプリケーションを介して再度ターゲットに指定されたサービスが使用する Java タイプに関する制限

JAX-RPC クライアントからバス経由で直接 Web サービス・メッセージを送信して、宛先でサービス統合バスにメッセージを渡す場合、使用可能な Java タイプに関する制限があります。

インターフェースで使用されるタイプを JAX-RPC 仕様でマッピングが定義されているタイプに制限するサービスのみを再度ターゲットとして指定することができます。これにより、WSDL 文書で使用可能な XML スキーマのサブセットへのサポートが制限されます。例えば、インターフェースに SOAPElement にマップする要素がある場合は、バス上で再度ターゲットとして指定することはできません。

WSDL ポートを使用するアウトバウンド・サービスの構成

EJB バインディングを使用する WSDL ポートを使用するようにアウトバウンド・サービスを構成する場合、サービス統合テクノロジーは、Internet Inter-ORB Protocol (RMI-IIOP) により Remote Method Invocation を使用してサービスを呼び出します。ただし、Enterprise Bean に渡されるすべてのクラスが WebSphere Application Server クラス・パスに存在していなければなりません。以下に例を示します。
  • Address タイプのオブジェクトを受け渡す場合、Address オブジェクト内で直列化されたすべてのオブジェクトのクラスは WebSphere Application Server クラス・パス上に存在している必要があります。
  • Enterprise Bean のメソッドのシグニチャーに java.util.List オブジェクトが含まれていて、リストが Address オブジェクトのリストであることが期待されている場合、Address クラスは WebSphere Application Server クラス・パス上に存在している必要があります。

トピックのタイプを示すアイコン 参照トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rjw_restrict
ファイル名:rjw_restrict.html