Java2WSDDコマンドを使用して,作成したJavaプログラムをSOAPアプリケーションとして利用するための定義ファイルを生成します。
Java2WSDDコマンドの指定例を示します。
Java2WSDD.bat -p C4MSG -s MsgService msgservice.MessageServiceImpl
このコマンドを実行すると,カレントディレクトリにサービスデプロイ定義ファイル(server-config.xml)が生成されます。
この例では,-pオプションでC4MSGを指定することでメッセージングのサービスデプロイ定義ファイルを生成し,-sオプションでサービス名を指定していますが,必要に応じてほかのオプションも指定してください。オプションについては,「9.3 Java2WSDDコマンド(サービスデプロイ定義の生成)」を参照してください。
SOAPヘッダ項目の解釈処理をSOAPサービスに実装している場合は,-Sオプションで"true"を指定してください。また,SOAPメッセージをほかのSOAPサービスに中継し,そこでSOAPヘッダを処理する場合も-Sオプションで"true"を指定してください。
次に,送信するSOAP Faultの詳細について示します。
表6-1 送信するSOAP Faultの詳細(-Sオプションで"true"を指定した場合)
SOAP Faultの要素 | 指定値 |
---|---|
faultcode | 名前空間識別子:MustUnderstand (名前空間識別子は,「http://schemas.xmlsoap.org/soap/envelope/」を推奨します) |
faultstring | Did not understand "MustUnderstand" header(s):{名前空間識別子:ヘッダ項目のローカル名} |
faultactor | SOAP Fault発生元を識別するURI |
detail | null |
-Sオプションで"false"を指定した場合,SOAP通信基盤はサーバ側の実装を呼び出す前にmustUnderstand属性をチェックします。mustUnderstand属性が「1」となっているSOAPヘッダが存在した場合,サーバ側の実装を呼び出さないでクライアントにSOAP Faultを送信します。
次にクライアントに送信するSOAP Faultの詳細について示します。
表6-2 送信するSOAP Faultの詳細(-Sオプションで"false"を指定した場合)
SOAP Faultの要素 | 指定値 |
---|---|
faultcode | 名前空間識別子:MustUnderstand (名前空間識別子は,「http://schemas.xmlsoap.org/soap/envelope/」) |
faultstring | Did not understand "MustUnderstand" header(s):{名前空間識別子:ヘッダ項目のローカル名} |
faultactor | null |
detail | null |