再利用可能な XML マップを開始するには
XML マップ コードは、JWS ファイルまたは CTRL ファイルとは別のファイルに格納できます。このようにすると、複数のサービスでコードからマップを呼び出し、複数のプロジェクトでマップを使用できます。XML マップ ファイルを作成する場合、プロジェクトに新しいファイルを追加し、拡張子.xmlmap を付け、コードを追加して独立型のマップ ファイルを作成します。XMLMAP ファイル内のマップを使用するには、<xm:use> マップ タグを使用して parameter-xml または return-xml マップ内からそれを参照します。
注意 : XML マップの作成とデバッグは、できる限り [マップおよびインタフェースの編集] ダイアログで行ってください。このダイアログでは、コード完成とエラー チェックの機能を使用できます。完成したマップは、別のファイルに切り離し、タグで囲んで独立型にできます。[マップおよびインタフェースの編集] ダイアログの詳細については、[マップおよびインタフェースの編集] ダイアログで XML マップを追加または編集するにはを参照してください。
XML マップ ファイルの内容の詳細については、再利用可能な XML マップを作成するを参照してください。
XMLMAP ファイルを作成するには
デザイン ビューで、[ファイル|新しいファイル] を選択します。[新しいファイルの作成] ダイアログが表示されます。
[テキスト] をクリックします。
[ファイル名] フィールドに新しい XMLMAP ファイルの名前を入力します。
注意 : このマップ ファイルに複数のマップが含まれている場合、それらのマップの総体的な意味を表す名前(購買注文を処理するマップの場合は POMaps など)を付けてください。
[ファイル拡張子] フィールドに xmlmap と入力します。これはすべての XMLMAP ファイルに使用される拡張子です。
[OK] をクリックします。ソース ビューに新しいマップ ファイルが開きます。
新しく作成された空のマップ ファイルの先頭に、次のように入力します。
<xm:map-file xmlns:xm="http://www.bea.com/2002/04/xmlmap/">
これにより、このファイルがマップ ファイルとして識別されます。
この行に続いて、次のようなコードで新しいマップを開始し、以下に説明するとおりテキストを置き換えます。
<xm:xml-map signature="mapName(datatype parameter)"> ...text of the XML map... </xm:xml-map> </xm:map-file>
mapName
datatype parameter
XML マップのテキスト作成については、XML マップの仕組みとXML 形式のマッチングを参照してください。
必要に応じて追加のマップを入力し、上の手順のとおり各マップを <xm:xml-map> タグで囲みます。
</xm:map-file> タグでマップ ファイルを終了します。
次に、この手順で作成するコードの例を示します。
<xm:map-file xmlns:xm="http://www.bea.com/2002/04/xmlmap/"> <xm:xml-map signature="placeOrder(String partID, int quantity)"> ... text of the XML map... </xm:xml-map> </xm:map-file>
XMLMAP ファイルのマップを XML マップから参照するには
マップ ファイルに格納されている XML マップを使用するメソッドまたはコールバックのソース コードを見つけます。
メソッドの宣言の直前にある属性を含む Javadoc コメントに、次の行を入力します。サンプル テキストは以下のように置き換えます。
/* * @jws:mode-xml xml-map:: * <methodName> * <xm:use call="MapFileName.mapName(datatype parameter)"/> * </methodName> * :: */
mode
methodName
MapFileName
mapName
datatype parameter
次に、parameter-xml マップを呼び出すコードの例を示します。
/* * @jws:parameter-xml xml-map:: * <methodName> * <xm:use call="CustomerRequests.placeOrder(String)"/> * </methodName> * :: */