IBM Content Manager, バージョン 8.5      サポート:  Oracle, DB2, Java

Java 環境での Web サービス要求のプログラミング

Java™ Web サービス環境をセットアップした あとで、GenericWebServiceSample.java を Web サービス要求の 作成の基礎として使用できます。

概略を示すと、Java アプリケーションは以下のコードを含みます。
Web サービス・オブジェクトの作成
Web サービス・オブジェクトをインスタンス化するには、以下の例を使用します。
CMBGenericWebServiceService cs = 
  new CMBGenericWebServiceServiceLocator();
cmbservice = cs.getCMBGenericWebService();
Web サービス要求の認証
セキュリティーのために、要求ごとに認証オブジェクトを作成する必要があります。
項目のインスタンスの作成 (該当する場合)
GenericWebServiceSample.java サンプルは、XYZ_InsPolicy 項目のインスタンスを作成します。
XML 要求のラップ
GenericWebServiceSample.java サンプルは事前に定義したメッセージ・テンプレートにパラメーターを渡して、XML 要求を作成します。 例えば、以下のようになります。
String requestXML = MessageFormat.format(
  SampleMessageTemplate.TEMPLATE,
  new Object[] { authenticationDataXML, pid });
CMBXMLResponse response = null;
response = cmbservice.processXMLRequest(requestXML, null);
String replyXML = response.getXmlResponseText();
return replyXML;
すべての Web サービス・メッセージ・テンプレートは、SampleMessageTemplate.java ファイルに定義されています。基本操作テンプレートは、以下のとおりです。
  • AUTHENTICATION_DATA_TEMPLATE
  • CREATE_ITEM_TEMPLATE
  • QUERY_TEMPLATE
  • RETRIEVE_ITEM_WITH_RESOURCE_URL_TEMPLATE
  • RETRIEVE_ITEM_WITH_ATTACHMENTS_TEMPLATE
  • UPDATE_CLAIM_TEMPLATE
  • CREATE_LINKS_TEMPLATE
  • DELETE_LINKS_TEMPLATE
  • UPDATE_POLICY_TEMPLATE
  • UPDATE_POLICY_EXT_TEMPLATE
  • DELETE_ITEM_TEMPLATE
  • BATCH_DELETE_TEMPLATE
  • ADD_TO_FOLDER
XML 項目テンプレートは、以下のとおりです。
  • XYZ_InsPolicy_TEMPLATE
  • XYZ_InsPolicy_FOLDER_TEMPLATE
  • XYZ_InsPolicy__XYZ_Insured_TEMPLATE
  • XYZ_InsPolicy__XYZ_VIN_TEMPLATE
  • ICM_BASE_TEMPLATE
  • XYZ_ClaimForm_TEMPLATE
文書ルーティング・テンプレートは、以下のとおりです。
  • LIST_PROCESS_TEMPLATE
  • START_PROCESS_TEMPLATE
  • LIST_WORKPACKAGES_TEMPLATE
  • CONTINUE_PROCESS_TEMPLATE
  • TERMINATE_PROCESS_TEMPLATE
XML ストリングからの DOM の作成
XML メッセージ・ストリングから DOM (Document Object Model) 文書を作成すると、XML 応答内のエレメントを読むことができます。
if (factory == null) {
  factory = DocumentBuilderFactory.newInstance();
  }
builder = factory.newDocumentBuilder();
Document document = null;
document= builder.parse(
   new InputSource(new StringReader(replyXML)));
バイナリー・コンテンツの接続 (該当する場合)
CMBGenericWebService エンドポイントを使用する Web サービス・クライアントは、MIME を 添付ファイル・フォーマットとして使用して、CMBGenericWebService エンドポイントへ バイナリー・データをアップロードまたはダウンロードできます。
Web サービス応答の構文解析
GenericWebServiceSample.java サンプルには、XML 応答を検証し、 エラーを報告するさまざまなメソッドが含まれています。

以下の例では、永続的 ID を使用して XYZ 保険証書 (およびそのリソース・パーツの URL) を検索するために、XML 応答をラップしています。

Java サンプル
public CMDocument retrievePolicyWithResourceURL(
  String authenticationDataXML,
  String pid) {

String requestXML = MessageFormat.format(
  SampleMessageTemplate
    .RETRIEVE_ITEM_WITH_RESOURCE_URL_TEMPLATE,
  new Object[] { authenticationDataXML, pid });

CMBXMLResponse response = null;

// call the web service with the xml request message

try {
  response =
    cmbservice.processXMLRequest(requestXML, null);
} catch (RemoteException e) {
   e.printStackTrace();
   return null;
}

// Get the DOM object representing the xml message        
Document document = getDocument(
   response.getXmlResponseText());

if (document == null) {
   return null;
}

// parse the status of the response from web service
if (parseRequestStatus(document) != true) {
   return null;
}

// return the array of PIDs for the resources associated 
// with the retrieved document
Element policyElement =
  getElement(document, "XYZ_InsPolicy");

if (policyElement == null) {
   return null;
}

CMDocument policy = parsePolicy(policyElement);
return policy;
}


フィードバック

最終更新: 2013 年 12 月
dcmws000.htm

© Copyright IBM Corp. 2013.