WSIF - 既知の制約事項

WSIF 使用時に適用される既知の制約事項には、スレッド化、SOAP ヘッダーと参照されない添付ファイル、およびデータ型マッピングに関する制約事項が含まれます。

スレッド化
WSIF はスレッド・セーフではありません。
外部規格
WSIF は以下をサポートしています。
  • SOAP バージョン 1.1 (1.2 以降はサポート対象外)
  • WSDL バージョン 1.1 (1.2 以降はサポート対象外)
WSIF は、WS-I に準拠していないため、Java™ API for XML-based Remote Procedure Calls (JAX-RPC) バージョン 1.1 (またはそれ以降) はサポートしていません。
完全なスキーマ解析
WSIF は、完全なスキーマ解析はサポートしていません。例えば、 スキーマ内の複合タイプの Web サービス記述言語 (WSDL) 参照は処理されず、属性も処理されません。
XML スキーマの「再定義」エレメントの処理は行われず、無視されます。
SOAP
WSIF は、以下はサポートしていません。
  • <parts> として渡される SOAP ヘッダー。
  • SOAP 応答内の参照されない添付ファイル、またはSOAP 添付ファイル - サポートされていないシナリオで詳細が示されているシナリオ。
  • Document Encoded スタイルの SOAP メッセージ。
    注: これは、 本来 WSIF の制約事項ではありません。WSDL で Document Encoded スタイルを指定することはできますが、 一般に、それは有効なオプションとは見なされず、Web Services Interoperability Organization (WS-I) ではサポートされていません。
SOAP プロバイダーのインターオペラビリティー
現在の WSIF のデフォルト SOAP プロバイダー (IBM® Web サービス SOAP プロバイダー) では、以前の (Apache SOAP) プロバイダー上で実行されているサービスと完全には相互運用できません。 これは、IBM Web サービス SOAP プロバイダーが JAX-RPC 準拠の Web サービスと完全に相互運用できるように設計されているのに対し、Apache SOAP はそのようなサービスを提供できないことが原因です。この制約事項の対処方法について詳しくは、WSIF SOAP プロバイダー: 既存アプリケーションの処理を参照してください。
SOAP 障害の WSIF サポートは、IBM Web Service SOAP プロバイダーを使用する Web サービスが原因の SOAP 障害に制限されます。
注: これは、 本来 WSIF の制約事項ではありません。現在の SOAP 障害仕様では、Java 例外にマッピングする、SOAP 障害のエンコード方法については言及してません。 したがって、現在、各 Web サービスのランタイム環境では、独自の SOAP 障害フォーマットが選択されています。IBM Web Service SOAP プロバイダーは、それ自身の応答 SOAP 障害を認識できますが、他のプロバイダーからの SOAP 障害は理解することができません。
データ型マッピング
現在の WSIF のデフォルト SOAP プロバイダー (IBM Web Service SOAP プロバイダー) は、 以前の (Apache SOAP) プロバイダーの作成後にファイナライズされた JAX-RPC 型マッピング規則に準拠しています。大多数のデータ型は、どちらのプロバイダーでも同じようにマップされます。 例外は、xsd:datexsd:dateTimexsd:hexBinary および xsd:QName です。この 4 つのデータ型のいずれかを使用する場合は、 クライアントとサービスの両方が同じマッピング規則を使用する必要があります。 以下の表に、これらの 4 つのデータ型のマッピング規則の詳細を示します。
表 1. Apache SOAP および JAX-RPC により異なる方法でマップされる 4 つのデータ型のマッピング規則.

列 1 は XML データ型、列 2 は Apache SOAP でそれに相当するデータ型、列 3 は JAX-RPC でそれに相当するデータ型を示します。

XML データ型 Apache SOAP Java マッピング JAX-RPC Java マッピング
xsd:date java.util.Date 非サポート
xsd:dateTime 非サポート java.util.Calendar
xsd:hexBinary 16 進数ストリング byte [ ]
xsd:QName org.apache.soap.util.xml.QName javax.xml.namespace.QName
配列と複素数タイプ
WSIF は、一般的な複素数タイプはサポートしていません。 Java Bean にマップする複素数タイプのみを処理します。スキーマ複素数タイプを使用するには、 独自のカスタム・シリアライザーを作成する必要があります。 Web サービスの WSIF アウトバウンド呼び出しに特有の複素数タイプおよび配列は、次のとおりです。
  • WSIF は、WebSphere® Studio Application Developer - Integration Edition (WSAD-IE) メッセージ・ジェネレーターが生成した Java クラスをサポートします (WSDL ファイルを別の場所からダウンロードした通常の場合)。WSAD-IE ベースの生成は、BPEL エディター、 「Enterprise Services」コンテキスト・メニューで選択可能な生成アクション、 または Business Integration ツールバーを使用して、自動的に行われます。
  • WSIF は、他のツール (基本 WSAD ツールなど) で生成された Java Bean はサポートしません。
  • WSAD-IE で生成された Java Bean の場合、WSDL で定義された属性は機能しません。 つまり、これらの属性は、複素数タイプを示すために生成された Java Bean には表示されますが、 WSIF が生成する SOAP 要求では表示されません。
  • WSIF は、配列が Java Bean のフィールドである場合は、配列をサポートしません。つまり、 WSIF は、<part> という名前で渡される配列のみをサポートします。 配列が Java Bean 内部でラップされる場合、 その配列は同じ方法ではシリアライズされません。
オブジェクト・シリアライゼーション
WSIF は、異なるリリース間でのオブジェクトのシリアライゼーションはサポートしていません。
非同期呼び出し
WSIF は、すべてのプロバイダーに対する同期呼び出しをサポートしています。 JMS プロバイダーおよび SOAP over JMS プロバイダーの場合には、WSIF は非同期呼び出しもサポートしています。 非同期操作を実行する場合は、その前に、 supportsAsync() メソッドを呼び出す必要があります。
EJB プロバイダー
WSIF EJB プロバイダーのターゲット・サービスは、リモート・ホーム・インターフェースでなければなりません。 EJB ローカル・ホーム・インターフェースは使用できません。さらに、 EJB スタブ・クラスがクライアント・クラスパス上で使用できなければなりません。
WebSphere Application Server 外部での実行
WSIF は、WebSphere Application Server 外部での使用ではサポートされていません。

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



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