ここで示す一般的な Web Services Deployment Descriptor (WSDD) ファイルの例では、WSDD ファイルの構成方法を示しています。
以下に示すサンプル WSDD ファイルの最初の 2 行 (ここで示すとおりの行でなければなりません) は、WSDD パーサーに対して、ファイルの読み取り方を指示し、以降のセクションについての極めて重要な情報を提供します。 必須のヘッダーの後、サービス・ハンドラーに関するセクションとグローバル・ハンドラーに関するセクションの 2 つの主なセクションがあります。Service のセクション内は、SOAP アクションに固有で、その特定の Web サービスの使用時にのみ必ず呼び出されるハンドラーに関する情報です。Global のセクション内は、1 つの Web サービスに固有のものではなく、どの Web サービス・メソッドが呼び出されるかに関係なく呼び出されるハンドラーに関する情報です。
ハンドラーを定義するときは、以下の重要な点に注意してください。
ハンドラーのタイプを定義した後、ハンドラーをその後要求メッセージ・フロー (つまり、requestFlow タグ内) で呼び出されるハンドラー、または応答メッセージ・フロー (つまり、responseFlow タグ内) で呼び出されるハンドラーのいずれかとして識別する必要があります。このように識別すると、次のように処理されます。
ハンドラーの関連を宣言するときは、ハンドラーに固有の名前 (例: myClientHandlerReq) を指定する必要があります。AxisClient がハンドラー・ライブラリーを見つけることができる場所を示すには、type 属性値に完全修飾パスを指定する必要があります。
<?xml version="1.0" encoding="UTF-8"?> <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:C="http://xml.apache.org/axis/wsdd/providers/c"> <!--Service Handler Definitions--> <service name="ServiceHandler" provider="CPP:DOCUMENT" description="Service Handlers"> <requestFlow> <handler name="myClientHandlerReq" type="<inst_dir>¥wscc¥samples¥handlers¥myClientHandler.dll"> </handler> </requestFlow> <responseFlow> <handler name="myClientHandlerRes" type="<inst_dir>¥wscc¥samples¥handlers¥myClientHandler.dll"> </handler> </responseFlow> </service> <!--Global Handler Definitions--> <globalConfiguration name="GlobalHandler" provider="CPP:DOCUMENT" description="Global Handler"> <requestFlow> <handler name="myGlobalHandlerReq" type="<inst_dir>¥wscc¥samples¥handlers¥myGlobalHandler.dll"> </handler> </requestFlow> <responseFlow> <handler name="myGlobalHandlerRes" type="<inst_dir>¥wscc¥samples¥handlers¥myGlobalHandler.dll"> </handler> </responseFlow> </globalConfiguration> </deployment>