この複合プロパティー @xml は、Web (SOAP) サービスのランタイム・アクセスに影響するデータを含みます。このプロパティーは、サービス・パーツおよびインターフェース・パーツで使用でき、サービス・パーツおよびインターフェース・パーツ内の関数で使用できます。
@xml プロパティーは、以下の場合に有用です。
- WSDL ファイルを作成するときに、その WSDL ファイルの受信者に組織の命名規則
が公開されないようにする場合。
- WSDL ファイルからインターフェース・パーツを作成するときに、提供されている
以外の EGL パッケージ名を使用する場合。このプロパティーは、WSDL ファイルからコピーされた
名前が EGL では無効である場合にも有用です。
@xml プロパティーには、以下のプロパティー・フィールドが含まれています。それらの詳細はこのトピックで後述します。
- name
- 1 対の名前をマップするストリングです。
- EGL のサービス・パーツまたはインターフェース・パーツに関しては、この対は、EGL のサービス・パーツまたはインターフェース・パーツの名前と、WSDL 文書内の対応する portType 要素の名前になります。
- EGL 関数については、この対は、EGL 関数の名前と、WSDL 文書内の対応する operation 要素の名前になります。
- namespace
- 1 対の名前をマップするストリングです。
- EGL のサービス・パーツまたはインターフェース・パーツに関しては、この対は、EGL パッケージの名前と、WSDL 文書内のターゲット名前空間の名前になります。
- EGL 関数については、namespace プロパティーは無視されます。
次に詳しく説明します。
- EGL サービス・パーツから WSDL ファイルを作成する場合 (Web サービスを
生成する場合にも行われる)、デフォルトの振る舞いは次のようになります。
- portType 要素には、EGL サービスの名前が付けられます。
- WSDL ファイルのターゲット名前空間には、EGL パッケージの名前を逆順にし、接頭部 http:// を加えた名前が付けられます。
例えば、パッケージ名が com.ibm.egl.mypkg の場合、WSDL ファイル内のターゲット名前空間は http://mypkg.egl.ibm.com になります。
@xml プロパティーを追加して、portType 要素の名前 (name プロパティー・フィールドを使用) または WSDL 文書のターゲット名前空間 (namespace プロパティー・フィールドを使用)、あるいはその両方を指定できます。
EGL Web サービスの WSDL で生成される「エンドポイント」は、デフォルトの http://localhost:9081 になります。ご使用のマシンで使用中のサーバー・ポートに合わせて WSDL ファイルを手動で変更しなければならないことがあります。
使用中のサーバー・ポートの詳細については、サーバーの資料を参照してください。
- EGL ツールが WSDL 文書からインターフェース・パーツを作成するときの
デフォルトの振る舞いは次のようになります。
使用されている名前が、EGL では無効である場合があります。その場合、EGL ツールは有効な名前を作成し、@xml プロパティーを使用して、WSDL 文書内の名前を識別します。このプロパティーにより、
名前が不一致であってもサービス呼び出しが成功するようになります。
EGL ツールが
インターフェース・パーツとパッケージに割り当てた名前は変更することができます。
EGL サービスまたはインターフェース・パーツの関数は、WSDL の portType 要素に埋め込まれている operation 要素を表します。
この場合、ワークベンチ処理では operation 要素のターゲット名前空間が考慮されません。
ターゲット名前空間は portType 要素と同じであると見なされます。ただし、WSDL ファイル内の operation 要素の名前は考慮されます。
- WSDL ファイルを作成する場合、オペレーション名は @xml プロパティーの name プロパティー・フィールドから取得されます。
デフォルト値は EGL 関数名です。
- EGL ツールが WSDL 文書からインターフェース・パーツを作成し、オペレーション名が EGL で無効である場合、EGL ツールは、EGL 関数用に別の名前を作成しますが、operation 要素の名前を保持するために name プロパティーを使用します。