バス対応 Web サービス: 既知の制約事項
サービス統合バス対応 Web サービスの使用時に適用される、いくつかの既知の制約事項があります。
セキュリティーの制限
サービス統合バスを介した 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:multipartRelated の mime:part へのネスト。
- DataHandlers、イメージなどの配列またはベクトルの使用。
サービス統合バスを介して大容量の添付ファイルを受け渡すと、Java™ 仮想マシンのメモリー不足エラーが発生します。この問題を解決するには、バス対応 Web サービスの調整 で説明するように JVM のヒープ・サイズを増やしてください。
詳しくは、サービス統合バスを介した SOAP メッセージ (添付ファイル付き) の引き渡しを参照してください。
アウトバウンド・サービスで使用可能になることが保証されていない 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 の使用時には正常に動作するいくつかのクライアント・アプリケーションが、後続バージョンでは形式が不適切であると識別されます。
- 不適切な形式のメッセージは、バスにより受け入れられます。
- 不適切な形式のメッセージが、バスにより作成されます。
以前の 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 ポートを使用するアウトバウンド・サービスの構成
- Address タイプのオブジェクトを受け渡す場合、Address オブジェクト内で直列化されたすべてのオブジェクトのクラスは WebSphere Application Server クラス・パス上に存在している必要があります。
- Enterprise Bean のメソッドのシグニチャーに java.util.List オブジェクトが含まれていて、リストが Address オブジェクトのリストであることが期待されている場合、Address クラスは WebSphere Application Server クラス・パス上に存在している必要があります。