Cosminexus V9 BPM/ESB基盤 サービスプラットフォーム 開発ガイド 基本開発編
標準の同期受付(Webサービス)に要求を出すサービスリクエスタとして,アプリケーションからサービスアダプタの稼働状況確認を要求するサービスリクエスタを作成できます。
サービスアダプタの稼働状況を確認するには,標準の同期受付(Webサービス)に要求を出すサービス部品の呼び出しとは別に,稼働状態確認用のメソッドを呼び出す処理を追加する必要があります。
標準の同期受付(Webサービス)にアプリケーションからサービスアダプタの稼働状況確認を要求するサービスリクエスタの作成手順を次に示します。
図8-11 サービスアダプタの稼働状況確認を要求するサービスリクエスタの作成手順(標準の同期受付(Webサービス・SOAP通信基盤))
各工程の作業を次に示します。
WSDLの取得方法は,標準の同期受付(Webサービス)に要求を出す,通常のサービスリクエスタを作成する場合と同じです。
なお,サービス部品の呼び出し用の処理と,稼働状態確認用の処理で,WSDLを使い分ける必要はありません。
WSDLの取得方法については,「8.2.2 WSDLを取得する」を参照してください。
スタブの生成方法は,標準の同期受付(Webサービス)に要求を出す,通常のサービスリクエスタを作成する場合と同様に,サービスプラットフォームが開発支援コマンドとして提供するWSDL2Javaコマンドで生成します。
スタブの生成については,「8.2.3 スタブを生成する」を参照してください。
サービスアダプタの稼働状況確認を要求するメソッドを呼び出すためのオブジェクトを生成する手順を次に示します。
CSCMsgSyncServiceDeliveryWSImplServiceLocator locator = new CSCMsgSyncServiceDeliveryWSImplServiceLocator(); |
CSCMsgSyncServiceDeliveryWSImpl ws = null; try { ws = locator.getCSCMsgSyncServiceDeliveryWSImpl(); }catch (ServiceException e) { e.printStackTrace(); return; } |
String url = locator.getCSCMsgSyncServiceDeliveryWSImplAddress(); |
String result = ws.getServiceInfo( // メソッドの呼び出し serviceName, // サービス名 clientID, // クライアント相関ID "type=status"); // オプション |
String result = ws.getServiceInfo( // メソッドの呼び出し serviceName, // サービス名 clientID, // クライアント相関ID "type=status,returnType=XML"); // オプション |
サービスアダプタの稼働状況確認を要求するためには,getServiceInfoメソッドを使用します。メソッドの引数となるパラメタは,標準の同期受付(Webサービス)に要求を出す通常のサービスリクエスタを作成する場合と異なります。
同期受付(Webサービス)にサービスアダプタの稼働状況確認を要求するサービスリクエスタの場合に設定するパラメタの詳細を次に示します。
表8-7 パラメタの詳細(標準の同期受付(Webサービス)/サービスアダプタの稼働状況確認要求)
パラメタ名 | データ型 | パラメタ(invokeBPXML) | 説明 |
---|---|---|---|
サービス名 (serviceName) |
java.lang.String | in0(type="xsd:string") | サービスアダプタの稼働状況を確認するときの要求先のサービス名です。 このパラメタは必ず指定してください。 要求先のサービス名は,HCSCサーバに配備されているサービスアダプタを指定してください。 |
クライアント相関ID (clientID) |
java.lang.String | in1(type="xsd:string") | サービスリクエスタからの要求電文を一意に識別するための相関識別子です。 255文字以内の英数字,アンダーバー(_),ピリオド(.)およびハイフン(-)で指定してください。 サービスリクエスタからの要求電文と,HCSCサーバで管理している実行履歴やログおよびトレースを対応づけるために使用します。したがって,HCSCサーバに送信した要求電文ごとに異なるIDを指定してください。 クライアント相関IDを省略したい場合,NULLを指定してください。 |
オプション (option) |
java.lang.String | in2(type="xsd:string") | 稼働状況の確認結果を取得するときに選択するオプションです。 オプションの入力形式は,「キー名称=値」です。オプションの前後はダブルクォーテーション(")で囲んでください。また,複数のオプションを指定する場合は,コンマ(,)で区切って指定してください。※1
指定できるオプションを次に示します。
|
パラメタのオプションで指定した形式でサービスアダプタの稼働状況確認の応答電文が返ります。
次に応答電文の形式と例を説明します。
応答電文で取得できる情報については,typeオプションに指定する内容によって異なります。応答電文で取得できる情報を次に示します。
表8-8 応答電文で取得できる情報
キーまたはタグ | 情報の内容 | typeオプション指定による応答情報 | |
---|---|---|---|
all | status | ||
HCSCServerName | HCSCサーバ名 | ○ | ○ |
ClusterName | クラスタ名 | ○ | ○ |
ServiceName | サービス名 | ○ | × |
ServiceStatus | サービスアダプタの状態 | ○ | ○ |
ServiceKind | サービスの種別 | ○ | × |
ServiceProtocolKind | サービスアダプタのプロトコル種別 | ○ | × |
AdapterName | サービスアダプタ名 | ○ | × |
AdapterLocalCall | ローカルキュー使用状況 | ○※ | × |
EntryTime | サービスアダプタ定義追加時刻 | ○ | × |
ModifiedTime | サービスアダプタ定義更新時刻 | ○ | × |
取得情報の詳細を次に説明します。
YYYY/MM/DD hh:mm:ss.SSS
YYYY/MM/DD hh:mm:ss
応答電文の例を次に示します。
(例1)optionに"type=all,returnType=Properties"を指定した場合
<?xml version="1.0" encoding="UTF-8"?> <getServiceInfoResponse> <HCSCServerName>HCSC</HCSCServerName> <ClusterName>Cluster</ClusterName> <ServiceName>Service1</ServiceName> <ServiceStatus>Active</ServiceStatus> <ServiceKind>ServiceAdapter</ServiceKind> <ServiceProtocolKind>WebService</ServiceProtocolKind> <AdapterName>ad1</AdapterName><AdapterLocalCall/> <EntryTime>YYYY/MM/DD hh:mm:ss.SSS</EntryTime> <ModifiedTime>YYYY/MM/DD hh:mm:ss</ModifiedTime> </getServiceInfoResponse> |
(例2)optionに"type=all,returnType=String"を指定した場合
{HCSCServerName=HCSC,ClusterName=Cluster,ServiceName=Service1,ServiceStatus=Active,ServiceKind=ServiceAdapter,ServiceProtocolKind=WebService,AdapterName=ad1,EntryTime=YYYY/MM/DD hh:mm:ss.SSS,ModifiedTime=YYYY/MM/DD hh:mm:ss} |
(例3)optionに"type=all,returnType=XML"を指定した場合
<?xml version="1.0" encoding="UTF-8"?> <getServiceInfoResponse> <HCSCServerName>HCSC</HCSCServerName> <ClusterName>Cluster</ClusterName> <ServiceName>Service1</ServiceName> <ServiceStatus>Active</ServiceStatus> <ServiceKind>ServiceAdapter</ServiceKind> <ServiceProtocolKind>WebService</ServiceProtocolKind> <AdapterName>ad1</AdapterName> <AdapterLocalCall/> <EntryTime>YYYY/MM/DD hh:mm:ss.SSS</EntryTime> <ModifiedTime>YYYY/MM/DD hh:mm:ss</ModifiedTime> </getServiceInfoResponse> |
サービスアダプタの稼働状況確認でエラーが発生した場合,CSCMsgServerFaultExceptionオブジェクトをキャッチして,SOAP Faultのエラー情報を取得します。
エラー情報の取得については,「8.2.8 エラー情報を取得する」を参照してください。
エラーになる主な要因として,次の場合が挙げられます。
All Rights Reserved. Copyright (C) 2012, 2019, Hitachi, Ltd.