Informatica PowerCenter (バージョン 9.5.1 HotFix 1) Web Services Providerガイド
Informatica PowerCenter(バージョン 9.5.1 HotFix 1)
Web Services Providerガイド
Informatica PowerCenter Web Services Providerガイド
バージョン 9.5.1 HotFix 12013年3月
著作権 Informatica Corporation. すべての権利を保留する.
本ソフトウェアおよびマニュアルには、Informatica Corporationの所有権下にある情報が収められています。これらは使用および開示の制限等を定めた使用許諾契約のもとに提供され、著作権法により保護されています。本ソフトウェアのリバースエンジニアリングは禁じられています。本マニュアルのいかなる部分も、いかなる手段(電子的複写、写真複写、録音など)によっても、Informatica Corporation の事前の承諾なしに複製または転載することは禁じられています。このソフトウェアは、米国および/または国際的な特許、およびその他の出願中の特許によって保護されています。
合衆国政府によるソフトウェアの使用、複製または開示は、DFARS 227.7202-1(a)および227.7702-3(a)(1995年)、DFARS252.227-7013(C)(1)(ii)(1988年10月)、FAR 12.212(a)(1995年)、FAR 52.227-19、またはFAR 52.227-14(ALT III)に記載されているとおりに、当該ソフトウェア使用許諾契約に定められた制限によって規制されます。
本製品または本書の情報は、予告なしに変更されることがあります。お客様が本製品または本書内に問題を発見された場合は、書面にて当社までお知らせください。
Informatica、Informatica Platform、Informatica Data Services、PowerCenter、PowerCenterRT、PowerCenter Connect、PowerCenter DataAnalyzer、PowerExchange、PowerMart、Metadata Manager、Informatica Data Quality、Informatica Data Explorer、Informatica B2B DataTransformation、Informatica B2B Data Exchange、Informatica On Demand、Informatica Identity Resolution、Informatica ApplicationInformation Lifecycle Management、Informatica Complex Event Processing、Ultra Messaging、およびInformatica Master DataManagementは、Informatica Corporationの米国および世界中の管轄地での商標または登録商標です。その他のすべての企業名および製品名は、それぞれの企業の商標または登録商標です。
本ソフトウェアまたはドキュメントの一部は、次のサードパーティが有する著作権に従います(ただし、これらに限定されません)。Copyright DataDirect Technologies.コンテンツの無断複写・転載を禁じます。Copyright (c) Sun Microsystems.コンテンツの無断複写・転載を禁じます。Copyright (c) RSA Security Inc. All Rights Reserved.Copyright (c) Ordinal Technology Corp. All rights reserved.Copyright (c) Aandacht c.v. All rights reserved. Copyright Genivia, Inc. All rights reserved. Copyright Isomorphic Software. コンテンツの無断複写・転載を禁じます。Copyright (c) Meta Integration Technology, Inc. All rights reserved. Copyright (c) Intalio.コンテンツの無断複写・転載を禁じます。Copyright (c) Oracle. コンテンツの無断複写・転載を禁じます。Copyright (c) Adobe SystemsIncorporated. コンテンツの無断複写・転載を禁じます。Copyright (c) DataArt, Inc. All rights reserved. Copyright (c)ComponentSource. コンテンツの無断複写・転載を禁じます。Copyright (c) Microsoft Corporation. コンテンツの無断複写・転載を禁じます。Copyright (C) Rogue Wave Software, Inc. All rights reserved. Copyright (c) Teradata Corporation. コンテンツの無断複写・転載を禁じます。Copyright (c) Yahoo! Inc. All rights reserved. Copyright (c) Glyph & Cog, LLC. コンテンツの無断複写・転載を禁じます。Copyright (C) Thinkmap, Inc. All rights reserved. Copyright (C) Clearpace Software Limited. コンテンツの無断複写・転載を禁じます。Copyright (C) Information Builders, Inc. All rights reserved. Copyright (C) OSS Nokalva, Inc. All rights reserved.Copyright Edifecs, Inc. All rights reserved. Copyright Cleo Communications, Inc. All rights reserved.Copyright (c) InternationalOrganization for Standardization 1986. コンテンツの無断複写・転載を禁じます。Copyright (C) ej-technologies GmbH. コンテンツの無断複写・転載を禁じます。Copyright (c) Jaspersoft Corporation. コンテンツの無断複写・転載を禁じます。Copyright (C) isInternational Business Machines Corporation. コンテンツの無断複写・転載を禁じます。Copyright (C) yWorks GmbH. コンテンツの無断複写・転載を禁じます。Copyright (C) Lucent Technologies. コンテンツの無断複写・転載を禁じます。Copyright (c) University ofToronto. コンテンツの無断複写・転載を禁じます。Copyright (C) Daniel Veillard. コンテンツの無断複写・転載を禁じます。Copyright(C) Unicode, Inc. Copyright IBM Corp. All rights reserved. Copyright (C) MicroQuill Software Publishing, Inc. All rightsreserved. Copyright (C) PassMark Software Pty Ltd. All rights reserved. Copyright (C) LogiXML, Inc. All rights reserved.Copyright (C) 2003-2010 Lorenzi Davide, All rights reserved. Copyright (C) Red Hat, Inc. All rights reserved. Copyright (c) TheBoard of Trustees of the Leland Stanford Junior University. コンテンツの無断複写・転載を禁じます。Copyright (C) EMC Corporation.コンテンツの無断複写・転載を禁じます。Copyright (C) Flexera Software. コンテンツの無断複写・転載を禁じます。Copyright (c)Jinfonet Software. コンテンツの無断複写・転載を禁じます。Copyright (C) Apple Inc. All rights reserved.Copyright (C) Telerik Inc.All rights reserved.Copyright (C) BEA Systems. コンテンツの無断複写・転載を禁じます。
本製品には、Apache Software Foundation(http://www.apache.org/)によって開発されたソフトウェア、およびさまざまなバージョンのApache License(まとめて「License」と呼んでいます)の下に許諾された他のソフトウェアが含まれます。これらのライセンスのコピーは、http://www.apache.org/licenses/で入手できます。適用法にて要求されないか書面にて合意されない限り、ライセンスの下に配布されるソフトウェアは「現状のまま」で配布され、明示的あるいは黙示的かを問わず、いかなる種類の保証や条件も付帯することはありません。ライセンス下での許諾および制限を定める具体的文言については、ライセンスを参照してください。
本製品には、Mozilla(http://www.mozilla.org/)によって開発されたソフトウェア、ソフトウェアcopyright The JBoss Group, LLC, allrights reserved、ソフトウェアcopyright, Red Hat Middleware, LLC, all rights reserved、Copyright (C) 1999-2006 by Bruno Lowagieand Paulo SoaresおよびGNU Lesser General Public License Agreement(http://www.gnu.org/licenses/lgpl.htmlを参照)に基づいて許諾されたその他のソフトウェアが含まれています。資料は、Informaticaが無料で提供しており、一切の保証を伴わない「現状渡し」で提供されるものとし、Informatica Corporationは市場性および特定の目的の適合性の黙示の保証などを含めて、一切の明示的及び黙示的保証の責任を負いません。
製品には、ワシントン大学、カリフォルニア大学アーバイン校、およびバンダービルト大学のDouglas C.Schmidtおよび同氏のリサーチグループが著作権を持つACE(TM)およびTAO(TM)ソフトウェアが含まれています。Copyright (c) 1993-2006, all rights reserved.
本製品には、OpenSSL Toolkitを使用するためにOpenSSL Projectが開発したソフトウェア(copyright The OpenSSL Project.All RightsReserved)が含まれています。また、このソフトウェアの再配布は、http://www.openssl.orgおよびhttp://www.openssl.org/source/license.htmlにある使用条件に従います。
本ソフトウェアには、CurlソフトウェアCopyright 1996-2007, Daniel Stenberg, <[email protected]>が含まれます。コンテンツの無断複写・転載を禁じます。本ソフトウェアに関する許諾および制限は、http://curl.haxx.se/docs/copyright.htmlにある使用条件に従います。すべてのコピーに上記の著作権情報とこの許諾情報が記載されている場合、目的に応じて、本ソフトウェアの使用、コピー、変更、ならびに配布が有償または無償で許可されます。
本製品には、ソフトウェアcopyright 2001-2005 (C) MetaStuff, Ltd. All Rights Reserved.が含まれます。本ソフトウェアに関する許諾および制限は、http://www.dom4j.org/license.htmlにある使用条件に従います。
製品には、ソフトウェアcopyright (C) 2004-2007, The Dojo Foundationが含まれます。コンテンツの無断複写・転載を禁じます。本ソフトウェアに関する許諾および制限は、http://dojotoolkit.org/licenseにある使用条件に従います。
本製品には、ICUソフトウェアcopyright International Business Machines Corporationおよび他のソフトウェアが含まれます。コンテンツの無断複写・転載を禁じます。本ソフトウェアに関する許諾および制限は、http://source.icu-project.org/repos/icu/icu/trunk/license.htmlにある使用条件に従います。
本製品には、ソフトウェアcopyright (c) 1996-2006 Per Bothnerが含まれます。コンテンツの無断複写・転載を禁じます。お客様がこのようなソフトウェアを使用するための権利は、ライセンスで規定されています。http://www.gnu.org/software/kawa/Software-License.htmlを参照してください。
本製品には、OSSP UUIDソフトウェアCopyright (C) 2002 Ralf S. Engelschall, Copyright (C) 2002 The OSSP Project Copyright (C) 2002Cable & Wireless Deutschlandが含まれます。本ソフトウェアに関する許諾および制限は、http://www.opensource.org/licenses/mit-license.phpにある使用条件に従います。
本製品には、Boost(http://www.boost.org/)によって開発されたソフトウェアまたはBoostソフトウェアライセンスの下で開発されたソフトウェアが含まれています。本ソフトウェアに関する許諾および制限は、http://www.boost.org/LICENSE_1_0.txtにある使用条件に従います。
本製品には、ソフトウェアcopyright (c) 1997-2007 University of Cambridgeが含まれます。本ソフトウェアに関する許諾および制限は、http://www.pcre.org/license.txtにある使用条件に従います。
本製品には、ソフトウェアcopyright (C) 2007 The Eclipse Foundationが含まれます。コンテンツの無断複写・転載を禁じます。本ソフトウェアに関する許諾および制限は、http://www.eclipse.org/org/documents/epl-v10.phpにある使用条件に従います。
本製品には、http://www.tcl.tk/software/tcltk/license.html、http://www.bosrup.com/web/overlib/?License、http://www.stlport.org/doc/license.html、http://www.asm.ow2.org/license.html、http://www.cryptix.org/LICENSE.TXT、http://hsqldb.org/web/hsqlLicense.html、http://httpunit.sourceforge.net/doc/license.html、http://jung.sourceforge.net/license.txt、http://www.gzip.org/zlib/zlib_license.html、http://www.openldap.org/software/release/license.html、http://www.libssh2.org、http://slf4j.org/license.html、http://www.sente.ch/software/OpenSourceLicense.html、http://fusesource.com/downloads/license-agreements/fuse-message-broker-v-5-3-license-agreement、http://antlr.org/license.html、http://aopalliance.sourceforge.net/、http://www.bouncycastle.org/licence.html、http://www.jgraph.com/jgraphdownload.html、http://www.jcraft.com/jsch/LICENSE.txt、http://jotm.objectweb.org/bsd_license.html、http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231、http://www.slf4j.org/license.html、http://nanoxml.sourceforge.net/orig/copyright.html、http://www.json.org/license.html; http://forge.ow2.org/projects/javaservice/, http://www.postgresql.org/about/licence.html, http://www.sqlite.org/copyright.html,http://www.tcl.tk/software/tcltk/license.html, http://www.jaxen.org/faq.html、http://www.jdom.org/docs/faq.html、http://www.slf4j.org/license.html、http://www.iodbc.org/dataspace/iodbc/wiki/iODBC/License、 http://www.keplerproject.org/md5/license.html、http://www.toedter.com/en/jcalendar/license.html、http://www.edankert.com/bounce/index.html、http://www.net-snmp.org/about/license.html、 http://www.openmdx.org/#FAQ、 http://www.php.net/license/3_01.txt、http://srp.stanford.edu/license.txt、http://www.schneier.com/blowfish.html、http://www.jmock.org/license.html、http://xsom.java.net、およびhttp://benalman.com/about/license/、https://github.com/CreateJS/EaselJS/blob/master/src/easeljs/display/Bitmap.js、http://www.h2database.com/html/license.html#summarおよびhttp://jsoncpp.sourceforge.net/LICENSの条項の下に許諾されたソフトウェアが含まれています。
本製品には、Academic Free License(http://www.opensource.org/licenses/afl-3.0.php)、Common Development and DistributionLicense(http://www.opensource.org/licenses/cddl1.php)、Common Public License(http://www.opensource.org/licenses/cpl1.0.php)、Sun Binary Code License Agreement Supplemental License Terms、BSD License(http://www.opensource.org/licenses/bsd-license.php)、MIT License(http://www.opensource.org/licenses/mit-license.php)、およびArtistic License(http://www.opensource.org/licenses/artistic-license-1.0)に基づいて許諾されたソフトウェアが含まれています。
本製品には、ソフトウェアcopyright (c) 2003-2006 Joe WaInes, 2006-2007 XStream Committersが含まれています。コンテンツの無断複写・転載を禁じます。本ソフトウェアに関する許諾および制限は、http://j.org/license.htmlにある使用条件に従います。本製品には、Indiana University Extreme! Labによって開発されたソフトウェアが含まれています。詳細については、http://www.extreme.indiana.edu/を参照してください。
本ソフトウェアは、米国の特許番号5,794,246、6,014,670、6,016,501、6,029,178、6,032,158、6,035,307、6,044,374、6,092,086、6,208,990、6,339,775、6,640,226、6,789,096、6,820,077、6,823,373、6,850,947、6,895,471、7,117,215、7,162,643、7,243,110、7,254,590、7,281,001、7,421,458、7,496,588、7,523,121、7,584,422、7,676,516、7,720,842、7,721,270、および7,774,791、および国際的な特許、ならびにその他の出願中の特許によって保護されています。
免責: 本文書は、一切の保証を伴わない「現状渡し」で提供されるものとし、Informatica Corporationは他社の権利の非侵害、市場性および特定の目的への適合性の黙示の保証などを含めて、一切の明示的および黙示的保証の責任を負いません。Informatica Corporationでは、本ソフトウェアまたはドキュメントに誤りのないことを保証していません。本ソフトウェアまたはドキュメントに記載されている情報には、技術的に不正確な記述や誤植が含まれる場合があります。本ソフトウェアまたはドキュメントの情報は、予告なしに変更されることがあります。
特記事項
このInformatica製品(以下「ソフトウェア」)には、Progress Software Corporation(以下「DataDirect」)の事業子会社であるDataDirect Technologiesからの特定のドライバ(以下「DataDirectドライバ」)が含まれています。DataDirectドライバには、次の用語および条件が適用されます。
1.DataDirectドライバは、特定物として現存するままの状態で提供され、商品性の保証、特定目的適合性の保証および法律上の瑕疵担保
責任を含むすべての明示もしくは黙示の保証責任を負わないものとします。国または地域によっては、法律の強行規定により、保証責任
の制限が禁じられる場合、強行規定の制限を受けるものとします。
2.DataDirectまたは第三者は、予見の有無を問わず発生したODBCドライバの使用に関するいかなる直接的、間接的、偶発的、特別、ある
いは結果的損害に対して責任を負わないものとします。本制限事項は、すべての訴訟原因に適用されます。訴訟原因には、契約違反、保
証違反、過失、厳格責任、詐称、その他の不法行為を含みますが、これらに限るものではありません。
Part Number: PC-WSP-95100-HF1-0001
目次
序文............................................. vii
Informaticaのリソース. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
Informatica MySupportポータル. . . . . . . . . . . . . . . . . . . . . . . . . . . vii
Informaticaのマニュアル. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
InformaticaのWebサイト. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
Informatica How-To Library. . . . . . . . . . . . . . . . . . . . . . . . . . . . viii
Informatica Knowledge Base. . . . . . . . . . . . . . . . . . . . . . . . . . . . viii
Informatica Multimedia Knowledge Base. . . . . . . . . . . . . . . . . . . . viii
Informatica Marketplace. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii
Informaticaグローバルカスタマサポート. . . . . . . . . . . . . . . . . . . . viii
第 1 章 : Webサービスの概念........................ 1
Webサービスの概念の概要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Simple Object Access Protocol(SOAP). . . . . . . . . . . . . . . . . . . . . . . . . 2
Webサービス記述言語(WSDL). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
第 2 章 : Web Services Providerについて........... 4
Web Services Providerについての概要. . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Web Services Hub. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
バッチWebサービス. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
リアルタイムWebサービス. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Web Services Providerのアーキテクチャ. . . . . . . . . . . . . . . . . . . . . . . . . 6
パフォーマンスおよび拡張性. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
複数のリポジトリとWeb Services Hubとの関連付け. . . . . . . . . . . . . . . . 7
リポジトリと複数のWeb Services Hub Servicesとの関連付け. . . . . . . . . 8
Webサービスワークフローの複数インスタンスの実行. . . . . . . . . . . . . . . 8
グリッド上でのWebサービスまたはワークフローの実行. . . . . . . . . . . . . . 8
Web Services Hubのセキュリティ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Web Services Hubログ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
ログの設定. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
ログの表示. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
SOAPフォールトの処理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
ユーザー定義フォールト. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
システムフォールト. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
システムフォールトスキーマ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
目次 i
第 3 章 : Web Services Hub Consoleの使い方....... 13
Web Services Hub Consoleの使い方の概要. . . . . . . . . . . . . . . . . . . . . . . . 13
Web Services Hub Consoleへの接続. . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Web Services Hub Consoleについて. . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
ナビゲータ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
[Webサービス]および[操作]セクション. . . . . . . . . . . . . . . . . . . . 15
[プロパティ]セクション. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Webサービスのテスト. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
入力メッセージ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
パブリックWebサービスまたはバッチWebサービス操作のテスト. . . . . . . . 19
保護されたリアルタイムWebサービスのテスト. . . . . . . . . . . . . . . . . . . 20
第 4 章 : バッチWebサービスの操作................. 22
バッチWebサービスの操作の概要. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
メタデータWebサービスの操作. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
getAllDIServers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
GetAllFolders. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
getAllRepositories. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
getAllTaskInstances. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
getAllWorkflows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
ログイン. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
ログアウト. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Data Integration Webサービスの操作. . . . . . . . . . . . . . . . . . . . . . . . . . . 26
deinitializeDIServerConnection. . . . . . . . . . . . . . . . . . . . . . . . . . . 27
getDIServerProperties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
getNextLogSegment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
getSessionLog. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
getSessionPerformanceData. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
getSessionStatistics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
getTaskDetails. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
getTaskDetailsEx. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
getWorkflowDetails. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
getWorkflowDetailsEx. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
getWorkflowLog. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
initializeDIServerConnection. . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
ログイン. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
ログアウト. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
monitorDIServer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
pingDIServer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
ii 目次
recoverWorkflow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
resumeWorkflow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
scheduleWorkflow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
startSessionLogFetch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
startTask. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
startWorkflow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
startWorkflowEx. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
startWorkflowFromTask. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
startWorkflowLogFetch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
stopTask. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
stopWorkflow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
unscheduleWorkflow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
waitTillTaskComplete. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
waitTillWorkflowComplete. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
第 5 章 : クライアントアプリケーションの作成...... 61
クライアントアプリケーションの作成の概要. . . . . . . . . . . . . . . . . . . . . . . 61
バッチWebサービスのクライアントアプリケーション. . . . . . . . . . . . . . . . . . 62
クライアントプロキシクラスの生成. . . . . . . . . . . . . . . . . . . . . . . . . . 62
初期化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
セッションメンテナンス. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
操作の呼び出し. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
リソースのクリーンアップ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
エラー処理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
プロキシオブジェクト. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
バッチWebサービスのJavaクライアントアプリケーション. . . . . . . . . . . . . . . 64
Axisでのクライアントプロキシクラスの生成. . . . . . . . . . . . . . . . . . . . 64
Axisでの初期化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Axisでのセッションメンテナンス. . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Axisにおける操作の呼び出し. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Axisでのクリーンアップ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Axisにおけるエラー処理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
バッチWebサービスのC#クライアントアプリケーション. . . . . . . . . . . . . . . . 68
.NETでのクライアントプロキシクラスの生成. . . . . . . . . . . . . . . . . . . . 68
.NETでの初期化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
.NETでのセッションメンテナンス. . . . . . . . . . . . . . . . . . . . . . . . . . . 69
.NETにおける演算の呼び出し. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
.NETにおけるエラー処理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
リアルタイムWebサービスのクライアントアプリケーション. . . . . . . . . . . . . 71
Webサービスワークフロー. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
目次 iii
クライアントプロキシクラスの生成. . . . . . . . . . . . . . . . . . . . . . . . . . 71
初期化. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
操作の呼び出し. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
エラー処理. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
リアルタイムWebサービスのJavaクライアントアプリケーション. . . . . . . . . . 72
リアルタイムWebサービスのクライアントアプリケーションの作成. . . . . . 73
パラメータ配列の使用. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
パラメータ配列の定義. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
パラメータ配列の使用に関する規則とガイドライン. . . . . . . . . . . . . . . 77
クライアント要求へのセキュリティの追加. . . . . . . . . . . . . . . . . . . . . . . . 77
SOAPリクエストのUsernameToken. . . . . . . . . . . . . . . . . . . . . . . . . . . 78
プレーンテキストパスワード. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
ハッシュパスワード. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
ダイジェストパスワード. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
第 6 章 : Webサービスのソースおよびターゲットに関する作業.......................................... 82
Webサービスのソースおよびターゲットの概要. . . . . . . . . . . . . . . . . . . . . . 82
Webサービスのソースおよびターゲットの理解. . . . . . . . . . . . . . . . . . . . . . 83
XMLビューおよびグループ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
ソース定義. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
ターゲット定義. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Webサービスのソースおよびターゲットのインポートまた作成のための規
則およびガイドライン. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Webサービスのソース定義またはターゲット定義のインポート. . . . . . . . . . . . 86
インポートモード. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
メッセージID. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
詳細オプション. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
XMLビューを作成しないWSDLからのインポート. . . . . . . . . . . . . . . . . . . 89
WSDLからのWebサービスのソース定義またはターゲット定義のインポート. . 89
ソース定義またはターゲット定義の作成. . . . . . . . . . . . . . . . . . . . . . . . . . 91
複数回出現要素. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
メッセージポート. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
リレーショナルまたはフラットファイルのソースまたはターゲットから
のソースまたはターゲットの作成. . . . . . . . . . . . . . . . . . . . . . . . . . . 92
第 7 章 : Webサービスのソースおよびターゲットの編集................................................ 94
Webサービスのソースおよびターゲットの編集の概要. . . . . . . . . . . . . . . . . . 94
Designerワークスペースでの定義の編集. . . . . . . . . . . . . . . . . . . . . . . . . . 95
[テーブル]タブ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
iv 目次
[カラム]タブ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
[属性]タブ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
[メタデータエクステンション]タブ. . . . . . . . . . . . . . . . . . . . . . . . 96
[Webサービス定義]タブ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
WSDLワークスペースでの定義の編集. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
WSDLワークスペースの規則およびガイドライン. . . . . . . . . . . . . . . . . . 97
第 8 章 : Webサービスマッピングの使用............. 99
Webサービスマッピングの使用の概要. . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Webサービスマッピングのタイプ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
要求/応答マッピング. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
段階的マッピング. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
WSDLからのマッピングの生成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
リレーショナルまたはフラットファイルのソースまたはターゲットからのマ
ッピングの生成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
トランスフォーメーションまたはマップレットからのマッピングの生成. . . . . 104
再利用可能なトランスフォーメーションからのマッピングの生成. . . . . . 104
マップレットからのマッピングの生成. . . . . . . . . . . . . . . . . . . . . . . 105
再利用可能なトランスフォーメーションまたはマップレットからのマッ
ピングの生成. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Webサービスマッピングでのターゲットインスタンスの編集. . . . . . . . . . . . . 106
ロード範囲. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
部分ロードリカバリ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
アタッチメント. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
フラットファイルまたはXMLソースおよびターゲットアタッチメント. . . . 107
WSDLアタッチメント. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
第 9 章 : Webサービスワークフローの使用.......... 110
Webサービスワークフローの使用の概要. . . . . . . . . . . . . . . . . . . . . . . . . . 110
Webサービスワークフローの作成および設定. . . . . . . . . . . . . . . . . . . . . . . 111
Webサービスワークフローの作成. . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Webサービスワークフローの設定. . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Webサービスワークフローの同時実行. . . . . . . . . . . . . . . . . . . . . . . . 114
Web Services Provider ReaderおよびWriterの設定. . . . . . . . . . . . . . . . . 115
Web Services Provider Readerの設定. . . . . . . . . . . . . . . . . . . . . . . 115
Web Services Provider Writerの設定. . . . . . . . . . . . . . . . . . . . . . . 116
XMLおよびフラットファイルセッションのReaderおよびWriterの設定. . . . 118
Webサービスセッションのパーティションの設定. . . . . . . . . . . . . . . . . . . . 119
Webサービスワークフローのトラブルシューティング. . . . . . . . . . . . . . . . . 119
目次 v
付録 A : Webサービスのサンプルクライアントアプリケーション....................................... 122
Webサービスのサンプルクライアントアプリケーションの概要. . . . . . . . . . . 122
バッチWebサービスサンプルプログラムの使用. . . . . . . . . . . . . . . . . . . . . 123
バッチWebサービスサンプルプログラムのコンパイル. . . . . . . . . . . . . . 124
バッチWebサービスサンプルプログラムの実行. . . . . . . . . . . . . . . . . . 124
バッチWebサービスの例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
参照. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
データ統合. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
複数のIntegration Service. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
マルチスレッド. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
Web Services Hubのテスト. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
リアルタイムWebサービスサンプルプログラムの使用. . . . . . . . . . . . . . . . . 131
手順1. ルックアップテーブルを作成するには:. . . . . . . . . . . . . . . . . 133
手順2. マッピングとワークフローのインポート. . . . . . . . . . . . . . . . . 133
手順3. SQLトランスフォーメーションのデータベースおよびデータタイプ
の変更 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
手順4. データベース接続設定の変更. . . . . . . . . . . . . . . . . . . . . . . . 134
手順5. リアルタイムWebサービスのサンプルプログラムのコンパイル. . . 135
手順6. リアルタイムWebサービスのサンプルプログラムの実行. . . . . . . 135
リアルタイムWebサービスの例. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
複数行ルックアップ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
1行ルックアップ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
索引............................................. 138
vi 目次
序文
『PowerCenter Web Services Providerガイド』は、Web Services HubをホストとするWeb
Services ProviderおよびPowerCenter Webサービスに関する情報を提供します。 また、
PowerCenterワークフローをWebサービスにする方法や、Web Services Hubから利用可能な
Webサービスを使用するクライアントアプリケーションの作成方法なども説明します。 本
書では、ユーザーがWebサービスの概念とPowerCenterマッピングおよびワークフローにつ
いて理解していることを前提としています。
Informaticaのリソース
Informatica MySupportポータル
Informaticaのユーザであれば、Informatica MySupportポータル
(http://mysupport.informatica.com)にアクセスできます。
このサイトには、製品情報、ユーザーグループ情報、ニュースレター、Informaticaカスタ
マサポート事例管理システム(ATLAS)、Informatica How-Toライブラリ、Informaticaナ
レッジベース、 Informaticaマルチメディアナレッジベース、Informatica製品マニュアル
へのアクセス、Informaticaユーザーコミュニティへのアクセスが含まれています。
Informaticaのマニュアル
Informaticaのマニュアルチームは、正確で役に立つマニュアルの作成に努めています。こ
のマニュアルに関する質問、コメント、ご意見の電子メールの送付先は、Informaticaマニ
ュアルチーム([email protected])です。 お客様のフィードバック
は、マニュアルの改良に利用させていただきます。コメントに返信をご希望のお客様は、
その旨をお知らせください。
マニュアルチームは、必要に応じてマニュアルを更新します。製品の最新のマニュアルを
入手するには、http://mysupport.informatica.comから製品マニュアルにアクセスしま
す。
InformaticaのWebサイト
Informatica社のWebサイトは、http://www.informatica.comからアクセスできます。この
サイトでは、Informatica社の概要と沿革、今後のイベント、営業拠点などの情報を提供し
vii
ています。また、製品情報やパートナー情報もあります。サービス関連のページには、テ
クニカルサポート、トレーニングと教育、および実装に関するサービスの重要な情報を掲
載しています。
Informatica How-To Library
Informaticaのユーザーとして、Informatica How-To Library
(http://mysupport.informatica.com)にアクセスできます。How-To Libraryは、
Informaticaの製品および機能についての詳細を確認できるリソースのコレクションです。
一般的な問題に対するソリューションを提供したり、機能や動作を比較したり、特定の実
際のタスクを実行するための方法を示したりする記事やインタラクティブなデモンストレ
ーションが含まれています。
Informatica Knowledge Base
Informaticaのユーザーとして、Informatica Knowledge Base
(http://mysupport.informatica.com)にアクセスできます。このKnowledge Baseを利用
して、Informatica製品に関する既知の技術的問題の解決策を検索することができます。ま
た、FAQ(よくある質問)の答え、技術的ホワイトペーパー、技術的なヒントも得られま
す。Knowledge Baseに関する質問、コメント、ご意見の電子メールの送付先は、
Informatica Knowledge Baseチーム([email protected])です。
Informatica Multimedia Knowledge Base
Informaticaのユーザとして、Informatica Multimedia Knowledge Base
(http://mysupport.informatica.com)にアクセスできます。Multimedia Knowledge
Baseは、一般的な概念の理解を助け、具体的な各タスクの実行をガイドする教育用のマル
チメディアファイルの集まりです。 Multimedia Knowledge Baseに関する質問、コメン
ト、ご意見の電子メールの送付先は、Informatica Knowledge Baseチーム
([email protected])です。
Informatica Marketplace
情報マーケットプレースは、開発者とパートナーがデータ統合実装を増幅、拡張、強化す
るソリューションを共有するためのフォーラムです。マーケットプレースにある何百もの
ソリューションを利用して、プロジェクトで実装にかかる時間を短縮したり、生産性を向
上させたりできます。Informatica Marketplaceには、
http://www.informaticamarketplace.comからアクセスできます。
Informaticaグローバルカスタマサポート
電話、またはオンラインサポートからカスタマサポートセンターに連絡できます。 オンラ
インサポートのご利用には、ユーザ名とパスワードが必要です。
http://mysupport.informatica.comから、ユーザー名とパスワードが入手できます。
viii 序文
電話によるInformaticaグローバルカスタマサポートへの問い合わせ先は次のとおりです。
北米/南米 ヨーロッパ/中東/アフ
リカ
アジア/オーストラ
リア
フリーダイヤル
ブラジル: 0800 891
0202
メキシコ: 001 888 209
8853
北米: +1 877 463 2435
フリーダイヤル
フランス: 0805 804632
ドイツ: 0800 5891281
イタリア: 800 915 985
オランダ: 0800 2300001
ポルトガル: 800 208 360
スペイン: 900 813 166
スイス: 0800 463 200
英国: 0800 023 4632
有料(標準料金)
ベルギー: +31 30 6022
797
フランス: +33 1 4138
9226
ドイツ:+49 1805 702 702
オランダ:+31 306 022
797
英国: +44 1628 511445
フリーダイヤル
オーストラリア: 1
800 151 830
ニュージーランド:
09 9 128 901
有料(標準料金)
インド:+91 80 4112
5738
まえがき ix
x
第 1 章
Webサービスの概念
この章では、以下の項目について説明します。
¨ Webサービスの概念の概要, 1 ページ
¨ Simple Object Access Protocol(SOAP), 2 ページ
¨ Webサービス記述言語(WSDL), 3 ページ
Webサービスの概念の概要Webサービスは、Web上で運用できる業務機能です。Webサービスには、標準のXMLメッセー
ジを媒体としてネットワークアクセスできる一連の動作が定義されています。PowerCenter
Web Services Providerは、PowerCenterメタデータとデータ統合機能を統合し、Webサービ
スとして公開します。 Integration Servicesと通信できるアプリケーションをあらゆる言
語またはプラットフォームで作成できます。 また、これらのアプリケーションを既存のコ
ンポーネントや製品に組み込むこともできます。
WebサービスはXML、SOAP、WSDLといった、広く公開された規格に準拠しているため、メー
カーが独自に開発したアプリケーションよりも優れた相互運用性を提供します。
Webサービスの例としては、株価、航空機の運航スケジュール、信用調査などの業務サービ
スが挙げられます。
Webサービスを実現するコンポーネントは、以下のとおりです。
¨ Simple Object Access Protocol(SOAP)。 SOAPは、Webサービス用の通信プロトコル
です。これは、XMLフォーマットをWebサービスメッセージ用に定義した仕様と言えま
す。
¨ Webサービス記述言語(WSDL)。WSDLは、Webサービス操作を記述するXML文書です。
¨ レジストリ。公開されたWebサービスのディレクトリです。 一部のWebサービスのプロ
バイダは、Universal Description, Discovery, and Integration(UDDI)のサービス
を公開しています。すべてのWebサービスがUDDIに登録されるとは限りません。
注: PowerCenter Web Services Providerでは、UDDIレジストリは使用されません。
PowerCenter Web Services ProviderのWebサービスクライアントを作成するには、インタ
フェースとするWebサービスを選択し、選択したWebサービスに対応したWSDLを取得しま
す。 AxisなどのWebサービスツールキットを使用して、クライアントプロキシを生成しま
1
す。 クライアントプロキシには、Webサービスと接続して動作するのに必要なすべての関
数呼び出しが含まれています。
Webサービスが提供する関数、Webサービスに必要なデータ、サービスの場所は、WSDLを調
べれば分かります。WSDLは、サービスで使用できるWebサービスインタフェースや演算につ
いて定義します。WSDLの情報を使用して、サービスを利用するためのクライアントアプリ
ケーションを作成してください。
以下の図に、Webサービスの基本単位を示します。
Simple Object Access Protocol(SOAP)SOAPは、Webサービス用の通信プロトコルです。Webサービスメッセージのフォーマットを
定義しています。Javaなどのデータ構造をSOAP XMLへ変換する方法は、SOAPエンコードに
よってSOAP実行環境に通知されます。Webサービスとそのクライアント間の通信は、SOAPお
よびWSDLによって定義されています。
SOAPメッセージは、次のセクションを含んでいます。
¨ SOAPエンベロープ。エンベロープは、メッセージの内容が含まれ、それを誰があるいは
何が処理するか、あるいは、その処理を省略できるか否かといった、メッセージのフレ
ームワークを定義します。
¨ SOAPヘッダ。ヘッダはSOAPエンベロープの要素であり、SOAPメッセージに対し、分散化
された形で機能を追加できるようにします。
¨ SOAPボディ。SOAPボディには、意図した受信者と情報を交換するための必須の情報を格
納します。
ヘッダのエントリとして実装される拡張機能の代表的な例としては、認証およびトランザ
クション管理が挙げられます。SOAPヘッダは、SOAPメッセージの本文に格納されたデータ
を処理する上での助けとなるものです。通常、ヘッダには認証またはトランザクションに
関連した情報が格納されます。この情報がヘッダに格納されるのは、SOAPメッセージの本
文を送信した団体、または、メッセージの処理対象に含まれるコンテキストはこの情報に
よって識別されるためです。
2 第 1章: Webサービスの概念
SOAPメッセージを作成したり解析したりする際には、SOAPツールキットを使用します。こ
のツールキットによって、ほかの言語の関数呼び出しがSOAPメッセージに変換されます。
たとえば、Apache Axisツールキットでは、Javaの関数呼び出しがSOAPに変換されます。
SOAPを使用して、Webサービスを組織の内外にある各種プラットフォームに実装します。サ
ポートされる関数呼び出しとパラメータは、SOAPの実装方法によって異なります。したが
って、特定のツールキットで動作する関数が、必ずしも別のツールキットで動作するとは
限りません。
Webサービス記述言語(WSDL)WSDLはWebサービスで使用されるプロトコルやフォーマットについて記述したXML文書で
す。
WSDLには、サービス要求の送信者にも受信者にも交換されるデータが理解できるように、
Webサービスに渡されるデータが記述されています。 WSDL要素には、このほか、データ上
で実行される操作の詳細も含まれているため、メッセージの受信者は処理方法を理解でき
ます。また、プロトコルまたはトランスポートのバインドも含まれているので、送信者は
送信方法を理解できます。
Web Services Hub Console上のPowerCenter Web Services ProviderでホストされるWebサ
ービスのWSDLファイルを表示し、ダウンロードすることができます。
関連項目:
¨ 「Web Services Hub Consoleの使い方」 (ページ13)
Webサービス記述言語(WSDL) 3
第 2 章
Web Services Providerについて
この章では、以下の項目について説明します。
¨ Web Services Providerについての概要, 4 ページ
¨ Web Services Providerのアーキテクチャ, 6 ページ
¨ パフォーマンスおよび拡張性, 7 ページ
¨ Web Services Hubのセキュリティ, 9 ページ
¨ Web Services Hubログ, 9 ページ
¨ SOAPフォールトの処理, 10 ページ
Web Services Providerについての概要Web Services Providerは、PowerCenterのワークフローおよびデータ統合機能に外部クラ
イアントからWebサービス経由でアクセスできるようにする、PowerCenter Webサービスフ
レームワークのプロバイダエンティティです。
Web Services Providerは、以下のコンポーネントで構成されます。
¨ Web Services Hub。SOAP標準を使用して要求の受信およびWebサービスクライアントへ
の応答の送信を行う、PowerCenterドメイン内のアプリケーションサービス。 Web
Services HubはIntegration ServiceおよびRepository Serviceとやり取りし、要求を
処理して応答を生成します。
¨ バッチWebサービス。Web Services Providerには、Integration Serviceプロセスおよ
びリポジトリメタデータにアクセスできるWebサービス操作のセットが用意されていま
す。
¨ リアルタイムWebサービス。PowerCenterワークフローをWebサービスとして有効にする
場合は、リアルタイムWebサービスを作成します。 PowerCenterワークフローをWebサー
ビスに変換すると、Webサービスクライアントからワークフローを実行できます。
4
Web Services Hub
Web Services Hubは、PowerCenterドメイン内のWebサービスゲートウェイです。このゲー
トウェイを使用すると、クライアントアプリケーションはWebサービスの標準およびプロト
コルを使用して機能にアクセスできます。 Web Services Hubを使用すると、PowerCenter
ワークフローをWebサービスとして有効にすることができます。 また、PowerCenterプロセ
スのモニタリングおよびリポジトリ情報の取得も可能です。
Web Services Hubを使用すると、PowerCenterフレームワークの範囲内でデータ統合プロセ
スを実行できますが、要求および応答の処理にはWebサービステクノロジを使用します。
Web Services Hubでは、WebサービスクライアントからSOAPメッセージの形式で要求を受信
し、そのメッセージをIntegration Serviceに渡します。 Integration Serviceは
Repository Serviceと連携して要求を処理し、結果をWeb Services Hubに送信します。
Web Services Hubによって、WebサービスクライアントにSOAPメッセージの形式で応答が返
信されます。
Web Services Hubには、Webサービスの管理およびWebサービス用WSDLファイルの表示とダ
ウンロードが可能なWeb Services Hub Consoleが用意されています。 WSDLファイルを使用
して、Webサービスにアクセスするクライアントアプリケーションを作成できます。
PowerCenterのインストールにはWeb Services Hubが含まれています。 PowerCenterをイン
ストールした後、ドメイン内のその他のアプリケーションサービスを有効にする場合と同
様に、Informatica Administratorを使用してWeb Services Hubを作成し、これを有効化し
ます。
バッチWebサービス
Web Services Providerに用意されているWebサービス操作を使用すると、ワークフローを
実行およびモニタリングし、メタデータ情報にアクセスできます。 このWebサービス操作
は、総称してバッチWebサービスと呼ばれます。 バッチWebサービス操作では、Web
Services Hubに関連付けられたリポジトリ内のオブジェクトに関する情報を取得できま
す。また、Integration Serviceに接続して、ワークフローおよびタスクの実行を管理した
り、ワークフローおよびセッションに関する情報を取得したりできます。
バッチWebサービスは、以下のカテゴリに分類されます。
¨ Data Integration Webサービス。Data Integration Webサービスは、Integration
Serviceに接続して and run or monitor PowerCenterワークフローを実行またはモニタ
リングするために使用します。 Data Integration Web Serviceには、Integration
Serviceに関する詳細の取得、ワークフローのスケジュール設定および実行、ワークフ
ローでのタスクの開始および停止、またはセッションに関する統計のモニタリングおよ
び取得が可能な操作が用意されています。
¨ Metadata Webサービス。Metadata Web Serviceには、PowerCenterリポジトリからメタ
データを取得する操作が用意されています。 Metadata Web Serviceを使用して、リポ
ジトリでワークフローを実行およびモニタリングするのに必要なフォルダ、ワークフロ
ー、ワークフロータスクなどのリポジトリオブジェクトに関する情報を取得します。
リアルタイムWebサービス
インストール後に初めてWeb Services Hubを開始するときには、リアルタイムWebサービス
は使用できません。 リアルタイムWebサービスは、PowerCenterワークフローをWebサービ
Web Services Providerについての概要 5
スとして公開する場合に作成します。 Webサービスワークフローを実行するクライアント
を作成し、ワークフロープロセスの結果を取得できます。Webサービスでは、1つのSOAPメ
ッセージ要求を受信して1つのSOAPメッセージ応答を生成します。
Webサービスクライアントからメッセージを受信してから変換し、それをPowerCenterがサ
ポートする任意のターゲットに書き込むためのサービスマッピングを作成できます。 ま
た、Webサービスクライアントからメッセージ要求を受信し、データを変換してWebサービ
スクライアントに応答を返信するための、Webサービスのソース定義およびターゲット定義
を持つWebサービスマッピングを作成できます。ソース定義とターゲット定義はサービスの
操作を表し、ソースはユーザー要求を、ターゲットは応答を定義します。
マッピングを作成した後は、Webサービスワークフローを作成して、Webサービスマッピン
グで定義されたプロセスを実行できます。Webサービスワークフローとは、Webサービスと
して有効にされたワークフローです。Webサービスワークフローを設定し、ワークフローに
セッションを追加します。ワークフローを保存すると、Web Services HubによってWeb
Services Hub ConsoleでWebサービスが発行されます。 Integration Serviceはリクエスト
ベースおよびワンウェイサービスの両方をパラレル処理することが可能です。
Web Services ProviderのアーキテクチャWeb Services Providerは、Web Services Hubと、Web Services Hubによってホストされる
バッチWebサービスおよびリアルタイムWebサービスで構成されます。 Web Services Hubは
Integration ServiceおよびRepository Serviceと連携し、Webサービス要求を処理しま
す。
以下の図に、Web Services Providerのアーキテクチャを示します。
Web Services Hubは、リアルタイムWebサービスとバッチWebサービスに対して、同様の方
法で要求を処理します。
以下のプロセスは、Web Services HubがWebサービス要求を処理する方法を示しています。
1. Webサービスクライアントでは、SOAPメッセージをWeb Services Hubに送信してWebサ
ービスを実行します。
6 第 2章: Web Services Providerについて
2. バッチWebサービスの場合、Web Services Hubはログイン中に生成されたセッションID
に基づいてWebサービスクライアントを認証します。
保護されたリアルタイムWebサービスの場合、Web Services Hubはユーザー名トークン
に基づいてWebサービスクライアントを認証します。
3. Web Services Hubは、要求に対してメッセージIDを生成します。
リアルタイムWebサービスに対する要求の場合、Web Services HubはIntegration
Serviceにメッセージを送信します。
バッチWebサービス操作に対する要求の場合、Web Services Hubは要求のタイプに基づ
いてIntegration ServiceまたはRepository Serviceにメッセージを送信します。 例
えば、要求がワークフローの実行、またはIntegration Serviceの開始または停止の場
合、Web Services HubはIntegration Serviceに処理のメッセージを送信します。 要
求がリポジトリ内にあるワークフローリストの取得の場合、Web Services Hubは
Repository Serviceに処理のためにメッセージを送信します。
4. Integration ServiceまたはRepository Serviceが要求を処理します。
リアルタイムWebサービスに対する要求の場合、Integration Serviceは処理したデー
タをWeb Services Hubに送信し、メッセージIDを使用して要求を応答に関連付けま
す。
5. Web Services Hubは、SOAP応答をWebサービスクライアントに送信します。
Integration ServiceとWeb Services Hubは、プロセス全体を通じてRepository Serviceと
通信します。
パフォーマンスおよび拡張性1つのノード上で複数のWeb Services Hubを実行できます。 1つのノード上で複数のWeb
Services Hubを実行する場合、ノード上で実行できるWebサービスの数を増やして、リソー
スを最大限に活用します。
ドメイン内でWebサービスを実行するようにWeb Services Hubを設定すると、パフォーマン
スを強化して柔軟性と拡張性を提供するための以下のオプションを使用できます。
¨ 複数のリポジトリとWeb Services Hubとの関連付け
¨ 複数のWeb Services Hubとリポジトリとの関連付け
¨ Webサービスワークフローの複数インスタンスの実行
¨ グリッド上でのWebサービスセッションまたはワークフローの実行
複数のリポジトリとWeb Services Hubとの関連付け
複数のリポジトリをWeb Services Hubに関連付けることができます。 複数のリポジトリを
Web Services Hubに関連付ける場合、Web Services Hubは関連付けられたリポジトリのい
ずれかにあるWebサービスワークフローを実行できます。 これにより、同じWeb Services
Hubを使用して異なるユーザーによって異なる時にアクセスされるWebサービスが実行でき
るようになり、Web Services Hubを最大限に活用できます。
パフォーマンスおよび拡張性 7
リポジトリと複数のWeb Services Hub Servicesとの関連付け
リポジトリを複数のWeb Services Hubに関連付けることができます。 1つのリポジトリを
複数のWeb Services Hub Serviceに関連付けると、複数のWeb Services Hub Serviceで同
じWebサービスを実行することができます。
サードパーティ製のロードバランサを使用して、サービス要求ロードがWeb Services Hub
Service間でバランスをとるようにWeb Services Hub Serviceへの要求を管理および分配し
ます。 プロダクション環境で使用されるハードウェアロードバランサは、Webサービスの
パフォーマンスを最適化できます。管理者ツール内にWeb Services Hub Serviceを作成す
る場合は、ロードバランサのURLを設定します。
Webサービスワークフローの複数インスタンスの実行
複数インスタンスで実行するようにワークフローを設定する場合、Web Services HubはWeb
サービスの新規インスタンスを動的に開始して、できるだけ多くのWebサービス要求を処理
できます。 Web Services Hubは、Webサービス使用をモニタリングし、リソース使用状況
およびWebサービス処理時間を算出します。 Web Services HubがWebサービスへの要求を処
理するためにかかる最大時間のしきい値を設定できます。処理時間がしきい値を上回る
と、Web Services Hubは、Webサービスワークフローの別のインスタンスを開始して、新し
い要求を処理します。
サービス要求の数が減ると、Web Services HubはWebサービスインスタンスを動的にシャッ
トダウンしてリソース使用を削減します。
関連項目:
¨ 「Webサービスワークフローの同時実行」 (ページ114)
グリッド上でのWebサービスまたはワークフローの実行
PowerCenterドメインにグリッドが含まれている場合、グリッド上でWebサービスワークフ
ローを実行できます。 グリッドを作成し、管理者ツールでIntegration Serviceをグリッ
ドに関連付けます。 次に、Webサービスワークフローを実行するIntegration Serviceを割
り当てます。
クライアントアプリケーションから、グリッド上のWebサービスワークフローを実行するに
は、グリッドに関連付けられたIntegration ServiceでWebサービスワークフローを実行し
ます。
セッションをグリッド上で実行できるようにすることもできます。セッションをグリッド
上で実行すると、Integration Serviceがセッションスレッドをグリッド内のノード間に分
配します。 セッションをグリッド上で実行するには、メッセージIDをWebサービスのソー
スおよびターゲット定義に追加します。Integration Serviceは、メッセージIDを使用して
ノード間でWebサービスの入力および出力メッセージを関連付けます。
8 第 2章: Web Services Providerについて
Web Services HubのセキュリティWeb Services Hubには、以下のセキュリティレベルがあります。
¨ 暗号化。Web Services Hubは、リポジトリへの接続に使用する環境設定ファイル内のリ
ポジトリログイン情報を暗号化します。 また、Web Services Hubをセキュアモードで
実行し、Webサービスクライアント要求の暗号化にSSLプロトコルを使用することもでき
ます。
¨ 認証。バッチWebサービスの場合、Webサービスクライアントアプリケーションは、
Login操作を呼び出してから他の操作を呼び出す必要があります。 Web Services Hubは
セッションIDに基づいて要求の認証を行います。
保護されたリアルタイムWebサービスの場合、Web Services Hubはユーザー名トークン
に基づいてWebサービスクライアントを認証します。 Webサービスクライアントでは、
Web Services Hubに送信されるすべてのSOAP要求にユーザー名トークンを含める必要が
あります。 ユーザー名トークンには、プレーンテキストパスワード、ハッシュパスワ
ード、またはダイジェストパスワードを使用できます。
Web Services Hubでは、パブリックなリアルタイムWebサービスのWebサービス要求を認
証しません。
¨ 権限付与。リポジトリにアクセスするWebサービスクライアントは、サービスを実行す
るためにフォルダに権限が必要です。 保護されたリアルタイムWebサービスの場合、フ
ォルダに適切な権限を持つWebサービスクライアントは、サービス設定に基づいてその
フォルダでサービスを実行できます。 例えば、サービスが実行できない場合、Webサー
ビスクライアントはサービスを開始できませんが、Webサービスワークフローが稼動中
の場合はサービスを起動できます。
関連項目:
¨ 「クライアント要求へのセキュリティの追加」 (ページ77)
Web Services HubログWeb Services Hubは、サービスの初期化、タスクの実行、接続状態といったタスク関連の
状態メッセージおよびエラーメッセージについてログを作成します。 ログには、クライア
ントのIPアドレス、クライアントが起動するサービス、関連付けられたワークフローが含
まれます。このログのエラーメッセージを調べることによって、問題を解決することがで
きます。
管理者ツールでは、Web Services Hubのログを表示および設定できます。
注: Web Services Hubが要求を処理できない場合、SOAP応答のfault要素にもメッセージ
を書き込みます。
関連項目:
¨ 「SOAPフォールトの処理」 (ページ10)
Web Services Hubのセキュリティ 9
ログの設定
PowerCenterドメインのロッグマネージャは、Web Services Hubを含む、ドメイン内のすべ
てのサービスのすべてのログ機能を扱います。
管理者ツールでは、Web Services Hubログのサイズや場所、ログに含めるエラーのレベル
を設定できます。
ログの表示
Web Services Hubログイベントは、Administration Consoleのログビューアで表示できま
す。 ログイベントをフィルタして、Web Services Hubに対応するログイベントのみのリス
トを取得できます。 ログビューアでログイベントを表示すると、ロッグマネージャはドメ
イン管理者が設定したログディレクトリに生成されたファイルからログイベントを表示し
ます。
SOAPフォールトの処理Web Services Hubは、SOAPフォールトメッセージとしてエラー応答を送信します。 Web
Services Hubは、以下のタイプのフォールト応答を生成できます。
¨ ユーザー定義フォールト
¨ システムフォールト
ユーザー定義フォールト
エラーデータをターゲットに送信するには、ターゲット定義でフォルトビューを定義しま
す。Webサービスマッピング内の変換ロジックによりエラーデータがターゲットに送信され
る場合、Integration Serviceはフォールトターゲットにメッセージを書き込みます。 特
定のエラーを捕捉および解決するには、エラーデータをターゲットに送信します。たとえ
ば、応答のデータタイプが文字列であることを期待しているとします。Webサービスワーク
フローから数値の応答が送信されたら、応答をフォールトターゲットに送信することがで
きます。次に、応答を評価してエラーを解決できます。
システムフォールト
Web Services Hubにシステムエラーが発生した場合、エラーのタイプに基づいてフォール
トメッセージが生成され、応答がWebサービスクライアントに送信されます。 フォールト
メッセージは、Web Services Hubがエラー発生時に実行するタスクに基づいています。
¨ Web Services HubがSOAP要求メッセージのheader要素を処理できない場合は、SOAP
response header要素の子要素内の、SOAP要求メッセージのヘッダエントリに関するエ
ラー情報が返されます。
¨ Web Services Hubは、SOAP要求のheader要素にエラーを検出した場合、body要素の処理
を行いません。この要求に対するSOAP応答では、SOAPヘッダにheader fault要素が格納
されるほか、detail要素を除くSOAP fault要素が返されます。
10 第 2章: Web Services Providerについて
¨ Web Services Hubがbody要素の内容を処理できない場合、SOAP応答メッセージのSOAP
fault要素にはエラー情報を含むdetail要素が格納されます。
¨ Web Services Hubは、以下のいずれかのシステムエラーが発生した場合に、detail要素
内にエラー情報と共にSOAPフォールト応答を生成します。
- Integration Serviceが実行されていないため、Web Services Hubが入力メッセージを
処理できません。
- Web Services Hubがタイムアウトしました。
-保護されたWebサービスでは、有効なユーザー名トークンは得られません。
¨ Web Services Hubは、次の場合にWebサービス要求に対して応答を返しません。
-サービス要求の内容は、形式が不正であるか、構文エラーを生成します。
-ワークフローが要求を除外します。
システムフォールトスキーマ
デフォルトでは、システムフォールトメッセージの内容には、プレフィックスとコード番
号で構成されるメッセージコードだけでなく、メッセージテキストがあります。例えば、
メッセージコードWSH_95002は、空のワークフロー名を含む無効な要求に関連付けられてい
ます。
メッセージコードは、SOAPフォールトのdetail要素内のErrorCode要素であり、メッセージ
テキストはSOAPフォールトのfaultstring要素です。
SOAPフォールトヘッダ
Web Services Hubは、SOAP応答ヘッダのheader fault要素でヘッダ関連のエラーを報告し
ます。
この要素のスキーマを次に示します。
<ns1:HeaderFault xmlns:ns1=”http://www.informatica.com/wsh”> <ErrorCode> error code </ErrorCode <ErrorMessage> error message </ErrorMessage></ns1:HeaderFault>
SOAPフォールトボディ
SOAPフォールトボディには、次のような下位要素が保持されています。
¨ faultcode。faultcodeは、Webサービスクライアント側で発生したエラーか、
Integration Service側で発生したエラーかを示します。 エラーは、メッセージの構造
が正しくない場合に、Webサービスクライアントで発生します。
¨ faultstring。faultstringは、エラーの説明をします。 faultstringの値は、
Integration Service、Web Services Hub、またはRepository Serviceのうちどこでエ
ラーが発生したかを示します。
¨ detail。detail要素はエラーコードを含むエラー情報を保持し、エラー明細要素は
faultstringがWeb Services HubまたはRepository Serviceのエラーである場合の詳細
エラー情報を提供します。
SOAPフォールトの処理 11
Web Services Hubは次のSOAPフォールトスキーマを使用します。
<SOAP-ENV: Fault> <faultcode> Client/Server </faultcode> <faultstring>Brief Description of Error</faultstring> <detail> <ns:WSHFaultDetails xmlns:ns="www.informatica.com/wsh"> <ErrorCode> Error Code </ ErrorCode > <ExtendedDetails> Actual Error </ ExtendedDetails > </ns:WSHFaultDetails> </detail></SOAP-ENV: Fault>
12 第 2章: Web Services Providerについて
第 3 章
Web Services Hub Consoleの使い方
この章では、以下の項目について説明します。
¨ Web Services Hub Consoleの使い方の概要, 13 ページ
¨ Web Services Hub Consoleへの接続, 14 ページ
¨ Web Services Hub Consoleについて, 14 ページ
¨ Webサービスのテスト, 18 ページ
Web Services Hub Consoleの使い方の概要Web Services Hub Consoleは、Web Services Hubで使用可能なリアルタイムWebサービスお
よびバッチWebサービスの操作を表示してテストするために使用するPowerCenterアプリケ
ーションです。 Web Services Hub Consoleを使用して、以下の作業を実行します。
¨ リアルタイムWebサービスのプロパティを表示します。Webサービスが保護されているか
どうかなど、Webサービスおよびプロパティの説明を表示できます。 また、Webサービ
スを含むリポジトリおよびフォルダも確認できます。
¨ リアルタイムWebサービスのWSDLを表示します。WSDLをダウンロードするには、ハード
ディスク上のファイルにWSDLを保存します。
¨ リアルタイムWebサービスをテストします。 試行クライアントアプリケーションを使用
し、有効なWebサービスを実行してWeb Services Hub Consoleに応答を表示します。 バ
ッチWebサービスの操作をテストすることもできます。
¨ バッチWebサービス操作の説明を表示します。バッチWebサービスの操作の説明を表示で
きます。 試行アプリケーションを使用し、操作のパラメータを表示できます。
¨ Data IntegrationおよびMetadata WebサービスのWSDLを表示します。WSDLをダウンロー
ドするには、ハードディスク上のファイルにWSDLを保存します。
¨ バッチWebサービス操作をテストします。 試行アプリケーションを使用し、バッチWeb
サービス操作を実行してWeb Services Hub Consoleに応答を表示します。
注: Web Services Hub Consoleは認証の必要がありません。 Web Services Hub Console
にはログインなしでアクセスできます。 セキュリティを確保するために、Web Services
Hubはセキュリティ保護されたネットワーク環境内で実行してください。
13
Web Services Hub Consoleへの接続Web Services Hub Consoleには任意のブラウザから接続できます。
以下のURLのいずれかを使用して、Web Services Hub Consoleに接続します。
http://<WebServicesHubHostName:PortNumber>/wshhttp://<WebServicesHubHostName:PortNumber>/PowerCenter
コンテキスト名/wshおよび/PowerCenterでは、大文字と小文字が区別されます。
HTTP上で実行するWeb Services Hubのデフォルトのポート番号は7333です。 HTTPSによる
セキュリティ保護された接続を使用するようにWeb Services Hubを設定することもできま
す。 HTTPS上で実行するWeb Services Hubのデフォルトのポート番号は7343です。 管理者
ツールでWeb Services Hubを作成する場合は、ポート番号を設定できます。
管理者ツールからWeb Services Hub Consoleに接続することもできます。 Web Services
Hubの詳細を表示して、サービスURLをクリックします。 Web Services Hub Consoleに接続
するには、Web Services Hubを有効にする必要があります。
Web Services Hub ConsoleについてWeb Services Hub Consoleは、以下の節で構成されています。
¨ ナビゲータ。ナビゲータには、Web Services Hub Console上に表示できるサービスのタ
イプが表示されます。
¨ Web Servicesまたは操作。リアルタイムWebサービスの場合、[Webサービス]セクショ
ンに有効または無効なWebサービスが表示されます。 バッチWebサービスの場合、
Metadata Web ServiceおよびData Integration Web Serviceで使用可能な演算が[操
作]セクションに表示されます。
[Webサービス]セクションでは、WebサービスのテストまたはWebサービスのWSDLの表
示を実行できます。
[操作]セクションでは、バッチWebサービス操作のテスト、またはバッチWebサービス
WSDLの表示および保存を実行できます。
¨ 説明。[説明]セクションには、ナビゲータで選択したWebサービスのタイプに関する
情報が表示されます。
¨ プロパティ。[プロパティ]セクションには、[Webサービス]または[操作]セクシ
ョンで選択したWebサービスまたはWebサービス操作のプロパティが表示されます。
ナビゲータ
ナビゲータでは、スクロールして、情報を表示するWebサービスのタイプを選択できます。
コンソールの他のセクションに表示される情報は、ナビゲータで選択したWebサービスのタ
イプに基づいて異なります。
14 第 3章: Web Services Hub Consoleの使い方
[Webサービス]および[操作]セクション
Web Services Hub Consoleには、ナビゲータで選択したWebサービスのタイプに応じて
[Webサービス]セクションまたは[操作]セクションが表示されます。
ナビゲータで[有効なWebサービス]または[無効なWebサービス]を選択すると、[Webサ
ービス]セクションにWeb Services Hub上で実行するリアルタイムWebサービスに関する情
報が表示されます。
ナビゲータで[メタデータWebサービス]または[データ統合Webサービス]を選択する
と、[操作]セクションにWeb Services Hub上で使用可能なバッチWebサービス操作が表示
されます。
Webサービスまたは操作のリストは、ソートできます。Webサービスまたは操作のリストを
ソートするには、ソートするカラムのラベルをクリックします。Web Services Hub
Consoleには、Webサービスまたは操作がクリックしたカラムに基づいてアルファベット順
に一覧表示されます。 カラムラベルの横の矢印は、リストのソート順(昇順または降順)
を示します。
試行アプリケーションを使用し、[Webサービス]および[操作]セクションに表示された
Webサービス操作をテストできます。Webサービス操作をテストするには、Webサービス操作
の入力メッセージにパラメータの値を入力して応答を表示します。
[Webサービス]セクションには、WebサービスのWSDLを表示できます。[操作]セクショ
ンには、バッチWebサービスのWSDLを表示できます。WSDLは、操作ではなくメタデータWeb
サービスまたはデータ統合Webサービスに対して発行されます。操作を選択してWSDLをクリ
ックすると、Web Services HubにはメタデータWebサービスまたはデータ統合Webサービス
のWSDLが表示されます。WSDLを使用して、リアルタイムWebサービスまたはバッチWebサー
ビス操作を呼び出すクライアントアプリケーションを記述します。
[Webサービス]セクション
Web Services Hub ConsoleにリアルタイムWebサービスを表示するには、Webサービスワー
クフローを作成する必要があります。Webサービスワークフローを表示できるように設定す
ると、Web Services HubがWeb Services Hub Console上でWebサービスおよびWSDLを発行し
ます。
ナビゲータで[有効なWebサービス]または[無効なWebサービス]を選択すると、[Webサ
ービス]セクションに、Web Services Hub Consoleに表示するよう設定されたリアルタイ
ムWebサービスのリストが表示されます。
リポジトリ内のオブジェクトを管理する特権を持っている場合は、リポジトリに関連付け
られているすべてのWebサービスを表示できます。他のユーザーが作成したWebサービス
は、表示できますが実行できません。例えば、TestRepoリポジトリのランタイムオブジェ
クトの作成、編集、および削除特権を持っているとします。この場合、TestRepoリポジト
リに関連付けられているWeb Services HubのWeb Services Hub Consoleでは、TestRepoリ
ポジトリ内のすべてのWebサービスを表示できます。他のユーザーが作成したTestRepoリポ
ジトリ内のWebサービスは、表示できますが実行できません。
Web Services Hub Consoleについて 15
次の表に、[Webサービス]セクションで使用できるオプションを示します。
ラベル 説明
Try-It(試
行)
選択したWebサービスのテストに使用できるクライアントアプリ
ケーション。クリックすると、選択したWebサービスを実行でき
ます。
無効なWebサービスには使用できません。
WSDL 選択したWebサービスのWSDL。クリックすると、選択したWebサー
ビスのWSDLファイルを表示できます。セクションの一番上、また
は選択したWebサービスと同じ行にあるWSDLボタンをクリックで
きます。WSDLをダウンロードするには、WSDLをローカルマシンに
表示および保存します。
無効なWebサービスには使用できません。
検索 Webサービスを検索します。検索したいテキストの文字列を入力
して、[実行]をクリックします。[Web Services(Webサービ
ス)]セクションに、そのテキストを含むWebサービス名、リポ
ジトリ名、またはワークフロー名が一覧表示されます。
サービス名 Web Services Hub上で実行できるWebサービスの名前。
リポジトリ
名
Webサービスに関連付けられたリポジトリの名前。
ワークフロ
ー名
Webサービスを構成するワークフローの名前。
[操作]セクション
[操作]セクションには、Web Services Hubで使用可能なバッチWebサービス操作が一覧表
示されます。 これらの操作をクライアントアプリケーションから呼び出して、ワークフロ
ーの実行およびモニタリング、PowerCenter メタデータへのアクセスを実行できます。
ナビゲータでMetadata Web Serviceを選択すると、[操作]セクションに使用可能な
Metadata Web Service操作のリストが表示されます。 ナビゲータでData Integration Web
Serviceを選択すると、[操作]セクションに使用可能なData Integration Web Service操
作のリストが表示されます。
[操作]セクションには、以下のアイコンおよび情報が表示されます。
ラベル 説明
試行 選択した操作をテストするアプリケーション。選択したMetadata
Web ServiceまたはData Integration Web Services操作をクリッ
クして実行します。
WSDL MetadataまたはData Integration Web ServiceのWSDL。 クリッ
クすると、Webサービスの選択したタイプのWeb Services Hubに
よって発行されるWSDLを表示できます。 ナビゲータでMetadata
Web Serviceを選択して[WSDL]をクリックすると、Metadata
16 第 3章: Web Services Hub Consoleの使い方
ラベル 説明
Web ServiceのWSDLが表示されます。 ナビゲータでData
Integration Web Serviceを選択して[WSDL]をクリックする
と、Data Integration Web ServiceのWSDLが表示されます。
WSDLをダウンロードするには、WSDLをローカルマシンに表示およ
び保存します。
検索 対象操作を検索します。検索したいテキストの文字列を入力し
て、[実行]をクリックします。[操作]セクションに、テキス
トを含む操作名または説明が一覧表示されます。
操作名 Metadata Web ServiceまたはData Integration Web Services操
作の名前。
説明 Metadata Web ServiceまたはData Integration Web Services操
作の説明。
[プロパティ]セクション
[プロパティ]セクションには、[Webサービス]または[操作]セクションで選択した
WebサービスまたはWebサービス操作に関する情報が表示されます。
リアルタイムWebサービスの[プロパティ]セクション
[Webサービス]セクションで有効または無効なリアルタイムWebサービスを選択すると、
選択したWebサービスのプロパティが[プロパティ]セクションに表示されます。
リアルタイムWebサービスでは、[プロパティ]セクションに以下のプロパティが表示され
ます。
プロパティ 説明
サービス名 Webサービスの名前です。
ドメイン名 Web Services Hubを含むPowerCenterドメインの名前。
リポジトリ
名
Webサービスワークフローを含むリポジトリ。
フォルダ名 Webサービスワークフローを含むフォルダの名前。
ワークフロ
ー名
Webサービスに関連付けられたワークフローの名前。
説明 Webサービスの説明。
実行可能 Webサービスをクライアントアプリケーションによって開始でき
るかどうかを指定します。
Web Services Hub Consoleについて 17
プロパティ 説明
Trueの場合、Webサービスクライアントは、Webサービスワーク
フローの開始、またはワークフロー実行中のWebサービスの起動
を実行できます。
Falseの場合、Webサービスクライアントはワークフロー実行中
にWebサービスを起動できますが、ワークフローの開始はできま
せん。
保護 Webサービスが保護されているか公開されているかを示します。
Trueの場合、Webサービスクライアント要求が認証を渡す必要が
あります。 SOAP要求では、有効なユーザー名トークンがヘッダ
に含まれている必要があります。
Falseの場合、いずれのWebサービスクライアントも認証なしで
Webサービス要求を実行できます。
一方向 Webサービスが一方向マッピングであるか要求/応答マッピング
であるかを指定します。
バッチWebサービスの[プロパティ]セクション
[操作]セクションでMetadata Web Service操作またはData Integration Web Service操
作を選択すると、選択したWebサービス操作の名前および説明が[プロパティ]セクション
に表示されます。
Webサービスのテスト試行アプリケーションは、Web Services Hub Consoleに表示されたリアルタイムまたはバ
ッチWebサービス操作を実行するために使用できるクライアントアプリケーションです。
試行アプリケーションを使用すると、有効なWebサービス操作をテストし、Web Services
Hub Console上に結果を表示できます。 入力メッセージに必要なパラメータが確かでない
場合、または特定の入力メッセージへの応答を表示する場合は、試行アプリケーションを
使用できます。
試行アプリケーションを使用すると、WSDLをダウンロードしてクライアントアプリケーシ
ョンのクライアントプロキシクラスを生成することなく、Webサービスを実行するか操作を
呼び出すことができます。 コンソール上に応答を表示して、クライアントアプリケーショ
ンでWebサービスから応答をどのように処理すべきかを判断できます。
有効なリアルタイムWebサービスアプリケーションまたはバッチWebサービス操作をテスト
できます。SOAPアタッチメントが含まれるWSDLを使用したWebサービスのテストには、試行
アプリケーションを使用できません。
保護されたリアルタイムWebサービスには、認証が必要です。保護されたWebサービス操作
をテストするには、PowerCenterリポジトリにログインする有効なユーザー名トークンを指
定します。
18 第 3章: Web Services Hub Consoleの使い方
入力メッセージ
試行アプリケーションには、Webサービス要求を作成するための2つの方法が用意されてい
ます。
¨ XML入力
¨ フォーム入力
要求の要件に最適な方法を使用します。例えば、複数回出現要素が要求に含まれている場
合は、XML入力を使用して要求メッセージを作成します。
XML入力
[XML入力]タブを選択すると、Web Services Hubにはサービス要求操作の実行に必要な要
素を含むSOAP入力メッセージが表示されます。 SOAPメッセージの要素の値を入力します。
また、Web Services Hub Consoleの外でSOAPメッセージを作成して、[XML入力]セクショ
ンにペーストすることができます。
Web Services Hubでは、SOAP入力メッセージを使用してWebサービスを実行します。 応答
をSOAP出力メッセージとして表示します。
フォーム入力
[フォーム入力]タブを選択すると、Web Services HubにWebサービス要求のパラメータリ
ストが表示されます。 パラメータの値を入力します。Webサービス要求に複合タイプの要
素が含まれる場合は、[フォーム入力]タブに入力パラメータが正しい階層で表示されま
す。
Web Services Hubでは、入力されたパラメータ値を使用してSOAP入力メッセージを作成
し、Webサービスを実行します。 応答をSOAP出力メッセージとして表示します。
パブリックWebサービスまたはバッチWebサービス操作のテスト
パブリックまたはバッチWebサービスをテストするには、Webサービス操作を選択して、Web
サービス操作の入力メッセージにパラメータの値を入力します。
パブリックWebサービスまたはバッチWebサービス操作をテストする手順
1. [Webサービス]または[操作]セクションで、有効なリアルタイムWebサービスまた
は操作を選択します。
2. [試行]をクリックします。
試行アプリケーションウィンドウに、テスト可能なWebサービス操作のリストと、試行
アプリケーションの実行方法に関する手順が表示されます。
3. テストする操作を選択します。
試行アプリケーションウィンドウに、入力メッセージのパラメータが表示されます。
4. [XML入力]タブをクリックし、SOAPメッセージフォーマットで入力メッセージを入力
します。
または、[フォーム入力]タブをクリックし、パラメータ入力形式で入力パラメータ
を入力します。
Webサービスのテスト 19
5. パラメータの値を入力します。
WSDLには、ユーザー定義データタイプを指定できます。フォールト応答を回避するた
めに、データタイプに従ってパラメータの値を入力してください。
6. [送信]をクリックします。
Web Services Hubは、Webサービス操作を実行してSOAPメッセージ応答およびメッセー
ジを表示し、成功または失敗を示します。
7. パラメータをクリアして新しい値を入力するには、[リセット]をクリックします。
8. Webブラウザの[閉じる]ボタンをクリックして、試行アプリケーションウィンドウを
終了し、Web Services Hub Consoleのメインページに戻ります。
保護されたリアルタイムWebサービスのテスト
保護されたリアルタイムWebサービスをテストするには、SOAPヘッダに有効なユーザー名ト
ークンを含めます。 [フォーム入力]タブにユーザー名およびパスワードを入力するか、
[XML入力]タブでユーザー名トークンのすべての要素が含まれるようにSOAPメッセージを
変更します。
[フォーム入力]タブまたは[XML入力]タブで、プレーンテキストパスワードまたはハッ
シュパスワードを使用して、保護されたWebサービスをテストできます。 保護されたWebサ
ービスをハッシュパスワードでテストするには、Webサービスをテストする前に、MD5また
はSHA-1ハッシュ関数でパスワードを暗号化します。 暗号化はBase64で符号化する必要が
あります。 取得されたハッシュ値をWebサービスのパスワードとして使用します。
[XML入力]タブでダイジェストパスワードを使用して、保護されたWebサービスをテスト
できます。 保護されたWebサービスをダイジェストパスワードを使用してテストするに
は、ダイジェストパスワードに対してUsernameToken要素で要求されるパスワード属性およ
び要素を追加します。
保護されたWebサービスをテストする手順
1. リアルタイムWebサービスの[Webサービス]セクションで、実行対象の保護されたWeb
サービスを選択して、[試行]をクリックします。
2. 試行アプリケーションウィンドウで、保護されたWebサービスの操作を選択します。
3. [フォーム入力]を使用してWebサービス操作をテストするには、[フォーム入力]タ
ブを選択します。
[SOAPヘッダ]セクションで、ユーザー名およびプレーンテキストパスワードまたは
ハッシュパスワードを入力します。
[SOAPボディ]セクションで、保護されたWebサービスが要求するパラメータの値を入
力します。
または
XML入力を使用してWebサービス操作をテストするには、[XML入力]タブを選択して、
UsernameToken要素を更新します。
20 第 3章: Web Services Hub Consoleの使い方
プレーンテキストパスワードまたはハッシュパスワードを使用する保護されたWebサー
ビスをテストするには、Usernameおよびパスワード子要素内の値[string]を有効な
ユーザー名とパスワードに置き換えます。
<UsernameToken> <Username>[string]</Username> <Password>[string]</Password></UsernameToken>
ダイジェストパスワードを使用する保護されたWebサービスをテストするには、
Username要素内の値[string]を有効なユーザー名に置き換えます。 パスワード要素
を更新して、適切な値のNonceおよびCreated要素を追加します。
<UsernameToken> <Username>[string]</Username> <Password Type="PasswordDigest">[string]</Password> <Nonce>[NonceValue]</Nonce> <Created>[RequestCreationTimestamp]</Created></UsernameToken>
UsernameToken要素の詳細については、「SOAPリクエストのUsernameToken」 (ページ
78)を参照してください。
[SOAPボディ]セクションで、保護されたWebサービスが要求するパラメータの値を入
力します。
4. [送信]をクリックします。
Web Services Hubは、保護されたWebサービスを実行して、コンソール上にSOAPメッセ
ージ応答を表示します。
5. Webブラウザの[閉じる]ボタンをクリックして、試行アプリケーションウィンドウを
終了し、Web Services Hub Consoleのメインページに戻ります。
Webサービスのテスト 21
第 4 章
バッチWebサービスの操作
この章では、以下の項目について説明します。
¨ バッチWebサービスの操作の概要, 22 ページ
¨ メタデータWebサービスの操作, 22 ページ
¨ Data Integration Webサービスの操作, 26 ページ
バッチWebサービスの操作の概要Batch Web Servicesの演算を使用すると、既存のワークフローやタスクのスケジュール、
開始、停止を設定できます。セッション統計やパフォーマンスデータを取得できます。ワ
ークフローやセッションのログを取得できます。
バッチWebサービスは、別々のWSDLに定義された以下のグループのサービスで構成されま
す。
¨ Metadata Webサービス。Metadata Webサービスの操作は、Web Services Hub Consoleの
[バッチWebサービス]ページにあるMetadata WSDLに定義されています。
¨ Data Integration Webサービス。Data Integration Webサービスの操作は、Web
Services Hub Consoleの[バッチWebサービス]ページにあるData Integration WSDLに
定義されています。
この章では、バッチWebサービスで可能な操作について説明します。 この操作に関する要
求と応答のXMLドキュメントについて詳しい情報が必要な場合は、WSDLファイルを参照して
ください。
注: バッチWebサービス操作の呼び出しで取得されたログセグメントは、Integration
ServiceコードページまたはUTF-16LEで表示されます。
メタデータWebサービスの操作Metadata Webサービスの操作を使用して、Web Services Hubに関連付けられたPowerCenter
リポジトリからメタデータを取得します。
22
この操作を利用して、リポジトリにログインして以下のリポジトリオブジェクトのリスト
を取得できます。
¨ Web Services Hubに関連付けられているリポジトリ内のすべてのフォルダ
¨ フォルダ内のすべてのワークフロー
¨ ワークフロー内のすべてのワークレットおよびセッションタスク
¨ リポジトリに関連付けられているすべてのIntegration Service
¨ Web Services Hubに関連付けられているすべてのリポジトリ
ここでは、Metadata Webサービスで可能なすべての操作を示します。
getAllDIServers
この操作を使用して、リポジトリに関連付けられたすべてのIntegration Serviceの名前を
取得します。
1つ以上のIntegration Serviceをリポジトリに関連付けて、ワークフローやセッションを
実行することができます。 複数のIntegration Serviceの環境では、ユーザーが
Integration Serviceを簡単に識別できるように、関連するサービスにそれぞれわかりやす
いサービス名を付けることが重要です。 リポジトリに関連付けられた各Integration
Serviceのサービス名と、ホスト名およびポート番号の組み合わせは、リポジトリに関連付
けられたサービスに対して一意であることが必要です。
この操作は、指定されたリポジトリに関連付けられたすべてのIntegration Serviceの名前
を返します。
SessionIDパラメータを指定してgetAllDIServers操作を呼び出します。リポジトリにログ
インした後にセッションIDが生成されます。
GetAllFolders
この演算を使用してリポジトリ内のすべてのフォルダを取得します。
SessionIDパラメータを指定してgetAllFolders操作を呼び出します。リポジトリにログイ
ンした後にセッションIDが生成されます。
getAllRepositories
この演算を使用して、Web Services Hubに関連するすべてのリポジトリを表示します。
getAllRepositories操作にはパラメータが必要ありません。
Web Services Hubクライアントアプリケーションでリポジトリを使用するには、Web
Services Hubにリポジトリを関連付ける必要があります。 管理者ツールを使用して、Web
Services Hubにリポジトリを関連付けます。
注: getAllRepositories演算は特定のリポジトリと関連付けられていないため、演算を使
用するためにリポジトリにログインする必要はありません。getAllRepositories演算は、
ログイン演算を呼び出さなくても呼び出すことができます。
メタデータWebサービスの操作 23
getAllTaskInstances
この操作を使用して、指定した深さのワークフローに含まれるすべてのワークレットおよ
びセッションタスクのインスタンスについての情報を取得します。リポジトリにログイン
してから、この操作を呼び出す必要があります。
以下の表に、この操作のパラメータを示します。
パラメータ名 必須/オ
プショ
ン
説明
SessionID 必須 ログイン後に生成されたセッションID。
Depth 必須 タスクインスタンスに関する情報を取得する
ワークフロータスク階層内のレベル数。
WorkflowName 必須 ワークレットおよびセッションが含まれるワ
ークフローの名前。
FolderName 必須 ワークフローが格納されているフォルダの名
前。
IsValid オプシ
ョン
有効または無効なタスクインスタンスを取得
するかどうかを指定します。有効なタスクイ
ンスタンスを取得するにはTrueに設定しま
す。
getAllWorkflows
この操作を使用して、フォルダ内のすべてのワークフローに関する情報を取得します。ワ
ークフローとは、セッション、メール通知、およびシェルコマンドといったタスクをどの
ように実行するかをIntegration Serviceに示す指示のセットです。ワークフローの情報に
は、ワークフロー名やワークフローが存在するフォルダ名のほか、ワークフローが有効か
どうかの情報が含まれます。
リポジトリにログインしてから、この操作を呼び出す必要があります。
以下の表に、この操作のパラメータを示します。
パラメータ名 必須/オ
プショ
ン
説明
SessionID 必須 ログイン後に生成されたセッションID。
名前 必須 ワークフローが格納されているフォルダの名
前。
24 第 4章: バッチWebサービスの操作
ログイン
この操作を使用して、リポジトリにログインします。ログイン操作では、指定したリポジ
トリのユーザー名およびパスワードを認証します。クライアントアプリケーションは、他
の演算を呼び出す前に、この演算を呼び出す必要があります。ログイン演算を呼び出した
後、Webサービスのクライアントアプリケーションは任意のBatch Web Servicesの演算を呼
び出すことができます。
ログイン演算には、リポジトリ名、ユーザー名、およびパスワードが必要です。 それによ
って、暗号化されたセッションIDが返されます。 リポジトリは、Web Services Hubと同じ
ドメインにある必要があります。
以下の表に、この操作のパラメータを示します。
パラメータ名 必須/オ
プショ
ン
説明
RepositoryName 必須 ログインするリポジトリの名前。
UserName 必須 リポジトリにログインするために使用するユ
ーザー名。
パスワード 必須 リポジトリにログインするために使用するユ
ーザーアカウントのパスワード。
RepositoryDomainN
ame
オプシ
ョン
リポジトリサービスのドメイン名。
UserNameSpace 条件付 リポジトリにログインするために使用するユ
ーザーアカウントのセキュリティドメイン。
PowerCenterドメインに複数のセキュリティ
ドメインが存在する場合は必須。
セッションの有効期限
セッションIDは、非アクティブ状態の後で期限切れになります。Web Services Hubの
[SessionExpiryPeriod]詳細プロパティを設定し、セッションが期限切れとなるまでの非
アクティブな状態の時間の長さを指定します。Web Services Hubの詳細プロパティは、管
理者ツールで設定できます。
Web Services Hubは、セッションの開始時にユーザー名とパスワードをキャッシュしま
す。 Web Services Hubは、セッションが期限切れとなるまで、キャッシュされたユーザー
名とパスワードをログイン認証に使用します。ユーザーアカウントを変更しても、セッシ
ョンが期限切れになるまで認証には影響しません。 ユーザーアカウントを削除または無効
化しても、セッションが期限切れになるまで、ユーザーアカウントは削除または無効化さ
れません。 ユーザーアカウントがロックされた場合、ロックされたユーザーは、セッショ
ンの期限が切れるまで要求を送信できます。
注: SessionExpiryPeriodの値が大きい場合は、ユーザーアカウントの変更が有効になるま
でしばらく時間がかかります。 セキュリティ違反を防止するため、セッション内で使用中
のユーザーアカウントを削除または変更しないでください。
メタデータWebサービスの操作 25
ログアウト
この操作を使用して、リポジトリからログアウトします。Logout操作を使用して、リポジ
トリおよびIntegration Serviceからユーザーを切断します。クライアントアプリケーショ
ン実行の最後にこの操作を呼び出してリソースを解放し、Repository ServiceとWeb
Services Hubプロセスで起こりうるメモリリークを防ぎます。
SessionIDパラメータを指定してLogout操作を呼び出します。リポジトリにログインした後
にセッションIDが生成されます。
Data Integration Webサービスの操作Data Integration Webサービス操作で、以下の作業を実行できます。
¨ Repository Serviceへの接続。 リポジトリにログインおよびログアウトするには、次
の操作を使用します。
-ログイン
-ログアウト
¨ Integration Serviceに関する詳細への接続および取得。 次の操作を使用して、
Integration Serviceが実行されていることを確認し、Integration Serviceに関する情
報を取得できます。
- pingDIServer
- getDIServerProperties
- initializeDIServerConnection(廃止)
- deinitializeDIServerConnection(廃止)
¨ ワークフローのスケジュール設定および実行。以下の操作を使用して、ワークフローの
実行を管理できます。
- startWorkflow
- startWorkflowEx
- stopWorkflow
- scheduleWorkflow
- startWorkflowFromTask
- unscheduleWorkflow
- waitTillWorkflowComplete
¨ ワークフロー内のタスクの開始および停止。以下の操作を使用して、ワークフロー内の
タスクを管理できます。
- recoverWorkflow
- resumeWorkflow(廃止)
- startTask
- stopTask
- waitTillTaskComplete
26 第 4章: バッチWebサービスの操作
¨ セッションの統計の取得。次の操作を使用して、セッションまたはワークフローの実行
に関する詳細を取得できます。
- getNextLogSegment(廃止)
- getSessionLog
- getSessionPerformanceData
- getSessionStatistics
- getTaskDetails
- getTaskDetailsEx
- getWorkflowDetails
- getWorkflowDetailsEx
- getWorkflowLog
- monitorDIServer
- startSessionLogFetch(廃止)
- startWorkflowLogFetch(廃止)
Data Integration Webサービスの操作は、di.wsdlで定義されています。
deinitializeDIServerConnection
廃止された演算。クライアントアプリケーションとIntegration Serviceの接続を明示的に
解除する必要はありません。 Logout操作を使用して、クライアントアプリケーションによ
って取得されたIntegration Serviceへの接続を開放し、cleanup操作を実行します。
この操作には、initializeDIServerConnection SessionIDパラメータが必要です。リポジ
トリにログインした後にセッションIDが生成されます。
getDIServerProperties
この演算を使用してIntegration Serviceのプロパティを取得します。リポジトリにログイ
ンしてから、この操作を呼び出す必要があります。
Integration Serviceのプロパティには、以下の情報が含まれています。
¨ Integration Service名
¨ Integration Serviceのバージョン
¨ 製品名
¨ Integration Serviceの起動時刻
¨ Integration Serviceに関連付けられているリポジトリの名前。
¨ データ移動モード(ASCIIまたはUnicode)
¨ Integration Serviceがマッピングをデバッグできるかどうか
Data Integration Webサービスの操作 27
以下の表に、この操作のパラメータを示します。
パラメータ名 必須/オ
プショ
ン
説明
SessionID 必須 ログイン後に生成されたセッションID。
ServiceName 必須 プロパティを取得するIntegration Serviceの
名前。
DomainName オプシ
ョン
Integration Serviceのドメイン名。
getNextLogSegment
廃止された演算。この操作では、セッションログまたはワークフローログの情報を単位で
取得します。
getNextLogSegment演算は、セッションログまたはワークフローログの一部を返します。リ
ポジトリにログインしてから、この操作を呼び出す必要があります。
この演算は、startSessionLogFetch演算またはstartWorkflowLogFetch演算と共に使用し
ます。ログの最後に達するまで、startSessionLogFetch演算または
startWorkflowLogFetch演算によって生成されるログハンドルを使用して、
getNextLogSegment演算を呼び出します。
1つの操作のセッションログ情報を取得するには、getSessionLog操作を使用します。1つの
操作のワークフローログ情報を取得するには、getWorkflowLog操作を使用します。
以下の表に、この操作のパラメータを示します。
パラメータ名 必須/オ
プショ
ン
説明
SessionID 必須 ログイン後に生成されたセッションID。
LogHandle 必須 startSessionLogFetch操作または
startWorkflowLogFetch操作によって生成さ
れたログID。startSessionLogFetch操作また
はstartWorkflowLogFetch操作を呼び出した
後、この操作を呼び出す必要があります。
タイムアウト 必須 この操作中に、クライアント要求がWeb
Services Hubへの接続を保持する時間。 タイ
ムアウト期間内に操作が完了しない場合、こ
の操作は失敗します。タイムアウト期間は、
startSessionLogFetch操作または
startWorkflowLogFetch操作を呼び出したと
きから開始されます。
28 第 4章: バッチWebサービスの操作
getSessionLog
この操作を使用して、セッションログ内のすべての情報を1回の操作で取得します。リポジ
トリにログインしてから、この操作を呼び出す必要があります。
サービスセッションが実行されると、Integration Serviceはセッションログにプロセスの
初期化処理、セッションの検査、readerスレッドおよびwriterスレッドのSQLコマンドの作
成、検出したエラー、ロード要約などの情報を書き込みます。 セッションログ内の詳細情
報の量は、設定されているトレースレベルによって決まります。getSessionLog演算は、セ
ッションログの情報を返します。
セッションログ情報を単位で取得するには、getNextLogSegment操作を使用します。
以下の表に、この操作のパラメータを示します。
パラメータ名 必須/オ
プショ
ン
説明
SessionID 必須 ログイン後に生成されたセッションID。
FolderName 必須 ワークフローが格納されているフォルダの名
前。
WorkflowName 必須 セッションを含むワークフローの名前。
TaskInstancePath 必須 タスクの場所を指定するパス。タスクがワー
クフローの直下にある場合には、タスク名の
みを入力します。タスクがワークレット内に
ある場合は、「WorkletName.TaskName」と入
力します。taskInstancePathを完全修飾文字
列で入力してください。
タイムアウト 必須 この操作中に、クライアント要求がWeb
Services Hubへの接続を保持する時間。 タイ
ムアウト期間内に操作が完了しない場合、こ
の操作は失敗します。
ServiceName 必須 ワークフローを実行するIntegration Service
の名前。
DomainName オプシ
ョン
Integration Serviceのドメイン名。
getSessionPerformanceData
この演算を使用して、Integration Service上で実行中のセッションのパフォーマンスデー
タを取得します。パフォーマンス詳細には、セッションとマッピングの効率を把握するう
えで役立つカウンタが含まれています。
リポジトリにログインしてから、この操作を呼び出す必要があります。
Data Integration Webサービスの操作 29
以下の表に、この操作のパラメータを示します。
パラメータ名 必須/オ
プショ
ン
説明
SessionID 必須 ログイン後に生成されたセッションID。
FolderName 必須 ワークフローが格納されているフォルダの名
前。
WorkflowName 必須 セッションを含むワークフローの名前。
TaskInstancePath 必須 セッションの場所を指定するパス。セッショ
ンがワークフロー内にある場合は、セッショ
ン名のみを入力します。セッションがワーク
レット内にある場合は、
「WorkletName.SessionName」と入力しま
す。taskInstancePathを完全修飾文字列で入
力してください。
ServiceName 必須 ワークフローを実行するIntegration Service
の名前。
DomainName オプシ
ョン
Integration Serviceのドメイン名。
getSessionStatistics
この演算を使用して、Integration Service上で実行中のセッションの統計を取得します。
セッションが実行されていない場合、一番最近に実行されたセッションについての統計情
報が返されます。
リポジトリにログインしてから、この操作を呼び出す必要があります。
セッションの統計情報には、フォルダ名、ワークフロー名、セッションの状態、タスクの
実行状態、エラー情報、ソースとターゲットの成功行数と失敗行数、適用された行数、影
響を受けた行数、拒否された行数などが含まれます。
以下の表に、この操作のパラメータを示します。
パラメータ名 必須/オ
プショ
ン
説明
SessionID 必須 ログイン後に生成されたセッションID。
FolderName 必須 ワークフローが格納されているフォルダの名
前。
WorkflowName 必須 セッションタスクが含まれるワークフローの
名前。
30 第 4章: バッチWebサービスの操作
パラメータ名 必須/オ
プショ
ン
説明
TaskInstancePath 必須 セッションの場所を指定するパス。セッショ
ンがワークフロー内にある場合は、セッショ
ン名のみを入力します。セッションがワーク
レット内にある場合は、
「WorkletName.SessionName」と入力しま
す。taskInstancePathを完全修飾文字列で入
力してください。
ServiceName 必須 ワークフローを実行するIntegration Service
の名前。
DomainName オプシ
ョン
Integration Serviceのドメイン名。
getTaskDetails
この演算を使用して、Integration Serviceからタスクの詳細を取得します。親ワークフロ
ーが実行中であり、そこに含まれるタスクが既に実行されている場合、この演算は実行中
のワークフローにおける現在のタスクの詳細情報を返します。親ワークフローが実行中で
ない場合、この演算は最後に実行したワークフローのタスクの詳細を返します。
リポジトリにログインしてから、この操作を呼び出す必要があります。
タスクの詳細情報には、フォルダ名、ワークフロー名、タスク名、タスクのタイプ、開始
時刻、実行状態、実行エラーコード、実行エラーメッセージなどが含まれます。
以下の表に、この操作のパラメータを示します。
パラメータ名 必須/オ
プショ
ン
説明
SessionID 必須 ログイン後に生成されたセッションID。
FolderName 必須 ワークフローが格納されているフォルダの名
前。
WorkflowName 必須 タスクを含むワークフローの名前。
TaskInstancePath 必須 タスクの場所を指定するパス。タスクがワー
クフローの直下にある場合には、タスク名の
みを入力します。タスクがワークレット内に
ある場合は、「<WorkletName>.<TaskName>」と入力します。taskInstancePathを完全修飾
文字列で入力してください。
ServiceName 必須 ワークフローを実行するIntegration Service
の名前。
Data Integration Webサービスの操作 31
パラメータ名 必須/オ
プショ
ン
説明
WorkflowRunId オプシ
ョン
タスクが格納されているワークフロー実行イ
ンスタンスのID。このパラメータは使用でき
ません。
WorkflowRunInstan
ceName
オプシ
ョン
タスクが含まれるワークフロー実行インスタ
ンスの名前。
ParameterFileName オプシ
ョン
ワークフロー実行時に使用されるパラメータ
ファイルの名前。
RequestMode オプシ
ョン
セッションタスクのリカバリ方法を以下から
指定。
- Normal。リカバリせずにセッションを再開
します。
- RECOVERY。セッションをリカバリします。
IsAbort オプシ
ョン
タスクを強制終了するかどうかを指定しま
す。この操作には適用できません。
DomainName オプシ
ョン
Integration Serviceのドメイン名。
ParameterScope オプシ
ョン
パラメータ配列定義内のパラメータのスコー
プ。
ParameterName オプシ
ョン
パラメータ配列定義内のパラメータの名前。
ParameterValue オプシ
ョン
パラメータ配列定義内のパラメータの値。
getTaskDetailsEx
この操作を使用して、ワークフローの複数インスタンスが同時に実行されるときに
Integration Serviceからタスクの詳細を取得します。
getTaskDetailsEx操作は、getTaskDetails操作に似ていますが、タスクのインスタンスす
べてに関する情報を返します。親ワークフローが実行中であり、そこに含まれるタスクが
既に実行されている場合、この操作は実行中のワークフローにおけるタスクのインスタン
スすべての詳細情報を返します。親ワークフローが実行中でない場合、この操作は最後に
実行したワークフローのタスクインスタンスの詳細を返します。タスクの詳細は、操作に
よって返されたIntegration Serviceの詳細に含まれます。
リポジトリにログインしてから、この操作を呼び出す必要があります。
32 第 4章: バッチWebサービスの操作
以下の表に、この操作のパラメータを示します。
パラメータ名 必須/オ
プショ
ン
説明
SessionID 必須 ログイン後に生成されたセッションID。
FolderName 必須 ワークフローが格納されているフォルダの名
前。
WorkflowName 必須 タスクを含むワークフローの名前。
TaskInstancePath 必須 タスクの場所を指定するパス。タスクがワー
クフローの直下にある場合には、タスク名の
みを入力します。タスクがワークレット内に
ある場合は、「<WorkletName>.<TaskName>」と入力します。taskInstancePathを完全修飾
文字列で入力してください。
ServiceName 必須 ワークフローを実行するIntegration Service
の名前。
WorkflowRunInstan
ceName
オプシ
ョン
ワークフロー実行インスタンスの名前。
DomainName オプシ
ョン
Integration Serviceのドメイン名。
getWorkflowDetails
この操作を使用して、指定されたワークフローの詳細を取得できます。ワークフローが実
行中の場合、この演算は実行中のワークフローの詳細を返します。ワークフローが実行中
でない場合、この演算は最後に実行したこのワークフローの詳細を返します。
ワークフローの詳細情報には、フォルダ名、ワークフロー名、ワークフローのログファイ
ル名のほか、ワークフローを実行するユーザー名が含まれます。ワークフローの実行タイ
プ、ログファイルのコードページ、開始時刻、終了時刻、実行状態、実行エラーコード、
実行エラーメッセージも含まれています。
リポジトリにログインしてから、この操作を呼び出す必要があります。
以下の表に、この操作のパラメータを示します。
パラメータ名 必須/オ
プショ
ン
説明
SessionID 必須 ログイン後に生成されたセッションID。
FolderName 必須 ワークフローが格納されているフォルダの名
前。
Data Integration Webサービスの操作 33
パラメータ名 必須/オ
プショ
ン
説明
WorkflowName 必須 ワークフロー名。
RequestMode 必須 セッションタスクのリカバリ方法を以下から
指定。
- Normal。リカバリせずにセッションを再開
します。
- RECOVERY。セッションをリカバリします。
ServiceName 必須 ワークフローを実行するIntegration Service
の名前。
WorkflowRunId オプシ
ョン
ワークフロー実行インスタンスのID。
WorkflowRunInstan
ceName
オプシ
ョン
ワークフロー実行インスタンスの名前。
理由 オプシ
ョン
ワークフローまたはタスクを開始する理由の
記述。
ParameterFileName オプシ
ョン
ワークフロー実行時に使用されるパラメータ
ファイルの名前。
TaskInstancePath オプシ
ョン
タスクの場所を指定するパス。タスクがワー
クフローの直下にある場合には、タスク名の
みを入力します。タスクがワークレット内に
ある場合は、「<WorkletName>.<TaskName>」と入力します。taskInstancePathを完全修飾
文字列で入力してください。
IsAbort オプシ
ョン
タスクを強制終了するかどうかを指定しま
す。この操作には適用できません。
OSUser オプシ
ョン
ワークフローに割り当てられたオペレーティ
ングシステムプロファイルを指定します。
DomainName オプシ
ョン
Integration Serviceのドメイン名。
AttributeName オプシ
ョン
ワークフローまたはタスクを開始またはスケ
ジュール設定するために使用する、属性名お
よび属性値ペアのうちの属性名。
AttributeValue オプシ
ョン
ワークフローまたはタスクを開始またはスケ
ジュール設定するために使用する、属性名お
よび属性値ペアのうちの属性値。
キー オプシ
ョン
ワークフローまたはタスクを開始するために
使用するキー。
34 第 4章: バッチWebサービスの操作
パラメータ名 必須/オ
プショ
ン
説明
MustUse オプシ
ョン
ワークフローまたはタスクを開始するために
キーを使用する必要があるかどうかを指定し
ます。
ParameterScope オプシ
ョン
パラメータ配列定義内のパラメータのスコー
プ。
ParameterName オプシ
ョン
パラメータ配列定義内のパラメータの名前。
ParameterValue オプシ
ョン
パラメータ配列定義内のパラメータの値。
getWorkflowDetailsEx
この操作を使用して、ワークフローの複数インスタンスが同時に実行されるときにワーク
フローの詳細を取得します。
この操作は、getWorkflowDetails操作に似ていますが、ワークフローのインスタンスに関
する情報を返します。 ワークフローが実行中の場合、この操作は実行中のワークフローの
インスタンスすべての詳細を返します。ワークフローが実行中でない場合、この操作は最
後に実行したワークフローの詳細を返します。ワークフローの詳細は、操作によって返さ
れたIntegration Serviceの詳細に含まれます。
リポジトリにログインしてから、この操作を呼び出す必要があります。
以下の表に、この操作のパラメータを示します。
パラメータ名 必須/オ
プショ
ン
説明
SessionID 必須 ログイン後に生成されたセッションID。
FolderName 必須 ワークフローが格納されているフォルダの名
前。
WorkflowName 必須 ワークフロー名。
ServiceName 必須 ワークフローを実行するIntegration Service
の名前。
WorkflowRunId オプシ
ョン
ワークフロー実行インスタンスのID。
Data Integration Webサービスの操作 35
パラメータ名 必須/オ
プショ
ン
説明
WorkflowRunInstan
ceName
オプシ
ョン
ワークフロー実行インスタンスの名前。
DomainName オプシ
ョン
Integration Serviceのドメイン名。
getWorkflowLog
この操作を使用して、ワークフローログ内のすべての情報を1回の操作で取得します。リポ
ジトリにログインしてから、この操作を呼び出す必要があります。
Webサービスワークフローが実行されると、ワークフローログにはプロセスの初期化処理、
ワークフロータスクの実行情報、検出したエラー、およびワークフローの実行要約などの
情報がIntegration Serviceによって書き込まれます。 ワークフローログ内の詳細情報の
量は、トレースレベルによって決まります。getWorkflowLog演算は、ワークフローログの
情報を返します。
ワークフローログ情報を単位で取得するには、getNextLogSegment操作を使用します。
以下の表に、この操作のパラメータを示します。
パラメータ名 必須/オ
プショ
ン
説明
SessionID 必須 ログイン後に生成されたセッションID。
FolderName 必須 ワークフローが格納されているフォルダの名
前。
WorkflowName 必須 ワークフロー名。
タイムアウト 必須 この操作中に、クライアント要求がWeb
Services Hubへの接続を保持する時間。 タイ
ムアウト期間内に操作が完了しない場合、こ
の操作は失敗します。
ServiceName 必須 ワークフローを実行するIntegration Service
の名前。
WorkflowRunId オプシ
ョン
ワークフロー実行インスタンスのID。
WorkflowRunInstan
ceName
オプシ
ョン
ワークフロー実行インスタンスの名前。
DomainName オプシ
ョン
Integration Serviceのドメイン名。
36 第 4章: バッチWebサービスの操作
initializeDIServerConnection
廃止された演算。Integration Serviceへの接続を初期化する必要はありません。
リポジトリにログインしてから、この操作を呼び出す必要があります。
以下の表に、この操作のパラメータを示します。
パラメータ名 必須/オ
プショ
ン
説明
SessionID 必須 ログイン後に生成されたセッションID。
DIServerName 必須 ワークフローが格納されているフォルダの名
前。
LoginHandle オプシ
ョン
セッションIDと同じ。
DIServerDomain オプシ
ョン
Integration Serviceのドメイン名。
ログイン
Login演算は、Data Integration WebサービスとMetadata Webサービスに含まれています。
この操作を使用して、リポジトリにログインします。ログイン操作では、指定したリポジ
トリのユーザー名およびパスワードを認証します。クライアントアプリケーションは、他
の演算を呼び出す前に、この演算を呼び出す必要があります。ログイン演算を呼び出した
後、Webサービスのクライアントアプリケーションは任意のBatch Web Servicesの演算を呼
び出すことができます。
ログイン演算には、リポジトリ名、ユーザー名、およびパスワードが必要です。 それによ
って、暗号化されたセッションIDが返されます。 リポジトリは、Web Services Hubと同じ
ドメインにある必要があります。
以下の表に、この操作のパラメータを示します。
パラメータ名 必須/オ
プショ
ン
説明
RepositoryName 必須 ログインするリポジトリの名前。
UserName 必須 リポジトリにログインするために使用するユ
ーザー名。
パスワード 必須 リポジトリにログインするために使用するユ
ーザーアカウントのパスワード。
Data Integration Webサービスの操作 37
パラメータ名 必須/オ
プショ
ン
説明
RepositoryDomainN
ame
オプシ
ョン
リポジトリサービスのドメイン名。
UserNameSpace 条件付 リポジトリにログインするために使用するユ
ーザーアカウントのセキュリティドメイン。
PowerCenterドメインに複数のセキュリティ
ドメインが存在する場合は必須。
セッションの有効期限
セッションIDは、非アクティブ状態の後で期限切れになります。Web Services Hubの
[SessionExpiryPeriod]詳細プロパティを設定し、セッションが期限切れとなるまでの非
アクティブな状態の時間の長さを指定します。Web Services Hubの詳細プロパティは、管
理者ツールで設定できます。
Web Services Hubは、セッションの開始時にユーザー名とパスワードをキャッシュしま
す。 Web Services Hubは、セッションが期限切れとなるまで、キャッシュされたユーザー
名とパスワードをログイン認証に使用します。ユーザーアカウントを変更しても、セッシ
ョンが期限切れになるまで認証には影響しません。 ユーザーアカウントを削除または無効
化しても、セッションが期限切れになるまで、ユーザーアカウントは削除または無効化さ
れません。 ユーザーアカウントがロックされた場合、ロックされたユーザーは、セッショ
ンの期限が切れるまで要求を送信できます。
注: SessionExpiryPeriodの値が大きい場合は、ユーザーアカウントの変更が有効になるま
でしばらく時間がかかります。 セキュリティ違反を防止するため、セッション内で使用中
のユーザーアカウントを削除または変更しないでください。
ログアウト
Logout演算は、Data Integration WebサービスとMetadata Webサービスに含まれていま
す。
この操作を使用して、リポジトリからログアウトします。Logout操作を使用して、リポジ
トリおよびIntegration Serviceからユーザーを切断します。クライアントアプリケーショ
ン実行の最後にこの操作を呼び出してリソースを解放し、Repository ServiceとWeb
Services Hubプロセスで起こりうるメモリリークを防ぎます。
SessionIDパラメータを指定してLogout操作を呼び出します。リポジトリにログインした後
にセッションIDが生成されます。
monitorDIServer
この操作を使用して、Integration Serviceの状態、スケジュールされたアクティブなワー
クフローの詳細、タスクの詳細、およびワークフロー内のリンクを取得します。
リポジトリにログインしてから、この操作を呼び出す必要があります。
38 第 4章: バッチWebサービスの操作
以下の表に、この操作のパラメータを示します。
パラメータ名 必須/オ
プショ
ン
説明
SessionID 必須 ログイン後に生成されたセッションID。
MonitorMode 必須 モニタリングするワークフローのモード。
- RUNNING。アクティブなワークフローの状態
の詳細情報が返されます。アクティブなワ
ークフローには、実行中、サスペンド状
態、サスペンド中のワークフローが含まれ
ます。
- SCHEDULED。スケジュールが設定されたワー
クフローの状態に関する詳細情報が返され
ます。
- ALL。スケジュールが設定された、アクティ
ブなすべてのワークフローの状態に関する
詳細情報が返されます。
ServiceName 必須 モニタリングするIntegration Serviceの名
前。
DomainName オプシ
ョン
Integration Serviceのドメイン名。
pingDIServer
この演算を使用して、Integration Serviceが起動しているかどうかを判断します。戻り値
はALIVEまたはFAILになります。リポジトリにログインしてから、この操作を呼び出す必要
があります。
以下の表に、この操作のパラメータを示します。
パラメータ名 必須/オ
プショ
ン
説明
SessionID 必須 ログイン後に生成されたセッションID。
タイムアウト 必須 この操作中に、クライアント要求がWeb
Services Hubへの接続を保持する時間。 タイ
ムアウト期間内に操作が完了しない場合、こ
の操作は失敗します。
ServiceName 必須 起動を確認するIntegration Serviceの名前。
DomainName オプシ
ョン
Integration Serviceのドメイン名。
Data Integration Webサービスの操作 39
recoverWorkflow
この操作を使用して、一時停止したワークフローをリカバリします。Integration Service
は、すべての一時停止または失敗したワークレット、およびすべての一時停止または失敗
した[コマンド]、[メール]、[セッション]タスクから、ワークフローをリカバリし
ます。
リポジトリにログインしてから、この操作を呼び出す必要があります。
以下の表に、この操作のパラメータを示します。
パラメータ名 必須/オ
プショ
ン
説明
SessionID 必須 ログイン後に生成されたセッションID。
FolderName 必須 ワークフローが格納されているフォルダの名
前。
WorkflowName 必須 リカバリするワークフローの名前。
RequestMode 必須 セッションタスクのリカバリ方法を以下から
指定。
- Normal。リカバリせずにセッションを再開
します。
- RECOVERY。セッションをリカバリします。
ServiceName 必須 ワークフローを実行するIntegration Service
の名前。
WorkflowRunId オプシ
ョン
ワークフロー実行インスタンスのID。
WorkflowRunInstan
ceName
オプシ
ョン
ワークフロー実行インスタンスの名前。
理由 オプシ
ョン
ワークフローまたはタスクを開始する理由の
記述。
ParameterFileName オプシ
ョン
ワークフロー実行時に使用されるパラメータ
ファイルの名前。
TaskInstancePath オプシ
ョン
タスクの場所を指定するパス。タスクがワー
クフローの直下にある場合には、タスク名の
みを入力します。タスクがワークレット内に
ある場合は、「<WorkletName>.<TaskName>」と入力します。taskInstancePathを完全修飾
文字列で入力してください。
IsAbort オプシ
ョン
タスクを強制終了するかどうかを指定しま
す。この操作には適用できません。
OSUser オプシ
ョン
ワークフローに割り当てられたオペレーティ
ングシステムプロファイルを指定します。
40 第 4章: バッチWebサービスの操作
パラメータ名 必須/オ
プショ
ン
説明
DomainName オプシ
ョン
Integration Serviceのドメイン名。
AttributeName オプシ
ョン
ワークフローまたはタスクを開始またはスケ
ジュール設定するために使用する、属性名お
よび属性値ペアのうちの属性名。
AttributeValue オプシ
ョン
ワークフローまたはタスクを開始またはスケ
ジュール設定するために使用する、属性名お
よび属性値ペアのうちの属性値。
キー オプシ
ョン
ワークフローまたはタスクを開始するために
使用するキー。
MustUse オプシ
ョン
ワークフローまたはタスクを開始するために
キーを使用する必要があるかどうかを指定し
ます。
ParameterScope オプシ
ョン
パラメータ配列定義内のパラメータのスコー
プ。
ParameterName オプシ
ョン
パラメータ配列定義内のパラメータの名前。
ParameterValue オプシ
ョン
パラメータ配列定義内のパラメータの値。
resumeWorkflow
廃止された演算。代わりにrecoverWorkflow操作を使用します。
リポジトリにログインしてから、この操作を呼び出す必要があります。
以下の表に、この操作のパラメータを示します。
パラメータ名 必須/オ
プショ
ン
説明
SessionID 必須 ログイン後に生成されたセッションID。
FolderName 必須 ワークフローが格納されているフォルダの名
前。
WorkflowName 必須 再開するワークフローの名前。
Data Integration Webサービスの操作 41
パラメータ名 必須/オ
プショ
ン
説明
RequestMode 必須 セッションタスクのリカバリ方法を以下から
指定。
- Normal。リカバリせずにセッションを再開
します。
- RECOVERY。セッションをリカバリします。
ServiceName 必須 ワークフローを実行するIntegration Service
の名前。
WorkflowRunId オプシ
ョン
ワークフロー実行インスタンスのID。
WorkflowRunInstan
ceName
オプシ
ョン
ワークフロー実行インスタンスの名前。
理由 オプシ
ョン
ワークフローまたはタスクを開始する理由の
記述。
ParameterFileName オプシ
ョン
ワークフロー実行時に使用されるパラメータ
ファイルの名前。
TaskInstancePath オプシ
ョン
タスクの場所を指定するパス。タスクがワー
クフローの直下にある場合には、タスク名の
みを入力します。タスクがワークレット内に
ある場合は、「<WorkletName>.<TaskName>」と入力します。taskInstancePathを完全修飾
文字列で入力してください。
IsAbort オプシ
ョン
タスクを強制終了するかどうかを指定しま
す。この操作には適用できません。
OSUser オプシ
ョン
ワークフローに割り当てられたオペレーティ
ングシステムプロファイルを指定します。
DomainName オプシ
ョン
Integration Serviceのドメイン名。
AttributeName オプシ
ョン
ワークフローまたはタスクを開始またはスケ
ジュール設定するために使用する、属性名お
よび属性値ペアのうちの属性名。
AttributeValue オプシ
ョン
ワークフローまたはタスクを開始またはスケ
ジュール設定するために使用する、属性名お
よび属性値ペアのうちの属性値。
キー オプシ
ョン
ワークフローまたはタスクを開始するために
使用するキー。
42 第 4章: バッチWebサービスの操作
パラメータ名 必須/オ
プショ
ン
説明
MustUse オプシ
ョン
ワークフローまたはタスクを開始するために
キーを使用する必要があるかどうかを指定し
ます。
ParameterScope オプシ
ョン
パラメータ配列定義内のパラメータのスコー
プ。
ParameterName オプシ
ョン
パラメータ配列定義内のパラメータの名前。
ParameterValue オプシ
ョン
パラメータ配列定義内のパラメータの値。
scheduleWorkflow
この操作を使用して、ワークフローのスケジュールを設定できます。オンデマンドでは実
行されないすべてのワークフローに対してスケジュールを設定できます。
リポジトリにログインしてから、この操作を呼び出す必要があります。
以下の表に、この操作のパラメータを示します。
パラメータ名 必須/オ
プショ
ン
説明
SessionID 必須 ログイン後に生成されたセッションID。
FolderName 必須 ワークフローが格納されているフォルダの名
前。
WorkflowName 必須 スケジュールを設定するワークフローの名
前。
ServiceName 必須 ワークフローを実行するIntegration Service
の名前。
WorkflowRunId オプシ
ョン
ワークフロー実行インスタンスのID。
WorkflowRunInstan
ceName
オプシ
ョン
スケジュールを設定するワークフロー実行イ
ンスタンスの名前。
理由 オプシ
ョン
ワークフローまたはタスクを開始する理由の
記述。
ParameterFileName オプシ
ョン
ワークフロー実行時に使用されるパラメータ
ファイルの名前。
Data Integration Webサービスの操作 43
パラメータ名 必須/オ
プショ
ン
説明
RequestMode オプシ
ョン
セッションタスクのリカバリ方法を以下から
指定。
- Normal。リカバリせずにセッションを再開
します。
- RECOVERY。セッションをリカバリします。
TaskInstancePath オプシ
ョン
タスクの場所を指定するパス。タスクがワー
クフローの直下にある場合には、タスク名の
みを入力します。タスクがワークレット内に
ある場合は、「<WorkletName>.<TaskName>」と入力します。taskInstancePathを完全修飾
文字列で入力してください。
IsAbort オプシ
ョン
タスクを強制終了するかどうかを指定しま
す。この操作には適用できません。
OSUser オプシ
ョン
ワークフローに割り当てられたオペレーティ
ングシステムプロファイルを指定します。
DomainName オプシ
ョン
Integration Serviceのドメイン名。
AttributeName オプシ
ョン
ワークフローのスケジュールを設定するため
に使用する属性名および属性値ペアのうちの
属性名。
AttributeValue オプシ
ョン
ワークフローのスケジュールを設定するため
に使用する属性名および属性値ペアのうちの
属性値。
キー オプシ
ョン
ワークフローまたはタスクを開始するために
使用するキー。
MustUse オプシ
ョン
ワークフローまたはタスクを開始するために
キーを使用する必要があるかどうかを指定し
ます。
ParameterScope オプシ
ョン
パラメータ配列定義内のパラメータのスコー
プ。
ParameterName オプシ
ョン
パラメータ配列定義内のパラメータの名前。
ParameterValue オプシ
ョン
パラメータ配列定義内のパラメータの値。
startSessionLogFetch
廃止された演算。この演算は、セッションログ内の情報の単位取得を開始します。
44 第 4章: バッチWebサービスの操作
startSessionLogFetchでは、getNextLogSegment演算と共に使用するためのログハンドル
が生成されます。startSessionLogFetch演算を呼び出した後は、ログの最後に達するま
で、startSessionLogFetchによって生成されたログハンドルを使用して
getNextLogSegment演算を呼び出します。
リポジトリにログインしてから、この操作を呼び出す必要があります。
以下の表に、この操作のパラメータを示します。
パラメータ名 必須/オ
プショ
ン
説明
SessionID 必須 ログイン後に生成されたセッションID。
FolderName 必須 ワークフローが格納されているフォルダの名
前。
WorkflowName 必須 セッションが格納されているワークフローの
名前。
ServiceName 必須 ワークフローを実行するIntegration Service
の名前。
startTask
この演算を使用して、ワークフロー内の特定のタスクを開始できます。リポジトリにログ
インしてから、この操作を呼び出す必要があります。
以下の表に、この操作のパラメータを示します。
パラメータ名 必須/オ
プショ
ン
説明
SessionID 必須 ログイン後に生成されたセッションID。
FolderName 必須 ワークフローが格納されているフォルダの名
前。
WorkflowName 必須 タスクが含まれるワークフローの名前。
RequestMode 必須 セッションタスクのリカバリ方法を以下から
指定。
- Normal。リカバリせずにセッションを再開
します。
- RECOVERY。セッションをリカバリします。
TaskInstancePath 必須 タスクの場所を指定するパス。タスクがワー
クフローの直下にある場合には、タスク名の
みを入力します。タスクがワークレット内に
ある場合は、「<WorkletName>.<TaskName>」
Data Integration Webサービスの操作 45
パラメータ名 必須/オ
プショ
ン
説明
と入力します。taskInstancePathを完全修飾
文字列で入力してください。
ServiceName 必須 ワークフローを実行するIntegration Service
の名前。
WorkflowRunId オプシ
ョン
タスクが格納されているワークフロー実行イ
ンスタンスのID。
WorkflowRunInstan
ceName
オプシ
ョン
タスクが含まれるワークフロー実行インスタ
ンスの名前。
ParameterFileName オプシ
ョン
ワークフロー実行時に使用されるパラメータ
ファイルの名前。
IsAbort オプシ
ョン
タスクを強制終了するかどうかを指定しま
す。この操作には適用できません。
DomainName オプシ
ョン
Integration Serviceのドメイン名。
ParameterScope オプシ
ョン
パラメータ配列定義内のパラメータのスコー
プ。
ParameterName オプシ
ョン
パラメータ配列定義内のパラメータの名前。
ParameterValue オプシ
ョン
パラメータ配列定義内のパラメータの値。
startWorkflow
この演算を使用して、ワークフローを開始できます。リポジトリにログインしてから、こ
の操作を呼び出す必要があります。
以下の表に、この操作のパラメータを示します。
パラメータ名 必須/オ
プショ
ン
説明
SessionID 必須 ログイン後に生成されたセッションID。
FolderName 必須 ワークフローが格納されているフォルダの名
前。
WorkflowName 必須 実行するワークフローの名前。
46 第 4章: バッチWebサービスの操作
パラメータ名 必須/オ
プショ
ン
説明
RequestMode 必須 セッションタスクのリカバリ方法を以下から
指定。
- Normal。リカバリせずにセッションを再開
します。
- RECOVERY。セッションをリカバリします。
ServiceName 必須 ワークフローを実行するIntegration Service
の名前。
WorkflowRunId オプシ
ョン
ワークフロー実行インスタンスのID。
WorkflowRunInstan
ceName
オプシ
ョン
実行するワークフロー実行インスタンスの名
前。
理由 オプシ
ョン
ワークフローを開始する理由の記述。
ParameterFileName オプシ
ョン
ワークフロー実行時に使用されるパラメータ
ファイルの名前。
TaskInstancePath オプシ
ョン
タスクの場所を指定するパス。タスクがワー
クフローの直下にある場合には、タスク名の
みを入力します。タスクがワークレット内に
ある場合は、「<WorkletName>.<TaskName>」と入力します。taskInstancePathを完全修飾
文字列で入力してください。
IsAbort オプシ
ョン
タスクを強制終了するかどうかを指定しま
す。この操作には適用できません。
OSUser オプシ
ョン
ワークフローに割り当てられたオペレーティ
ングシステムプロファイルを指定します。
DomainName オプシ
ョン
Integration Serviceのドメイン名。
AttributeName オプシ
ョン
ワークフローを開始するために使用する属性
名および属性値ペアのうちの属性名。
AttributeValue オプシ
ョン
ワークフローを開始するために使用する属性
名および属性値ペアのうちの属性値。
キー オプシ
ョン
ワークフローまたはタスクを開始するために
使用するキー。
MustUse オプシ
ョン
ワークフローまたはタスクを開始するために
キーを使用する必要があるかどうかを指定し
ます。
Data Integration Webサービスの操作 47
パラメータ名 必須/オ
プショ
ン
説明
ParameterScope オプシ
ョン
パラメータ配列定義内のパラメータのスコー
プ。
ParameterName オプシ
ョン
パラメータ配列定義内のパラメータの名前。
ParameterValue オプシ
ョン
パラメータ配列定義内のパラメータの値。
startWorkflowEx
この演算を使用して、ワークフローを開始できます。startWorkflowEx操作は、ワークフロ
ーの実行インスタンスIDを返します。この操作によって開始されるワークフローの実行ID
を取得するには、startWorkflow操作ではなくstartWorkflowEx操作を使用します。
リポジトリにログインしてから、この操作を呼び出す必要があります。
以下の表に、この操作のパラメータを示します。
パラメータ名 必須/オ
プショ
ン
説明
SessionID 必須 ログイン後に生成されたセッションID。
FolderName 必須 ワークフローが格納されているフォルダの名
前。
WorkflowName 必須 実行するワークフローの名前。
RequestMode 必須 セッションタスクのリカバリ方法を以下から
指定。
- Normal。リカバリせずにセッションを再開
します。
- RECOVERY。セッションをリカバリします。
ServiceName 必須 ワークフローを実行するIntegration Service
の名前。
WorkflowRunInstan
ceName
オプシ
ョン
実行するワークフロー実行インスタンスの名
前。
理由 オプシ
ョン
ワークフローを開始する理由の記述。
ParameterFileName オプシ
ョン
ワークフロー実行時に使用されるパラメータ
ファイルの名前。
48 第 4章: バッチWebサービスの操作
パラメータ名 必須/オ
プショ
ン
説明
TaskInstancePath オプシ
ョン
タスクの場所を指定するパス。タスクがワー
クフローの直下にある場合には、タスク名の
みを入力します。タスクがワークレット内に
ある場合は、「<WorkletName>.<TaskName>」と入力します。taskInstancePathを完全修飾
文字列で入力してください。
OSUser オプシ
ョン
ワークフローに割り当てられたオペレーティ
ングシステムプロファイルを指定します。
DomainName オプシ
ョン
Integration Serviceのドメイン名。
AttributeName オプシ
ョン
ワークフローを開始するために使用する属性
名および属性値ペアのうちの属性名。
AttributeValue オプシ
ョン
ワークフローを開始するために使用する属性
名および属性値ペアのうちの属性値。
キー オプシ
ョン
ワークフローまたはタスクを開始するために
使用するキー。
MustUse オプシ
ョン
ワークフローまたはタスクを開始するために
キーを使用する必要があるかどうかを指定し
ます。
ParameterScope オプシ
ョン
パラメータ配列定義内のパラメータのスコー
プ。
ParameterName オプシ
ョン
パラメータ配列定義内のパラメータの名前。
ParameterValue オプシ
ョン
パラメータ配列定義内のパラメータの値。
startWorkflowFromTask
この演算を使用してタスクからワークフローを開始します。ワークフローをタスクから開
始した場合、Integration Serviceは、選択されたタスクからワークフローの最後までワー
クフローを実行します。
開始するタスクのタスクインスタンスパスを指定する必要があります。タスクインスタン
スパスによって、ワークフロー内のタスクインスタンスが識別されます。ワークフロー内
のタスクは、タスク名だけで識別されます。ワークレット内のタスクは、ピリオドで区切
られたワークレット名およびタスク名<WorkletName>.<TaskName>で識別されます。たとえ
ば、ワークフローにはワークレットBを含むワークレットAがあるとします。タスクCはワー
クレットB内部のタスクです。タスクCのタスクインスタンスパスはA.B.Cです。
リポジトリにログインしてから、この操作を呼び出す必要があります。
Data Integration Webサービスの操作 49
以下の表に、この操作のパラメータを示します。
パラメータ名 必須/オ
プショ
ン
説明
SessionID 必須 ログイン後に生成されたセッションID。
FolderName 必須 ワークフローが格納されているフォルダの名
前。
WorkflowName 必須 実行するワークフローの名前。
RequestMode 必須 セッションタスクのリカバリ方法を以下から
指定。
- Normal。リカバリせずにセッションを再開
します。
- RECOVERY。セッションをリカバリします。
TaskInstancePath 必須 タスクの場所を指定するパス。タスクがワー
クフローの直下にある場合には、タスク名の
みを入力します。タスクがワークレット内に
ある場合は、「<WorkletName>.<TaskName>」と入力します。taskInstancePathを完全修飾
文字列で入力してください。
ServiceName 必須 ワークフローを実行するIntegration Service
の名前。
WorkflowRunId オプシ
ョン
ワークフロー実行インスタンスのID。
WorkflowRunInstan
ceName
オプシ
ョン
開始するワークフロー実行インスタンスの名
前。
理由 オプシ
ョン
ワークフローを開始する理由の記述。
ParameterFileName オプシ
ョン
ワークフロー実行時に使用されるパラメータ
ファイルの名前。
IsAbort オプシ
ョン
タスクを強制終了するかどうかを指定しま
す。この操作には適用できません。
OSUser オプシ
ョン
ワークフローに割り当てられたオペレーティ
ングシステムプロファイルを指定します。
DomainName オプシ
ョン
Integration Serviceのドメイン名。
AttributeName オプシ
ョン
ワークフローを開始するために使用する属性
名および属性値ペアのうちの属性名。
AttributeValue オプシ
ョン
ワークフローを開始するために使用する属性
名および属性値ペアのうちの属性値。
50 第 4章: バッチWebサービスの操作
パラメータ名 必須/オ
プショ
ン
説明
キー オプシ
ョン
ワークフローまたはタスクを開始するために
使用するキー。
MustUse オプシ
ョン
ワークフローまたはタスクを開始するために
キーを使用する必要があるかどうかを指定し
ます。
ParameterScope オプシ
ョン
パラメータ配列定義内のパラメータのスコー
プ。
ParameterName オプシ
ョン
パラメータ配列定義内のパラメータの名前。
ParameterValue オプシ
ョン
パラメータ配列定義内のパラメータの値。
startWorkflowLogFetch
廃止された演算。この演算は、ワークフローログ内の情報の単位取得を開始します。
startWorkflowLogFetchでは、getNextLogSegment演算と共に使用するためのログハンドル
が生成されます。startWorkflowLogFetch演算を呼び出した後は、ログの最後に達するま
で、startWorkflowLogFetchによって生成されたログハンドルを使用して
getNextLogSegment演算を呼び出します。
リポジトリにログインしてから、この操作を呼び出す必要があります。
以下の表に、この操作のパラメータを示します。
パラメータ名 必須/オ
プショ
ン
説明
SessionID 必須 ログイン後に生成されたセッションID。
FolderName 必須 ワークフローが格納されているフォルダの名
前。
WorkflowName 必須 ワークフロー名。
ServiceName 必須 ワークフローを実行するIntegration Service
の名前。
WorkflowRunId オプシ
ョン
ワークフロー実行インスタンスのID。
Data Integration Webサービスの操作 51
パラメータ名 必須/オ
プショ
ン
説明
WorkflowRunInstan
ceName
オプシ
ョン
ワークフロー実行インスタンスの名前。
DomainName オプシ
ョン
Integration Serviceのドメイン名。
stopTask
この演算を使用して、Integration Service上で実行中のタスクを停止します。タスク、ワ
ークフロー、ワークレットは、いつでも停止または強制終了することができます。ワーク
フロー内のタスクを停止する場合、Integration Serviceはそのタスクとそのパスにある他
のすべてのタスクの実行を停止します。
また、isAbortパラメータをtrueに設定することで、実行中のタスクを強制終了することも
できます。強制終了するタスクのタスクインスタンスパスを指定します。 通常、
Integration Serviceがタスクの停止に失敗した場合のみタスクを強制終了します。
リポジトリにログインしてから、この操作を呼び出す必要があります。
以下の表に、この操作のパラメータを示します。
パラメータ名 必須/オ
プショ
ン
説明
SessionID 必須 ログイン後に生成されたセッションID。
FolderName 必須 ワークフローが格納されているフォルダの名
前。
WorkflowName 必須 タスクが含まれるワークフローの名前。
TaskInstancePath 必須 タスクの場所を指定するパス。タスクがワー
クフローの直下にある場合には、タスク名の
みを入力します。タスクがワークレット内に
ある場合は、「<WorkletName>.<TaskName>」と入力します。taskInstancePathを完全修飾
文字列で入力してください。
ServiceName 必須 ワークフローを実行するIntegration Service
の名前。
WorkflowRunId オプシ
ョン
タスクが格納されているワークフロー実行イ
ンスタンスのID。
WorkflowRunInstan
ceName
オプシ
ョン
タスクが含まれるワークフロー実行インスタ
ンスの名前。
52 第 4章: バッチWebサービスの操作
パラメータ名 必須/オ
プショ
ン
説明
ParameterFileName オプシ
ョン
ワークフロー実行時に使用されるパラメータ
ファイルの名前。
RequestMode オプシ
ョン
セッションタスクのリカバリ方法を以下から
指定。
- Normal。リカバリせずにセッションを再開
します。
- RECOVERY。セッションをリカバリします。
IsAbort オプシ
ョン
タスクを強制終了するかどうかを指定しま
す。タスクを強制終了するには、このパラメ
ータをTrueに設定します。
DomainName オプシ
ョン
Integration Serviceのドメイン名。
ParameterScope オプシ
ョン
パラメータ配列定義内のパラメータのスコー
プ。
ParameterName オプシ
ョン
パラメータ配列定義内のパラメータの名前。
ParameterValue オプシ
ョン
パラメータ配列定義内のパラメータの値。
関連項目:
¨ 「startWorkflowFromTask」 (ページ49)
stopWorkflow
この操作を使用して、ワークフローの実行を停止できます。ワークフローを停止すると、
Integration Serviceは、ワークフローで現在実行中のタスクをすべて停止しようとしま
す。 ワークフローにワークレットが含まれている場合、Integration Serviceは、ワーク
レット内の現在実行中のタスクもすべて停止しようとします。
ワークフローを停止するほかに、isAbortのパラメータをtrueに設定することで、実行中の
タスクを強制終了することもできます。通常、Integration Serviceがワークフローの停止
に失敗した場合のみワークフローを強制終了します。
リポジトリにログインしてから、この操作を呼び出す必要があります。
Data Integration Webサービスの操作 53
以下の表に、この操作のパラメータを示します。
パラメータ名 必須/オ
プショ
ン
説明
SessionID 必須 ログイン後に生成されたセッションID。
FolderName 必須 ワークフローが格納されているフォルダの名
前。
WorkflowName 必須 停止するワークフローの名前。
ServiceName 必須 ワークフローを実行するIntegration Service
の名前。
WorkflowRunId オプシ
ョン
停止するワークフロー実行インスタンスの
ID。
WorkflowRunInstan
ceName
オプシ
ョン
停止するワークフロー実行インスタンスの名
前。
理由 オプシ
ョン
ワークフローまたはタスクを開始する理由の
記述。
ParameterFileName オプシ
ョン
ワークフロー実行時に使用されるパラメータ
ファイルの名前。
RequestMode オプシ
ョン
セッションタスクのリカバリ方法を以下から
指定。
- Normal。リカバリせずにセッションを再開
します。
- RECOVERY。セッションをリカバリします。
TaskInstancePath オプシ
ョン
タスクの場所を指定するパス。タスクがワー
クフローの直下にある場合には、タスク名の
みを入力します。タスクがワークレット内に
ある場合は、「<WorkletName>.<TaskName>」と入力します。taskInstancePathを完全修飾
文字列で入力してください。
IsAbort オプシ
ョン
ワークフローを強制終了するかどうかを指定
します。ワークフローを強制終了するには、
このパラメータをTrueに設定します。
OSUser オプシ
ョン
ワークフローに割り当てられたオペレーティ
ングシステムプロファイルを指定します。
DomainName オプシ
ョン
Integration Serviceのドメイン名。
AttributeName オプシ
ョン
ワークフローまたはタスクを開始またはスケ
ジュール設定するために使用する、属性名お
よび属性値ペアのうちの属性名。
54 第 4章: バッチWebサービスの操作
パラメータ名 必須/オ
プショ
ン
説明
AttributeValue オプシ
ョン
ワークフローまたはタスクを開始またはスケ
ジュール設定するために使用する、属性名お
よび属性値ペアのうちの属性値。
キー オプシ
ョン
ワークフローまたはタスクを開始するために
使用するキー。
MustUse オプシ
ョン
ワークフローまたはタスクを開始するために
キーを使用する必要があるかどうかを指定し
ます。
ParameterScope オプシ
ョン
パラメータ配列定義内のパラメータのスコー
プ。
ParameterName オプシ
ョン
パラメータ配列定義内のパラメータの名前。
ParameterValue オプシ
ョン
パラメータ配列定義内のパラメータの値。
unscheduleWorkflow
この演算を使用して、ワークフローのスケジュールを解除できます。リポジトリにログイ
ンしてから、この操作を呼び出す必要があります。
以下の表に、この操作のパラメータを示します。
パラメータ名 必須/オ
プショ
ン
説明
SessionID 必須 ログイン後に生成されたセッションID。
FolderName 必須 ワークフローが格納されているフォルダの名
前。
WorkflowName 必須 スケジュール設定を解除するワークフローの
名前。
ServiceName 必須 ワークフローを実行するIntegration Service
の名前。
WorkflowRunId オプシ
ョン
スケジュール設定を解除するワークフロー実
行インスタンスのID。
WorkflowRunInstan
ceName
オプシ
ョン
スケジュール設定を解除するワークフロー実
行インスタンスの名前。
Data Integration Webサービスの操作 55
パラメータ名 必須/オ
プショ
ン
説明
理由 オプシ
ョン
ワークフローまたはタスクを開始する理由の
記述。
ParameterFileName オプシ
ョン
ワークフロー実行時に使用されるパラメータ
ファイルの名前。
RequestMode オプシ
ョン
セッションタスクのリカバリ方法を以下から
指定。
- Normal。リカバリせずにセッションを再開
します。
- RECOVERY。セッションをリカバリします。
TaskInstancePath オプシ
ョン
タスクの場所を指定するパス。タスクがワー
クフローの直下にある場合には、タスク名の
みを入力します。タスクがワークレット内に
ある場合は、「<WorkletName>.<TaskName>」と入力します。taskInstancePathを完全修飾
文字列で入力してください。
IsAbort オプシ
ョン
タスクを強制終了するかどうかを指定しま
す。この操作には適用できません。
OSUser オプシ
ョン
ワークフローに割り当てられたオペレーティ
ングシステムプロファイルを指定します。
DomainName オプシ
ョン
Integration Serviceのドメイン名。
AttributeName オプシ
ョン
ワークフローまたはタスクを開始またはスケ
ジュール設定するために使用する、属性名お
よび属性値ペアのうちの属性名。
AttributeValue オプシ
ョン
ワークフローまたはタスクを開始またはスケ
ジュール設定するために使用する、属性名お
よび属性値ペアのうちの属性値。
キー オプシ
ョン
ワークフローまたはタスクを開始するために
使用するキー。
MustUse オプシ
ョン
ワークフローまたはタスクを開始するために
キーを使用する必要があるかどうかを指定し
ます。
ParameterScope オプシ
ョン
パラメータ配列定義内のパラメータのスコー
プ。
56 第 4章: バッチWebサービスの操作
パラメータ名 必須/オ
プショ
ン
説明
ParameterName オプシ
ョン
パラメータ配列定義内のパラメータの名前。
ParameterValue オプシ
ョン
パラメータ配列定義内のパラメータの値。
waitTillTaskComplete
この演算を使用して、Integration Service上で実行中のタスクが完了するのを待ちます。
リポジトリにログインしてから、この操作を呼び出す必要があります。
以下の表に、この操作のパラメータを示します。
パラメータ名 必須/オ
プショ
ン
説明
SessionID 必須 ログイン後に生成されたセッションID。
FolderName 必須 ワークフローが格納されているフォルダの名
前。
WorkflowName 必須 タスクが含まれるワークフローの名前。
TaskInstancePath 必須 タスクの場所を指定するパス。タスクがワー
クフローの直下にある場合には、タスク名の
みを入力します。タスクがワークレット内に
ある場合は、「<WorkletName>.<TaskName>」と入力します。taskInstancePathを完全修飾
文字列で入力してください。
RequestMode 必須 セッションタスクのリカバリ方法を以下から
指定。
- Normal。リカバリせずにセッションを再開
します。
- RECOVERY。セッションをリカバリします。
ServiceName 必須 ワークフローを実行するIntegration Service
の名前。
WorkflowRunId オプシ
ョン
タスクが格納されているワークフロー実行イ
ンスタンスのID。
WorkflowRunInstan
ceName
オプシ
ョン
タスクが含まれるワークフロー実行インスタ
ンスの名前。
理由 オプシ
ョン
ワークフローまたはタスクを開始する理由の
記述。
Data Integration Webサービスの操作 57
パラメータ名 必須/オ
プショ
ン
説明
ParameterFileName オプシ
ョン
ワークフロー実行時に使用されるパラメータ
ファイルの名前。
IsAbort オプシ
ョン
タスクを強制終了するかどうかを指定しま
す。この操作には適用できません。
OSUser オプシ
ョン
ワークフローに割り当てられたオペレーティ
ングシステムプロファイルを指定します。
DomainName オプシ
ョン
Integration Serviceのドメイン名。
AttributeName オプシ
ョン
ワークフローまたはタスクを開始またはスケ
ジュール設定するために使用する、属性名お
よび属性値ペアのうちの属性名。
AttributeValue オプシ
ョン
ワークフローまたはタスクを開始またはスケ
ジュール設定するために使用する、属性名お
よび属性値ペアのうちの属性値。
キー オプシ
ョン
ワークフローまたはタスクを開始するために
使用するキー。
MustUse オプシ
ョン
ワークフローまたはタスクを開始するために
キーを使用する必要があるかどうかを指定し
ます。
ParameterScope オプシ
ョン
パラメータ配列定義内のパラメータのスコー
プ。
ParameterName オプシ
ョン
パラメータ配列定義内のパラメータの名前。
ParameterValue オプシ
ョン
パラメータ配列定義内のパラメータの値。
waitTillWorkflowComplete
別のワークフローが完了した後にのみ操作またはワークフローを実行するには、この操作
を使用して、他のワークフローが完了したときに通知を受け取るようにします。リポジト
リにログインしてから、この操作を呼び出す必要があります。
58 第 4章: バッチWebサービスの操作
以下の表に、この操作のパラメータを示します。
パラメータ名 必須/オ
プショ
ン
説明
SessionID 必須 ログイン後に生成されたセッションID。
FolderName 必須 ワークフローが格納されているフォルダの名
前。
WorkflowName 必須 ワークフロー名。
RequestMode 必須 セッションタスクのリカバリ方法を以下から
指定。
- Normal。リカバリせずにセッションを再開
します。
- RECOVERY。セッションをリカバリします。
ServiceName 必須 ワークフローを実行するIntegration Service
の名前。
WorkflowRunId オプシ
ョン
ワークフロー実行インスタンスのID。
WorkflowRunInstan
ceName
オプシ
ョン
ワークフロー実行インスタンスの名前。
理由 オプシ
ョン
ワークフローまたはタスクを開始する理由の
記述。
ParameterFileName オプシ
ョン
ワークフロー実行時に使用されるパラメータ
ファイルの名前。
TaskInstancePath オプシ
ョン
タスクの場所を指定するパス。タスクがワー
クフローの直下にある場合には、タスク名の
みを入力します。タスクがワークレット内に
ある場合は、「<WorkletName>.<TaskName>」と入力します。taskInstancePathを完全修飾
文字列で入力してください。
IsAbort オプシ
ョン
タスクを強制終了するかどうかを指定しま
す。この操作には適用できません。
OSUser オプシ
ョン
ワークフローに割り当てられたオペレーティ
ングシステムプロファイルを指定します。
DomainName オプシ
ョン
Integration Serviceのドメイン名。
AttributeName オプシ
ョン
ワークフローまたはタスクを開始またはスケ
ジュール設定するために使用する、属性名お
よび属性値ペアのうちの属性名。
Data Integration Webサービスの操作 59
パラメータ名 必須/オ
プショ
ン
説明
AttributeValue オプシ
ョン
ワークフローまたはタスクを開始またはスケ
ジュール設定するために使用する、属性名お
よび属性値ペアのうちの属性値。
キー オプシ
ョン
ワークフローまたはタスクを開始するために
使用するキー。
MustUse オプシ
ョン
ワークフローまたはタスクを開始するために
キーを使用する必要があるかどうかを指定し
ます。
ParameterScope オプシ
ョン
パラメータ配列定義内のパラメータのスコー
プ。
ParameterName オプシ
ョン
パラメータ配列定義内のパラメータの名前。
ParameterValue オプシ
ョン
パラメータ配列定義内のパラメータの値。
60 第 4章: バッチWebサービスの操作
第 5 章
クライアントアプリケーションの作成
この章では、以下の項目について説明します。
¨ クライアントアプリケーションの作成の概要, 61 ページ
¨ バッチWebサービスのクライアントアプリケーション, 62 ページ
¨ バッチWebサービスのJavaクライアントアプリケーション, 64 ページ
¨ バッチWebサービスのC#クライアントアプリケーション, 68 ページ
¨ リアルタイムWebサービスのクライアントアプリケーション, 71 ページ
¨ リアルタイムWebサービスのJavaクライアントアプリケーション, 72 ページ
¨ パラメータ配列の使用, 75 ページ
¨ クライアント要求へのセキュリティの追加, 77 ページ
クライアントアプリケーションの作成の概要この章では、PowerCenter Web Services Providerが提供するWebサービスを使用するため
のクライアントアプリケーションを作成する方法について概要を説明します。 クライアン
トアプリケーションを作成する一般的な手順を解説してから、Javaおよび.NETフレームワ
ークにおけるクライアントアプリケーションの作成方法の例を説明します。
PowerCenter Webサービスのクライアントアプリケーションを作成するには、Webサービス
WSDLおよびWebサービスツールキットが必要になります。 Webサービスツールキットでは、
WebサービスWSDLからクライアント側プロキシクラスを生成することで、クライアントアプ
リケーションを簡単に作成することができます。 Microsoft .NETおよびApache Axis Web
サービスツールキットを使用することによって、PowerCenter Webサービスのクライアント
アプリケーションを作成できます。
PowerCenterバッチWebサービスまたはリアルタイムWebサービスを実行するクライアントア
プリケーションを作成できます。 アプリケーション開発は、同じ基本ステップに従いま
す。
61
注: Web Services Hubでは、チャンクメッセージを処理できます。 クライアント要求でチ
ャンク化された転送エンコードを有効にするには、SOAPメッセージに以下のヘッダを追加
します。
TRANSFER ENCODING=chunked
バッチWebサービスのクライアントアプリケーション
PowerCenter Web Services Providerで使用可能なバッチWebサービスにアクセスするクラ
イアントアプリケーションの開発には、次の要素が含まれます。
¨ クライアントプロキシクラス
¨ 初期化
¨ セッションメンテナンス
¨ 演算の呼び出し
¨ リソースのクリーンアップ
¨ エラー処理
¨ プロキシオブジェクト
クライアントプロキシクラスの生成
Web Services Hubで使用可能なバッチWebサービス操作を使用するには、Webサービスツー
ルキットを使用して、WebサービスWSDLのクライアントプロキシクラスを生成する必要があ
ります。
クライアントプロキシクラスを生成するには、次の手順を完了します。
1. 開発に使用するプラットフォームと言語に対応したWebサービスツールキットを選択し
ます。
2. Web Services Hub Consoleから、Metadata WebサービスおよびData Integration Web
サービスのWSDLファイルをダウンロードします。 デフォルトでは、Web Services Hub
ConsoleからWSDLファイルをダウンロードすると、Web Services Hubのホスト名および
ポート番号にエンドポイントURLが設定されます。 プロキシクラスを生成する前に、
WSDLファイルに正しいエンドポイントURLが含まれていることを確認してください。
3. Webサービスツールキットを使用し、WSDLファイルからクライアント側プロキシクラス
を生成します。プロキシクラス生成の詳細については、Webサービスツールキットのド
キュメントを参照してください。各ツールキットは特定の方法でクライアントプロキ
シクラスを生成します。
初期化
クライアントアプリケーションは、MetadataおよびData Integration Webサービス操作に
対する呼び出しを実行する前に、初期化の手順を実行する必要があります。
62 第 5章: クライアントアプリケーションの作成
初期化を実行するには、以下の手順を実行します。
1. Metadata APIのプロキシクラスをインスタンス化します。
この例で、Metadata APIプロキシオブジェクトの名前をMWSProxyとします。ここで
は、MWSProxyという名前を使用してMetadata APIプロキシオブジェクトを参照しま
す。
2. Data Integration APIのプロキシクラスをインスタンス化します。
この例で、Data Integration APIプロキシオブジェクトの名前をDIWSProxyとします。
ここでは、DIWSProxyという名前を使用してData Integration APIプロキシオブジェク
トを参照します。
3. MWSProxyオブジェクトを使用して、ログイン操作を呼び出します。
ログイン演算には、リポジトリ名、ユーザー名、およびパスワードが必要です。この
演算はセッションIDを返します。この演算を呼び出すと、MWSProxyオブジェクトがリ
ポジトリ名とユーザー名のペアに関連付けられます。MWSProxyオブジェクトを使用し
て実行されるバッチWebサービス操作に対するすべての後続要求で、これらのリポジト
リ名およびユーザー名が使用されます。
セッションメンテナンス
Web Services Hubでは、キャッシュリソースに対するセッションメンテナンスが必要で
す。 SOAPメッセージのSOAPヘッダには、セッションメンテナンスを容易に行うためのセッ
ション情報が保持されます。
セッションメンテナンスを設定および実行するには、以下の手順を実行します。
1. ログイン操作の呼び出しに対する応答から、ルート要素名Contextおよび名前空間
http://www.informatica.com/wshを含むヘッダを抽出します。 このSOAPヘッダに
は、Web Services Hubによって送信されたセッションIDが含まれます。
2. ログイン操作を呼び出した後に、MWSProxyオブジェクトのSOAPヘッダを設定します。
これにより、MWSProxyオブジェクトを使用したすべての後続要求に対して、SOAPヘッ
ダのセッションIDが送信されます。
3. DIWSProxyオブジェクトを使用して実行されたすべての後続要求に対して、同じセッシ
ョンIDが送信されるように、同じセッションIDでDIWSProxyオブジェクトのSOAPヘッ
ダを設定します。
操作の呼び出し
MWSProxyオブジェクトとDIWSProxyオブジェクトを使用して、Metadata Web Serviceの演算
とData Integration Web Serviceの演算を呼び出す準備が整いました。MWSProxyオブジェ
クトを使用して、Metadata Web Serviceの操作を呼び出します。DIWSProxyオブジェクトを
使用して、Data Integration Web Serviceの演算を呼び出します。
リソースのクリーンアップ
Web Services Hubでは、パフォーマンスおよびリソースのクリーンアップに対して、セッ
ションの有効期限が指定されます。 Logout操作は、クライアントアプリケーションによっ
て取得されたWeb Services Hubのリソースを開放して、クリーンアップ操作を実行しま
す。
バッチWebサービスのクライアントアプリケーション 63
リソースを開放するには、MWSProxyオブジェクトを使用してLogout操作を呼び出します。
リポジトリにログインはしても、Login操作は呼び出さない場合は、セッションの有効期限
後に、Web Services Hubでリソースのクリーンアップが実行されます。
エラー処理
SOAP応答のSOAP Fault要素には、Webサービスを呼び出す際に発生するエラーが含まれま
す。
バッチWebサービス操作を呼び出している間、SOAP Faultを取得するための適切なエラー処
理方法が実装されている必要があります。 この方法は、ツールキットによって異なりま
す。
Webサービスツールキットには、Fault要素からfaultcodeおよびfaultstringフィールドを
取得するための(例外)処理方法が用意されています。ただし、エラーコードおよびエラ
ー明細を取得するために、詳細要素フィールドを解析するためのXMLパーサーが必要になる
場合があります。
プロキシオブジェクト
ログイン演算を呼び出すと、指定したリポジトリ名およびユーザー名に対するセッション
が作成されます。このセッションは、Login演算呼び出しによって取得したセッションIDに
よって識別されます。 セッションIDはMetadataプロキシオブジェクトに対応します。
Metadataプロキシオブジェクトは、セッションIDが有効な限り有効です。 Login操作を呼
び出した後は、対応するMetadataプロキシオブジェクトおよびData Integrationプロキシ
オブジェクトと共に、セッションIDが無効になります。
バッチWebサービスのJavaクライアントアプリケーション
この節では、Axis Webサービスツールキットを使用し、Javaでクライアントアプリケーシ
ョンを作成する手順について説明します。
注: 次の節にあるサンプルコードの一部は、Web Services Hubに付属のバッチWebサービ
スのサンプルプログラムから取り出したものです。 PowerCenter Webサービスのサンプル
プログラムは、次のディレクトリで確認できます。
<PowerCenterInstallationDir>/server/samples/WebServices/samples/BatchWebServices/axis
Axisでのクライアントプロキシクラスの生成
Javaによるクライアントプロキシクラスは、Axis Webサービスツールキットを使用して生
成できます。このツールキットを使用するには、CLASSPATH環境変数にaxis.jarファイルを
追加します。
64 第 5章: クライアントアプリケーションの作成
Javaによるクライアントプロキシクラスを生成する手順
1. Web Services Hub Consoleから、Metadata WebサービスおよびData Integration Web
サービスのWSDLファイルをダウンロードします。
エンドポイントURLのWeb Services Hubで、WSDLにの正しいホスト名およびポート番号
が設定されていることを確認します。 エンドポイントURLが正しくない場合は、WSDL
のdefinitions\service\port階層にあるaddress要素を更新します。
2. 次のコマンドを使用して、クライアントプロキシクラスを生成します。
java org.apache.axis.wsdl.WSDL2Java --NStoPkg http://www.informatica.com/wsh=ProxyClasses -W <WSDLFile>
-Wオプションは、ラップされたドキュメントリテラルサービスのためのサポートを無
効にします。
たとえば、WSDLファイルの名前がMetadata.wsdlおよびDataIntegration.wsdlの場合
は、次のコマンドを実行します。
java org.apache.axis.wsdl.WSDL2Java --NStoPkg http://www.informatica.com/wsh=ProxyClasses -W Metadata.wsdljava org.apache.axis.wsdl.WSDL2Java --NStoPkg http://www.informatica.com/wsh=ProxyClasses -W DataIntegration.wsdl
これらのコマンドによって、ProxyClassesパッケージにクライアントプロキシクラス
が生成されます。コマンドが生成するプロキシクラスは、以下のとおりです。
¨ MetadataInterface.java。Metadata Webサービスのインタフェースが含まれてい
ます。
¨ DataIntegrationInterface.java。Data Integration Webサービスのインタフェー
スが含まれています。
Axisでの初期化
クライアントアプリケーションは、Metadata WebサービスおよびData Integration Webサ
ービスに対する呼び出しを実行する前に、初期化の手順を実行する必要があります。
初期化を実行するには、以下の手順を実行します。
1. MetadataServiceオブジェクトおよびDataIntegrationServiceオブジェクトは、サー
ビスロケータクラスをインスタンス化して作成します。
MetadataService mdService = new MetadataServiceLocator();DataIntegrationService diService = new DataIntegrationServiceLocator();
2. MetadataInterfaceオブジェクト(MWSProxy)を手順1で作成したMetadataServiceオ
ブジェクトから取得します。
Metadata.wsdlにあるMetadata ServiceのエンドポイントURLが正しい場合、次のよう
にMWSProxyオブジェクトを取得します。
MWSProxy=mdService.getMetadata();
それ以外の場合は、次のようにMWSProxyオブジェクトを取得します。
MWSProxy=mdService.getMetadata(new java.net.URL(MWS_URL));
MWS_URLは、Metadata WebサービスのエンドポイントURLを含む変数です。
MWSProxyオブジェクトを使用して、Metadata Web Serviceの操作を呼び出します。
3. DataIntegrationInterfaceオブジェクト(DIWSProxy)を手順1で作成した
DataIntegrationServiceオブジェクトから取得します。
バッチWebサービスのJavaクライアントアプリケーション 65
DataIntegration.wsdlにあるサービスのエンドポイントURLが正しいURLであれば、次
の手順でDIWSProxyオブジェクトを取得します。
DIWSProxy=diService.getDataIntegration();
それ以外の場合は、次のようにしてDIWSProxyオブジェクトを取得します。
DIWSProxy=diService.getDataIntegration(new java.net.URL(DIWS_URL));
DIWS_URLは、Data Integration WebサービスのエンドポイントURLを含む変数です。
DIWSProxyオブジェクトを使用して、Data Integration Web Serviceの演算を呼び出し
ます。
4. MWSProxyオブジェクトを使用してログイン演算を呼び出して、クライアントアプリケ
ーションのユーザーアカウントに対するセッションIDを作成します。ログイン演算で
は、オブジェクトLoginRequestでラップされたドメイン、リポジトリ、ユーザー名、
およびパスワードが処理され、セッションIDが返されます。
LoginRequest loginReq = new LoginRequest();loginReq.setRepositoryDomainName(REPO_DOMAIN_NAME);loginReq.setRepositoryName(REPO_NAME);loginReq.setUserName(USER_NAME);loginReq.setPassword(PASSWORD);String sessionID = MWSProxy.login(loginReq);
REPO_DOMAIN_NAMEはPowerCenterドメイン名を含む文字列であり、REPO_NAMEはドメイ
ン内のリポジトリ名を含む文字列であり、USER_NAMEはリポジトリに対して有効なユー
ザー名を含む文字列であり、PASSWORDはユーザーがリポジトリにログインするための
パスワードを含む文字列です。
5. MWSProxyオブジェクトおよびDIWSProxyオブジェクトを、セッションIDのリポジトリ
名およびユーザー名と関連付けます。MWSProxyまたはDIWSProxyオブジェクトを使用
してバッチWebサービスに対して行われる後続の要求はすべて、セッションID内のリポ
ジトリおよびユーザー名を使用します。
((org.apache.axis.client.Stub)MWSProxy).setHeader(createSessionHeader(sessionID));((org.apache.axis.client.Stub)DIWSProxy).setHeader(createSessionHeader(sessionID));
Axisでのセッションメンテナンス
Web Services Hubでは、キャッシュリソースに対するセッションメンテナンスが必要で
す。 SOAPメッセージのSOAPヘッダには、セッションメンテナンスを容易に行うためのセッ
ション情報が保持されます。
セッションメンテナンスを実行するには、以下の手順を実行します。
1. MWSProxyオブジェクトを使用したログイン操作の呼び出しに対する応答から、ルート
要素名Contextおよび名前空間http://www.informatica.com/wshが含まれるSOAPヘッ
ダを抽出します。このSOAPヘッダには、Web Services Hubによって送信されたセッシ
ョンIDが含まれます。
/** Create session ID in the Soap message header **/public static SOAPHeaderElement createSessionHeader(String sessID) throws SOAPException { String WSSE_NS ="http://www.informatica.com/"; String WSSE_PREFIX = "infa"; Name hdrname = SOAPFactory.newInstance().createName("Context",WSSE_PREFIX,WSSE_NS); SOAPHeaderElement header = new SOAPHeaderElement(hdrname); SOAPElement token = header.addChildElement("SessionId"); token.addTextNode(sessID); return header; }
66 第 5章: クライアントアプリケーションの作成
2. MWSProxyオブジェクトを使用したすべての後続要求に対して、SOAPヘッダ内のこのセ
ッションIDを送信します。ログイン操作を呼び出した後に、以下のようにMWSProxyオ
ブジェクトでSOAPヘッダを1回設定します。
((org.apache.axis.client.Stub) MWSProxy).setHeader(createSessionHeader(sessionID));
3. 以下のように、同じSOAPヘッダを持つDIWSProxyオブジェクトのSOAPヘッダを設定し
ます。
((org.apache.axis.client.Stub) DIWSProxy).setHeader(createSessionHeader(sessionID));
Axisにおける操作の呼び出し
MWSProxyオブジェクトとDIWSProxyオブジェクトを使用して、Metadata Web Serviceの演算
とData Integration Web Serviceの演算を呼び出す準備が整いました。
例えば、getAllDIServers操作を呼び出して、Integration Servicesのリストを取得でき
ます。
DIServerInfoArray servers = MWSProxy.getAllDIServers(null);if (servers.getDIServerInfo() != null) { for(int i=0; i < servers.getDIServerInfo().length ; i++) { System.out.println("("+(i+1)+") "+servers.getDIServerInfo(i).getName()); } }
pingDIServer操作を呼び出して、Integration Serviceの状態を確認できます。
DIServiceInfo diInfo = new DIServiceInfo();diInfo.setDomainName(DI_DOMAIN_NAME);diInfo.setServiceName(SERVICE_NAME);PingDIServerRequest pingReq = new PingDIServerRequest();pingReq.setDIServiceInfo(diInfo);pingReq.setTimeOut(100);EPingState eps = DIWSProxy.pingDIServer(pingReq);
DI_DOMAIN_NAMEは、Integration Serviceを含むドメインの名前を含む変数です。
SERVICE_NAMEは、Integration Service名を含む変数です。
Axisでのクリーンアップ
クリーンアップ操作により、クライアントアプリケーションによって取得されたWeb
Services Hubのリソースが開放されます。 クリーンアップしてリソースを開放するには、
MWSProxyオブジェクトを使用してLogout操作を呼び出します。
MWSProxy.logout(null);
Axisにおけるエラー処理
Axisでクライアントアプリケーションにエラー処理を実装するには、tryブロックに
FaultDetailsオブジェクトを捕獲するためのコードを記述します。FaultDetailsクラスは
クライアントプロキシの一部として生成されます。
tryブロックにある次のコードを使用して、FaultDetailsオブジェクトを取得できます。
try {// Code for steps explained above.}catch(FaultDetails fault) {// Display fault code System.out.println(“fault code : “ + fault.getFaultCode());
バッチWebサービスのJavaクライアントアプリケーション 67
// Display fault string System.out.println(“fault string : “ + fault.getFaultString());// Display error code System.out.println(“error code is : “ + fault.getErrorCode());// Display extended details System.out.println(“extended detail is : “ + fault.getExtendedDetails());}
バッチWebサービスのC#クライアントアプリケーション
この節では、.NET Webサービスツールキットを使用して、C#でクライアントアプリケーシ
ョンを作成する手順について説明します。
注: 次のセクションにあるサンプルコードの一部は、バッチWebサービスのサンプルプロ
グラムから取り出したものです。サンプルプログラムは、次のディレクトリで確認できま
す。
<PowerCenterInstallationDir>\server\samples\WebServices\samples\BatchWebServices\dotnet\csharp
.NETでのクライアントプロキシクラスの生成
Microsoftの.NET Webサービスツールキットを使用すると、C#でのWeb Services Hubのクラ
イアントプロキシクラスを作成できます。
クライアントプロキシクラスをC#で生成する手順
1. Web Services Hub Consoleから、Metadata WebサービスおよびData Integration Web
サービスのWSDLファイルをダウンロードします。 エンドポイントURLのWeb Services
Hubで、WSDLにの正しいホスト名およびポート番号が設定されていることを確認しま
す。 エンドポイントURLが正しくない場合は、WSDLのdefinitions\service\port階層
にあるaddress要素を更新します。
2. 次のコマンドを使用して、クライアントプロキシクラスを生成します。
wsdl <WSDLFile>
たとえば、WSDLファイルの名前がMetadata.wsdlおよびDataIntegration.wsdlの場合
は、次のコマンドを実行します。
wsdl Metadata.wsdlwsdl DataIntegration.wsdl
コマンドが生成するプロキシクラスは、以下のとおりです。
¨ MetadataService.cs。Metadata Webサービスのインタフェースが含まれていま
す。
¨ DataIntegrationService.cs。Data Integration Webサービスのインタフェースが
含まれています。
.NETでの初期化
クライアントアプリケーションは、Metadata WebサービスおよびData Integration Webサ
ービスに対する呼び出しを実行する前に、初期化の手順を実行する必要があります。
68 第 5章: クライアントアプリケーションの作成
初期化を実行するには、以下の手順を実行します。
1. MetadaServiceクラスのオブジェクト(MWSProxy)をインスタンス化します。
MWSProxy= new MetadaService();
Metadata.wsdlにあるMetadata ServiceのエンドポイントURLが間違っていれば、次の
コードでURLを設定することができます。
MWSProxy.Url = MWS_URL;
MWS_URLは、Metadata WebサービスのエンドポイントURLを含む変数です。
MWSProxyオブジェクトを使用して、Metadata Web Serviceの操作を呼び出します。
2. DataIntegrationServiceクラスのオブジェクト(DIWSProxy)をインスタンス化しま
す。
DIWSProxy= new DataIntegrationService ();
DataIntegration.wsdlにあるData Integration ServiceのエンドポイントURLが間違
っていれば、次のコードでURLを設定することができます。
DIWSProxy.Url = DIWS_URL;
DIWS_URLは、Data Integration WebサービスのエンドポイントURLを含む文字列です。
DIWSProxyオブジェクトを使用して、Data Integration Web Serviceの操作を呼び出し
ます。
3. MWSProxyオブジェクトを使用してログイン演算を呼び出して、クライアントアプリケ
ーションのユーザーアカウントに対するセッションIDを作成します。ログイン演算で
は、オブジェクトLoginRequestでラップされたドメイン、リポジトリ、ユーザー名、
およびパスワードが処理され、セッションIDが返されます。
LoginRequest loginReq = new LoginRequest();loginReq.RepositoryDomainName = REPO_DOMAIN_NAME;loginReq.RepositoryName = REPO_NAME;loginReq.UserName = USER_NAME;loginReq.Password = PASSWORD;String sessID = MWSProxy.Login(loginReq);
REPO_DOMAIN_NAMEはPowerCenterドメイン名を含む文字列であり、REPO_NAMEはドメイ
ン内のリポジトリ名を含む文字列であり、USER_NAMEはリポジトリに対して有効なユー
ザー名を含む文字列であり、PASSWORDはユーザーがリポジトリにログインするための
パスワードを含む文字列です。
4. MWSProxyオブジェクトおよびDIWSProxyオブジェクトを、セッションIDのリポジトリ
名およびユーザー名と関連付けます。MWSProxyまたはDIWSProxyオブジェクトを使用
してバッチWebサービスに対して行われる後続の要求はすべて、セッションID内のリポ
ジトリおよびユーザー名を使用します。
MWSProxy.Context.SessionId = sessID;DIWSProxy.Context.SessionId = sessID;
.NETでのセッションメンテナンス
Web Services Hubでは、キャッシュリソースに対するセッションメンテナンスが必要で
す。 SOAPメッセージのSOAPヘッダには、セッションメンテナンスを容易に行うためのセッ
ション情報が保持されます。
追加手順を実行する必要はありません。.NETのクライアントプロキシクラスで、セッショ
ンメンテナンスを処理します。
バッチWebサービスのC#クライアントアプリケーション 69
.NETにおける演算の呼び出し
MWSProxyオブジェクトとDIWSProxyオブジェクトを使用して、Metadata Web Serviceの操作
とData Integration Web Serviceの操作を呼び出す準備が整いました。
例えば、getAllDIServers操作を呼び出して、Integration Servicesのリストを取得でき
ます。
DIServerInfo[] servers = MWSProxy.GetAllDIServers(null);if (servers != null) { for(int i=0; i < servers.Length ; i++) { Console.WriteLine("("+(i+1)+") "+servers[i].Name); } }
pingDIServer操作を呼び出して、Integration Serviceの状態を確認できます。
PingDIServerRequest pingReq = new PingDIServerRequest();pingReq.TimeOut = (PING_TIME_OUT);DIServiceInfo diInfo1 = new DIServiceInfo();diInfo1.DomainName = DI_DOMAIN_NAME; diInfo1.ServiceName = DI_SERVICE_NAME1;pingReq.DIServiceInfo = diInfo1;EPingState pingResult = DIWSProxy1.pingDIServer(pingReq);
DI_DOMAIN_NAMEは、Integration Serviceを含むドメインの名前を含む変数です。
DI_SERVICE_NAMEは、Integration Service名を含む変数です。
.NETにおけるエラー処理
.NETでクライアントアプリケーションにエラー処理を実装するには、tryブロックにSOAP
Exceptionオブジェクトを捕獲するためのコードを記述します。 SOAP Exceptionクラス
は.NET framework SDKに含まれています。
tryブロックにある次のコードを使用して、SOAP Exceptionオブジェクトを取得できます。
try {//Code for steps explained above.}catch(SoapException fault) {// Display fault codeConsole.WriteLine(“fault code is : “ + fault.Code);// Display fault stringConsole.WriteLine(“fault string is : “ + fault.Message);// Parsing detail elementXmlNode detail = fault.Detail;XmlElement WSHFaultDetails = detail[“WSHFaultDetails”, “http://www.informatica.com/PowerCenter”]; XmlElement ErrorCode= WSHFaultDetails [“ErrorCode”]; XmlElement ExtendedDetails= WSHFaultDetails [“ExtendedDetails”];// Display error code Console.WriteLine (“error code is : “ + ErrorCode.InnerText);// Display extended details Console.WriteLine (“extended detail is : “ + ExtendedDetails.InnerText);}
70 第 5章: クライアントアプリケーションの作成
リアルタイムWebサービスのクライアントアプリケーション
リアルタイムWebサービスのクライアントアプリケーションには、次の要素が含まれていま
す。
¨ Webサービスワークフロー
¨ クライアントプロキシクラス
¨ 初期化
¨ 演算の呼び出し
¨ エラー処理
Webサービスワークフロー
リアルタイムWebサービスのクライアントアプリケーションを作成して、Webサービスワー
クフローを実行します。クライアントアプリケーションを作成する前に、PowerCenterでマ
ッピングとワークフローを作成する必要があります。 クライアントアプリケーションがワ
ークフローを実行できるようにするには、ワークフローで次のオプションを有効にしま
す。
¨ Webサービス。ワークフローをWebサービスワークフローにするためには、[Webサービ
ス]オプションを有効にします。
¨ 実行可能。クライアントアプリケーションがWebサービスワークフローを実行できるよ
うにするには、[実行可能]オプションを有効にします。
¨ ビジブル。Web Services HubがWeb Services Hub ConsoleのWebサービスに対してWSDL
を公開するように、[ビジブル]オプションを有効にします。
クライアントプロキシクラスの生成
PowerCenterで作成するリアルタイムWebサービスを使用するには、アクセスするWebサービ
スのWSDLからクライアントプロキシクラスを生成する必要があります。
クライアントプロキシクラスを生成するには、次の手順を完了します。
1. 開発に使用するプラットフォームと言語に対応したWebサービスツールキットを選択し
ます。
2. Web Services Hub ConsoleからリアルタイムWebサービス用のWSDLをダウンロードしま
す。
3. Webサービスツールキットを使用し、WSDLからクライアント側プロキシクラスを生成し
ます。 プロキシクラス生成の詳細については、Webサービスツールキットのドキュメ
ントを参照してください。各ツールキットは特定の方法でクライアントプロキシクラ
スを生成します。
リアルタイムWebサービスのクライアントアプリケーション 71
初期化
クライアントアプリケーションは、Webサービス操作への呼び出しを作成できるようにする
ために、クライアントプロキシクラスのWebサービスオブジェクトをインスタンス化して、
Webサービスのポートを取得する必要があります。
操作の呼び出し
Webサービス操作を呼び出すために、クライアントアプリケーションは要求オブジェクトを
作成して、ポート操作に渡す必要があります。Webサービスが応答を送り返す場合、クライ
アントアプリケーションは必要に応じて応答を処理する必要があります。
エラー処理
リアルタイムWebサービスのクライアントアプリケーションでのエラー処理は、バッチWeb
サービスのクライアントアプリケーションの場合と同じです。 SOAP応答のSOAP Fault要素
には、Webサービスを呼び出す際に発生するエラーが含まれます。クライアントアプリケー
ションは、SOAP Faultを取得するための適切なエラー処理方法を実装する必要がありま
す。
リアルタイムWebサービスのJavaクライアントアプリケーション
この節では、Axis Webサービスツールキットを使用してPowerCenterリアルタイムWebサー
ビスを呼び出すJavaクライアントアプリケーションを作成する手順について説明します。
Axis Webサービスツールキットの使用方法の詳細については、以下のApache Webサイト上
のドキュメントを参照してください。
http://ws.apache.org/axis/java/user-guide.html
PowerCenter Webサービスワークフローを呼び出すクライアントアプリケーションを作成で
きるようにするには、最初にWebサービスワークフローを作成してWebサービスのWSDLを生
成する必要があります。 WebサービスWSDLに基づいて、クライアントアプリケーションを
作成します。
PowerCenter Webサービスを作成してWSDLを生成する手順
1. Webサービスワークフローのマッピングを作成します。Webサービスクライアントから
メッセージを受信し、データを変換した後で、Webサービスクライアントに応答を送信
するか、またはPowerCenterでサポートされている任意のターゲットに書き込むように
するため、マッピングを作成することができます。
2. ワークフローを作成し、それをWebサービスとして有効にします。マッピングを実行す
るワークフローを作成して、ワークフロープロパティで[Webサービス]オプションを
有効にします。 PowerCenterの外部のクライアントアプリケーションがワークフロー
を実行できるようにするために、[実行可能]オプションを選択します。
72 第 5章: クライアントアプリケーションの作成
3. WebサービスワークフローのWSDLを特定してダウンロードします。Webサービスワーク
フローを作成する場合、PowerCenterはWebサービスのWSDLを生成します。 Webサービ
スを表示可能に設定すると、Webサービスに関連付けられたWeb Services Hubのコンソ
ール上にWSDLを表示できます。
Webサービスを作成した後、クライアントアプリケーションを開発してWebサービスワーク
フローを実行できます。
関連項目:
¨ 「Webサービスワークフローの作成および設定」 (ページ111)
¨ 「[Webサービス]セクション 」 (ページ15)
リアルタイムWebサービスのクライアントアプリケーションの作成
リアルタイムWebサービスを呼び出すクライアントアプリケーションを作成する手順
1. Webサービスのクライアントプロキシクラスを生成します。
プロキシクラスを作成した後に、Javaアプリケーションを作成してWebサービスを呼び
出します。Javaアプリケーション内部で次の手順を実行します。
2. Webサービスオブジェクトを初期化します。
3. 要求オブジェクトを作成します。
4. 要求オブジェクトをポート操作に渡して、応答を処理します。
注: 次の節にあるサンプルコードの一部は、複数の行ルックアップのためにリアルタイム
Webサービスから取り出されたものです。 例は、次のディレクトリで確認できます。
<PowerCenterInstallationDir>/server/samples/WebServices/samples/RealTimeWebServices/UnprotectedWebServices/axis/CustomerLookup_MULTIPLEROW
手順1. Axisでのクライアントプロキシクラスの生成
Axis Webサービスツールキットを使用することによって、WebサービスWSDLのJavaクライア
ントプロキシクラスを生成できます。具体的には、WSDL2Javaツールを実行すると、Javaプ
ロキシクラスファイルを生成できます。
エンドポイントURLのWebサービスに対して、WSDLに正しいホスト名およびポート番号が設
定されていることを確認します。エンドポイントURLが正しくない場合は、WSDLの
\definitions\service\port階層にあるaddress要素を更新します。
次のコマンドを使用して、クライアントプロキシクラスを生成します。
java org.apache.axis.wsdl.WSDL2Java -W <WSDLFile>
例えば、SampleWS.wsdlという名前のWSDLでは次のコマンドを実行します。
java org.apache.axis.wsdl.WSDL2Java -W SampleWS.wsdl
-Wオプションは、ラップされたドキュメントリテラルサービスのためのサポートを無効に
します。
WSDL2Javaは、WSDLに定義された各データタイプのクラスを生成します。デフォルトで、
WSDL2Javaは、WSDL内の名前空間に基づいてパッケージ名を生成します。通常、名前空間が
リアルタイムWebサービスのJavaクライアントアプリケーション 73
http://x.y.comまたはurn:x.y.comの形式の場合、該当するパッケージはcom.y.xになりま
す。
手順2. Webサービスオブジェクトの初期化
Webサービス操作を呼び出すためには、クライアントプロキシクラスにWebサービスオブジ
ェクトを作成して、Webサービスのポートを取得します。
Webサービスオブジェクトを作成するには、サービスロケータクラスをインスタンス化しま
す。サンプルプログラムでは、次のコードでサービスロケータをインスタンス化します。
CustomerLookup_MULTIPLEROW service = new CustomerLookup_MULTIPLEROWLocator();
Webサービスのポートを取得するには、ポートタイプに作成されたプロキシクラスを使用し
ます。サンプルプログラムでは、次のコードでWebサービスのポートを取得します。
CustomerLookup_MULTIPLEROWPort port = service.getCustomerLookup_MULIPLEROWPort(new java.net.URL(END_POINT_URL);
変数END_POINT_URLには、WSDLのURLが含まれます。
手順3. 要求オブジェクトの作成
Webサービスに渡すために要求オブジェクトと必須パラメータを作成する必要があります。
サンプルクライアントアプリケーションでは、次のコードでルックアップ要求オブジェク
トを作成します。
CustomerLookupRequest request = new CustomerLookupRequest();request.setCustomerID_in(CustomerID);
手順4. 要求の送信と応答の処理
要求オブジェクトを作成した後、それをポート操作に渡します。Webサービスが応答を送り
返します。ユーザーの要件に基づき、応答を処理できます。
サンプルクライアントアプリケーションで、次のコードが要求オブジェクトをポートに渡
して応答を表示します。
CustomerLookupResponse[] response = port.customerLookup_MULTIPLEROWOperation(requestOperation);System.out.println();if (response[0].getCustomerID_out() == 0) { System.out.println("Customer(s) with the ID as " + CustomerID + " does not exist!!!"); }else { System.out.println("***** Customer(s) that matches with the Customer ID is/are ..."); for (int i = 0; i < response.length; i++) { System.out.println("***** Customer ID: " + response[i].getCustomerID_out()); System.out.println("***** Customer Name: " + response[i].getCustomerName_out()); System.out.println("***** Customer Age: " + response[i].getCustomerAge_out()); System.out.println("***** Customer Gender: " + response[i].getCustomerGender_out()); System.out.println("***** Customer Address: " + response[i].getCustomerAddress_out()); if (i < response.length - 1) System.out.println (); } }
74 第 5章: クライアントアプリケーションの作成
パラメータ配列の使用PowerCenterでは、パラメータはセッション間で変更できる値(データベース接続、ソース
ファイルまたはターゲットファイルなど)を表します。 ワークフローまたはセッションに
関連付けられたパラメータを作成すると、ワークフローまたはセッションを実行するたび
に柔軟に対応できます。
Webサービスクライアントアプリケーションの場合は、パラメータファイルまたはパラメー
タ配列内に、ワークフローまたはセッションに関連付けられたパラメータの値を定義でき
ます。パラメータファイルでパラメータを使用するには、クライアントアプリケーション
でパラメータファイル名を指定します。パラメータファイルは、Integration Serviceにア
クセス可能でなくてはなりません。 パラメータ配列を使用するには、クライアントアプリ
ケーションでパラメータ配列の要素にパラメータ値を指定します。
たとえば、ワークフローまたはタスクを開始する要求によって、パラメータファイルの名
前、またはパラメータ配列のパラメータおよび値のリストを含むワークフローまたはタス
クに関連付けられたパラメータを指定できます。
パラメータ配列の定義
SOAP要求のパラメータ定義は、パラメータの範囲、名前、および値で構成されます。
Integration Serviceでワークフローまたはタスクが実行されている場合、パラメータファ
イルのパラメータの場合と同様に、配列のパラメータが使用されます。
WSDLには、以下のようなパラメータ配列要素の定義が含まれます。
<complexType name="Parameter"> <sequence> <element name="Scope" type="xsd:string" /> <element name="Name" type="xsd:string" /> <element name="Value" type="xsd:string" /> </sequence></complexType>
<complexType name="ParameterArray"> <sequence> <element maxOccurs="unbounded" minOccurs="0" name="Parameters" nillable="true" type="impl:Parameter" /> </sequence></complexType>
例えば、パラメータファイルには以下のパラメータが含まれます。
[s_m_A]$a=1$b=2$c=3[WSH_Folder.s_m_B]$d=4
パラメータ配列に同じパラメータを持つStartWorkflow操作のWebサービス呼び出しに対す
るSOAP要求には、以下の要素が含まれます。
<StartWorkflow>… <Parameters> <Parameter> <Scope>s_m_A</Scope> <Name>$a</Name> <Value>1</Value> </Parameter>
パラメータ配列の使用 75
<Parameter> <Scope>s_m_A</Scope> <Name>$b</Name> <Value>2</Value> </Parameter> <Parameter> <Scope>s_m_A</Scope> <Name>$c</Name> <Value>3</Value> </Parameter> <Parameter> <Scope>WSH_Folder.s_m_B</Scope> <Name>$d</Name> <Value>4</Value> </Parameter>…</StartWorkflow>
WorkflowRequestタイプおよびTaskRequestタイプには、ParameterArray要素が含まれま
す。パラメータ配列には任意の数のパラメータを指定できます。
AxisでのWebサービスクライアントアプリケーションの以下のサンプルコードは、
WorkflowRequestでのパラメータ配列の作成方法を示しています。
Parameter[] parameters = new Parameter[4];
Parameter param1 = new Parameter();Param1.setScope(“s_m_A”);Param1.setName($a”);Param1.setValue(“1”);Parameters[0] = param1;
Parameter param2 = new Parameter();Param2.setScope(“s_m_A”);Param2.setName(“$b”);Param2.setValue(“2”);Parameters[1] = param2;
Parameter param3 = new Parameter();Param3.setScope(“s_m_A”);Param3.setName(“$c”);Param3.setValue(“3”);Parameters[2] = param3;
Parameter param4 = new Parameter();Param4.setScope(“WSH_Folder.s_m_B”);Param4.setName(“$d”);Param4.setValue(“4”);Parameters[3] = param4;
WorkflowRequest wfReq = new WorkflowRequest();wfReq.setParameters(parameters);
以下の操作で、パラメータ配列を使用できます。
¨ startWorkflow
¨ startWorkflowFromTask
¨ recoverWorkflow
¨ startTask
76 第 5章: クライアントアプリケーションの作成
パラメータ配列の使用に関する規則とガイドライン
Webサービス要求でパラメータ配列を使用する場合は、以下の規則とガイドラインを使用し
ます。
¨ パラメータファイルまたはパラメータ配列を使用する。Webサービス操作の呼び出しを
実行する場合には、SOAPリクエストでパラメータファイル名とパラメータ配列を指定し
ないでください。 SOAPリクエストでパラメータファイルとパラメータ配列の両方を指
定すると、Web Services Hubは、要求がパラメータリストとパラメータファイルを指定
していることを示すフォールトメッセージ警告を返します。
¨ パラメータファイルとパラメータ配列が定義されている場合、Integration Serviceは
SOAPリクエストのパラメータ配列のパラメータ値を使用します。以下の条件が該当する
場合、Integration Serviceは、パラメータ配列で定義されているパラメータ値を使用
します。
- Webサービス要求でパラメータ配列を指定してワークフローを開始している。
-ワークフロープロパティで、ワークフローに関連付けられたパラメータファイルが定
義されている。
クライアント要求へのセキュリティの追加Web Services Hubでは、Webサービスに対して以下のタイプのセキュリティが使用されま
す。
¨ ユーザークレデンシャル。 クライアントが要求に対するクレデンシャルを取得するに
は、実行するWebサービスを含むPowerCenterリポジトリにログインする必要がありま
す。 ログインによって、WebサービスクライアントがSOAPリクエストに含める必要があ
るセッションIDが生成されます。
Web Services Hubでは、バッチWebサービスに対してこのセキュリティオプションが使
用されます。 バッチWebサービスを呼び出すクライアントアプリケーションは、他の操
作を呼び出す前にリポジトリにログインする必要があります。
¨ ユーザー名トークン。ユーザー名トークンを使用し、OASIS Webサービスセキュリティ
標準に基づくWebサービスセキュリティ。これには、SOAPメッセージの内容の整合性と
セキュリティを確保するSOAP拡張のセットが含まれています。
ユーザー名トークンは、保護されているWebサービスのデフォルトのセキュリティオプ
ションです。 デフォルトでは、保護されているWebサービスのWeb Services Hubで生成
されたWSDLには、UsernameToken要素を持つセキュリティヘッダが含まれています。
OASIS Webサービスセキュリティ標準の詳細については、OASIS WebサイトにあるWebサ
ービスセキュリティ仕様を参照してください。
http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=ws-sx
注: クライアントアプリケーションがWebサービスを実行するためにログイン要求を送信し
た場合は、応答が受信された後で明示的にログアウト要求を送信します。ログイン要求に
対応するログアウト要求がないと、Repository ServiceとWeb Services Hubプロセスでの
メモリリークの原因になります。
クライアント要求へのセキュリティの追加 77
SOAPリクエストのUsernameToken
Web Services Hubで生成されたWSDLに基づいてクライアントアプリケーションを作成する
と、要求オブジェクトではデフォルトでヘッダにUsernameToken要素が含まれます。
SOAPリクエスト内のUsernameToken要素には、以下のパスワードセキュリティのいずれかを
指定することができます。
¨ プレーンテキストパスワード。プレーンテキストのパスワードが含まれます。
¨ ハッシュパスワード。ハッシュ関数MD5またはSHA-1を使用してハッシュされた暗号化パ
スワードが含まれます。
¨ ダイジェストパスワード。ナンス値とタイムスタンプによってハッシュされた暗号化パ
スワードが含まれます。
UsernameTokenのパスワード要素にユーザーパスワードが含まれます。
パスワード要素には、使用されるパスワードセキュリティのタイプを示すタイプ属性が指
定されます。 タイプ属性を省略すると、パスワードタイプはデフォルトでPasswordTextに
なります。
プレーンテキストパスワード
UsernameToken要素には、次の子要素が含まれます。
¨ Username要素。PowerCenterのネイティブセキュリティドメインまたは任意のLDAPセキ
ュリティドメインのユーザー名が含まれます。 デフォルトのセキュリティドメインは
ネイティブセキュリティドメインです。 ユーザー名がネイティブセキュリティドメイ
ンに属する場合、Username要素ではセキュリティドメインの名前を必要としません。
ユーザー名がLDAPセキュリティドメインに属する場合は、ユーザー名の前にセキュリテ
ィドメインの名前とスラッシュ(/)を付ける必要があります。
以下のUsername要素の例は、ユーザーアカウントのセキュリティドメインを示すために
使用する形式を示しています。
Username要素の値 セキュリティドメイン
<UsernameToken>
<Username>Native/Administrator</
Username>
<Password>Administrator</Password>
</UsernameToken>
ネイティブ
<UsernameToken>
<Username>/Administrator</Username>
<Password>Administrator</Password>
</UsernameToken>
ネイティブ
<UsernameToken>
<Username>Administrator</Username>
<Password>Administrator</Password>
ネイティブ
78 第 5章: クライアントアプリケーションの作成
Username要素の値 セキュリティドメイン
</UsernameToken>
<UsernameToken>
<Username>LDAPAdm/Administrator</
Username>
<Password>Administrator</Password>
</UsernameToken>
LDAPAdmという名前のLDAPセキ
ュリティドメイン
¨ パスワード要素。プレーンテキストのパスワードが含まれます。 パスワード要素のタ
イプ属性は、省略するかPasswordTextに設定できます。
ハッシュパスワード
UsernameToken要素には、次の子要素が含まれます。
¨ Username要素。PowerCenterのネイティブセキュリティドメインのユーザー名が含まれ
ます。
¨ パスワード要素。ハッシュパスワードが含まれます。 このパスワードは、MD5ハッシュ
関数またはSHA-1ハッシュ関数でハッシュ化してBase64にエンコードする必要がありま
す。パスワード要素のタイプ属性は、省略するか“PasswordText”に設定できます。
以下のコードは、ハッシュパスワードを使用する要求のセキュリティヘッダの例を示し
ています。
<soapenv:Header> <!-- UsernameTokens --> <inf:Security> <UsernameToken> <Username>Native/Administrator</Username> <Password>Ntm58Cxf7SBOQAz3OlsTq1nv-D7</Password> </UsernameToken> </inf:Security></soapenv:Header>
サードパーティツールを使用したハッシュパスワードの作成
OpenSSLなどのサードパーティツールとJava MessageDigestクラスを使用して、ハッシュパ
スワードを作成できます。
OpenSSL
OpenSSLを使用してハッシュパスワードを作成するには、メッセージダイジェストコマ
ンドdgstを使用してOpenSSLを実行します。
次の例は、MD5ハッシュ関数を使用し、Base64でエンコードされた、パスワード文字列
Administratorのハッシュパスワードを作成する方法を示します。
echo -n "Administrator" | openssl dgst -md5 -binary | openssl base64
次の例は、SHA-1ハッシュ関数を使用し、Base64でエンコードされた、パスワード文字
列Administratorのハッシュパスワードを作成する方法を示します。
echo -n "Administrator" | openssl dgst -sha1 -binary | openssl base64
クライアント要求へのセキュリティの追加 79
注: これらの例のechoコマンドでは、文字列に改行文字が追加されます。コマンド中
の-nオプションにより、改行文字が削除されます。
Java MessageDigest
次の例は、Java MessageDigestクラスを使用して、MD5ハッシュ関数を使用し、
Base64でエンコードされたハッシュパスワードを作成する方法を示します。
public static String md5hash(String password) throws Exception{ MessageDigest digest = java.security.MessageDigest.getInstance("MD5"); digest.reset(); digest.update(password.getBytes()); byte[] hash = digest.digest(); return new String(org.apache.commons.codec.binary.Base64.encodeBase64(hash));}
次の例は、Java MessageDigestクラスを使用して、SHA-1ハッシュ関数を使用し、
Base64でエンコードされたハッシュパスワードを作成する方法を示します。
public static String sha1hash(String password) throws Exception{ MessageDigest digest = java.security.MessageDigest.getInstance("SHA-1"); digest.reset(); digest.update(password.getBytes()); byte[] hash = digest.digest(); return new String(org.apache.commons.codec.binary.Base64.encodeBase64(hash));}
ダイジェストパスワード
UsernameToken要素には、次の子要素が含まれます。
¨ Username要素。PowerCenterのネイティブセキュリティドメインのユーザー名が含まれ
ます。
¨ パスワード要素。ダイジェストパスワードが含まれます。 このパスワードは、Nonce要
素のナンス値およびCreated要素のタイムスタンプと連結されているパスワードをハッ
シュ化して生成された値です。 このパスワードは、SHA-1ハッシュ関数でハッシュ化し
てBase64にエンコードする必要があります。
ダイジェストパスワードのセキュリティのために、パスワード要素のタイプ属性は
PasswordDigestに設定する必要があります。
¨ Nonce要素。1回しか使用できないランダムな値であるナンス値が含まれます。
¨ Created要素。要求が作成された時刻を示すタイムスタンプ値が含まれます。 タイムス
タンプではUTC形式、yyyy-MM-dd'T'HH:mm:ss.SSS'Z'を使用します。 例: 2008-08-11T18:06:32.425Z。
SOAPリクエストに含めるナンス値は1回しか使用できません。 デフォルトでは、Created要
素の値が示すように、要求の作成後300秒(5分)間有効です。 クライアントアプリケーシ
ョンはナンス値が有効である時間内に要求を送信する必要があります。 例えば、Created
値が、要求が午前10:00に作成されたことを示しているとします。この要求は午前10:00か
ら午前10:05まで有効です。クライアントアプリケーションが午前10:00より前または午前
10:05より後にWeb Services Hubに要求を送信すると、要求とナンス値は無効になり、要求
は失敗します。
ダイジェストパスワードでは標準のOASISパスワードダイジェストアルゴリズムが使用され
ます。
Password_Digest = Base64 ( SHA-1 ( nonce + created + password ) )
80 第 5章: クライアントアプリケーションの作成
ナンス値、タイムスタンプ、およびダイジェストパスワードは、任意のツールを使用して
生成できます。
以下のコードは、ダイジェストパスワードを使用する要求のセキュリティヘッダの例を示
しています。
<soapenv:Header> <!-- UsernameTokens --> <inf:Security> <UsernameToken> <Username>Administrator</Username> <Password Type="PasswordDigest"> Xty5lCAf5SVO0AY3OtsYq7nv/DI=</Password> <Nonce>KjsaeiuDFKJEwkr4332rL=</Nonce> <Created>2008-08-12T01:11:47.013Z</Created> </UsernameToken> </inf:Security></soapenv:Header>
サードパーティツールを使用したダイジェストパスワードの作
成
Java MessageDigestクラスなどのサードパーティツールを使用してダイジェストパスワー
ドを作成できます。
次の例は、Java MessageDigestクラスを使用し、タイムスタンプとナンス値を使用して、
Base64でエンコードされたダイジェストパスワードを作成する方法を示します。
public static String oasisDigest(String password, String nonce) throws Exception{ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"); String created = sdf.format(new Date()); System.out.println("Created : " + created); System.out.println("Nonce : " + new String(org.apache.commons.codec.binary.Base64.encodeBase64(nonce.getBytes()))); String toDigest = nonce + created + password; MessageDigest digest = java.security.MessageDigest.getInstance("SHA-1"); digest.reset(); digest.update(toDigest.getBytes()); byte[] hash = digest.digest(); return new String(org.apache.commons.codec.binary.Base64.encodeBase64(hash));}
soapUIなどのWebサービステストツールを使用してクライアントアプリケーションをテスト
する場合、そのツールを使用してクライアント要求用のダイジェストパスワードを生成で
きます。
クライアント要求へのセキュリティの追加 81
第 6 章
Webサービスのソースおよびターゲットに関する作業
この章では、以下の項目について説明します。
¨ Webサービスのソースおよびターゲットの概要, 82 ページ
¨ Webサービスのソースおよびターゲットの理解, 83 ページ
¨ Webサービスのソース定義またはターゲット定義のインポート, 86 ページ
¨ ソース定義またはターゲット定義の作成, 91 ページ
Webサービスのソースおよびターゲットの概要
Webサービスワークフロー内で使用するマッピングを作成する場合、マッピングのソースお
よびターゲットでは、Webサービスの入力メッセージおよび出力メッセージを定義する必要
があります。Webサービスソースは、Webサービス操作の入力メッセージを定義し、Webサー
ビスSOAP要求のメタデータを表します。Webサービスターゲットは、Webサービス操作の出
力メッセージを定義し、WebサービスSOAP要求のメタデータを表します。
Webサービス記述言語(WSDL)は、Webサービスの入力および出力メッセージを記述しま
す。作成するWebサービスワークフローのWSDLがある場合は、そのWSDLからソース定義およ
びターゲット定義をインポートできます。WSDLがない場合は、リレーショナルおよびフラ
ットファイルソースまたはターゲット内のカラムに基づいて入力および出力メッセージを
作成できます。または、定義するカラムから入力および出力メッセージを作成できます。
Designerを使用して、Webサービスのソース定義およびターゲット定義を作成します。Web
サービスのソース定義およびターゲット定義は、以下の方法で作成できます。
¨ WSDLから定義をインポートする。 WSDLで定義される操作のソースまたはターゲット定
義をインポートします。ソース定義のインポート時に、Designerによって入力メッセー
ジの定義がインポートされます。ターゲット定義のインポート時に、Designerによって
出力メッセージおよびフォールトメッセージの定義がインポートされます。
82
¨ 定義をリレーショナルまたはフラットファイルのソースおよびターゲットから作成す
る。フォルダで定義された、リレーショナルファイルまたはフラットファイルのソース
およびターゲット定義に基づいて、Webサービスのソース定義およびターゲット定義を
作成できます。 さらに、カラムを手動で定義してデータタイプおよびカラムサイズを
指定することもできます。Webサービスのソースとターゲット定義をリレーショナルま
たはフラットファイルソースとターゲットから作成する場合、またはカラムを手動で定
義する場合、WSDLは必要ありません。
Webサービスのソースおよびターゲットの理解
XMLのソースおよびターゲットと同様に、Webサービスのソース定義およびターゲット定義
はXMLビューにまとめられています。XMLビューとは、入力メッセージおよび出力メッセー
ジに定義された要素および属性を表すカラムのグループです。
ソース定義およびターゲット定義をインポートすると、Designerによって、WSDLで定義さ
れた入力メッセージまたは出力メッセージの要素に基づいてXMLビューが生成されます。ま
た、Designerは入力メッセージまたは出力メッセージへのMIMEアタッチメントのためのビ
ューも生成します。
Webサービスのソース定義およびターゲット定義を作成すると、Designerによって、リレー
ショナルまたはフラットファイルのソースまたはターゲットで定義されたカラム、または
手動で定義するカラムに基づいてXMLビューが作成されます。
XMLビューおよびグループ
Webサービスのソース定義とターゲット定義には次に示すビューが含まれます。
¨ エンベロープ。SOAPエンベロープおよびbody要素に対応するXMLビュー。 エンベロープ
ビューは、入力メッセージまたは出力メッセージのプライマリキーとポートを含むメイ
ンビューです。
bodyメッセージ部が単純であれば、Designerがエンベロープビューを生成します。
bodyメッセージ部が複雑であれば、Designerが追加のボディビューを生成できます。
-要素。入力メッセージまたは出力メッセージに複数回出現要素が含まれる場合に生成
されるビュー。 Designerは、入力または出力メッセージの各複数回出現要素につい
て、要素ビューを生成します。要素ビューとエンベロープビューのリレーションはn対
1です。
-タイプ。 入力メッセージまたは出力メッセージに複合タイプの定義が含まれる場合に
生成されるビュー。Designerは、入力または出力メッセージの複合タイプの各要素に
ついて、タイプビューを生成します。タイプビューとエンベロープビューのリレーシ
ョンはn対1です。
Designerは、エンティティ関係モードでインポートされたWebサービスのソース定義
とターゲット定義について、タイプビューを生成します。
Webサービスのソースおよびターゲットの理解 83
¨ ヘッダ。SOAPヘッダ要素に対応するXMLビュー。 ヘッダメッセージ部が複雑であれば、
Designerがヘッダビューを個別の要素およびタイプのビューに分割できます。
¨ フォールト。操作の出力メッセージについてフォルトメッセージを定義する場合に作成
されるビュー。 Designerは、操作に対して定義される各フォルトメッセージについて
フォルトビューを生成します。フォルトビューとエンベロープビューのリレーションは
n対:1です。Webサービスのターゲット定義にのみフォルトビューが含まれています。
Designerは、正規化された階層関係モードまたはエンティティ関係モードでインポート
されたWebサービスのターゲット定義について、フォルトビューを生成します。
¨ 添付。MIME添付を含むWSDLに対して生成される添付ビュー。 添付ビューとエンベロー
プビューのリレーションはn対1です。
Designerは、MIME添付の要素定義を含むWSDLに基づいて、Webサービスのソース定義ま
たはターゲット定義に対する添付ビューを生成します。
関連項目:
¨ 「WSDLアタッチメント」 (ページ108)
ソース定義
Designerは、入力メッセージの定義に基づいて、Webサービスのソース定義に対するXMLビ
ューを生成します。
次の表に、DesignerがWebサービスソース定義に生成できるXMLビューを示します。
インポートモー
ド
エンベロ
ープ
要素 タイプ フォール
ト
添付
エンティティ関係 はい はい はい いいえ はい
正規化された階層
関係
はい はい いいえ いいえ はい
ターゲット定義
WSDL内の操作に対するターゲット定義を作成する場合、Designerはその操作に関連付けら
れている出力メッセージとあらゆるフォールトメッセージをインポートします。操作結果
内部の関数が別のフォールトを起こす場合、Designerがターゲット定義内に複数のフォー
ルトビューを作成します。フォールトメッセージは要求処理のエラーを表します。
次の表に、DesignerがWebサービスターゲット定義に生成できるXMLビューを示します。
インポートモード エンベロ
ープ
要素 タイプ フォー
ルト
添付
エンティティ関係 はい はい はい はい はい
正規化された階層
関係
はい はい いいえ はい はい
84 第 6章: Webサービスのソースおよびターゲットに関する作業
注: フォールトメッセージに別々のターゲット定義を作成するには、PowerCenter
DesignerでWebサービスオプションを設定します。
Webサービスのソースおよびターゲットのインポートまた作成のための規則およびガイドライン
Webサービスのソースとターゲットをインポートまたは作成するとき、次の規則およびガイ
ドラインに従ってください。
¨ 複雑なリレーションの要素に対してはWSDLを使用します。 複雑な要素のリレーション
を持つWebサービスのソースまたはターゲットを作成するには、まずWSDLを作成して要
素の階層を定義してから、WSDLからソースまたはターゲットをインポートします。複数
回出現する要素を含む、あるいは複合タイプの要素を含むWebサービスのソースまたは
ターゲットを作成するには、WSDLを使用します。
¨ 単純なWebサービスのソースまたはターゲット定義を手動で定義します。単純なカラム
のセットで入れ子の要素なしでWebサービスのソースまたはターゲットを作成するに
は、定義を手動で作成するかリレーショナルまたはフラットファイルのソース定義また
はターゲット定義を使用します。 Webサービスのソース定義またはターゲット定義のす
べてのカラムが複数回出現することを指定できます。
¨ 同じ方法でソース定義およびターゲット定義を作成します。ソース定義の作成と同時
に、リレーショナルまたはフラットファイルソースまたはターゲットからWebサービス
のターゲット定義を作成します。 Webサービスマッピングのソースとターゲットを同時
に作成するには、[Webサービス定義の作成]ウィンドウで[ソースの作成]オプショ
ンおよび[ターゲットの作成]オプションが選択されていることを確認します。 例え
ば、Source Analyzerで、[ソース]-[Web Services Provider]-[Webサービス定義
の作成]を選択します。 [Webサービス定義の作成]ウィンドウで、[ターゲットの作
成]オプションを選択します。
¨ 同じ方法を使用して要求/応答マッピングのソース定義とターゲット定義を作成しま
す。要求/応答Webサービスマッピングを作成する場合は、同じ方法を使用してソース
定義とターゲット定義を作成します。 たとえば、WSDLからソース定義をインポートす
る場合、WSDL内の同じ操作からターゲット定義をインポートします。ソース定義の作成
をカラムの定義によって行うか、リレーショナルまたはフラットファイルのソースおよ
びターゲットによって行う場合は、同じ方法でターゲット定義を作成します。
¨ WSDLを使用してフォルトビューを持つターゲットを作成します。 ターゲット定義に特
定のデータエラーについてのフォルトビューを持たせたい場合、WSDLを使用してWebサ
ービスのターゲット定義を作成します。フラットファイルもしくはリレーショナルソー
スまたはリレーショナルターゲットにもとづいてターゲット定義を作成する場合、ター
ゲット定義でフォルトビューを定義できません。フラットファイルもしくはリレーショ
ナルソースまたはリレーショナルターゲットに基づいてWebサービスのターゲット定義
を作成する場合、Web Services Hubはシステム障害についてのみフォルトメッセージを
生成できます。
¨ WSDLでは、入力メッセージと出力メッセージは同じエンコードスタイルを使用する必要
があります。WebサービスのソースおよびターゲットをWSDLからインポートする場合
は、入力メッセージと出力メッセージのエンコードスタイルを同じにする必要がありま
す。 入力メッセージのスタイルがRPC/SOAP Encodedの場合、出力メッセージもRPC/
SOAP Encodedスタイルを使用する必要があります。入力メッセージがDocument/Literal
Webサービスのソースおよびターゲットの理解 85
スタイルを使用する場合、出力メッセージもDocument/Literalスタイルを使用する必要
があります。
Webサービスのソース定義またはターゲット定義の作成を手動で行うか、リレーショナ
ルまたはフラットファイルのソースおよびターゲットに基づいて行う場合、Designerは
入力および出力メッセージのドキュメント/リテラルエンコードスタイルを使用しま
す。
¨ WSDL内の要素は標準のW3C XMLスキーマを参照することができません。標準のW3C XMLス
キーマを参照する要素を含むWSDLから、Webサービスのソース定義およびターゲット定
義をインポートすることはできません。
¨ エンティティ関係モードで空のcomplexType要素を持つWSDLをインポートします。Webサ
ービス要求の入力メッセージに値がないcomplexType要素がWSDLに含まれる場合は、エ
ンティティ関係モードでWSDLからソース定義およびターゲット定義をインポートしま
す。 正規化された階層モードでWSDLからソース定義およびターゲット定義がインポー
トされる場合、complexType要素が空の要求を送信すると、Webサービスはフォールト応
答を生成します。
¨ 有効なXML構文を使用してWSDLからソースおよびターゲットをインポートします。無効
なWSDLからインポートした場合、WSDL定義はWebサービスウィザードに正しく表示され
ません。 Designerによってエラーメッセージが生成されず、WSDLが部分的に解析さ
れ、解析に成功したサービスおよび操作のみが表示されることがあります。WSDLからイ
ンポートしたとき、Webサービスウィザードに正しいWSDL定義が表示されない場合は、
そのWSDLをXMLファイルとして開き、構文が正しいことを確認してください。
¨ 正しい構文で2次元配列を定義します。WSDLで2次元配列の文字列としてcomplexType要
素を定義する場合は、以下の構文を使用します。
wsdl:arrayType="xsd:string[][]"
異なる構文を使用して定義された2次元配列を含むWSDLから、Webサービスのソース定義
およびターゲット定義をインポートすることはできません。
¨ 多数のXMLビューを生成するWSDLからWebサービスのソースおよびターゲットをインポー
トすることはできません。 WSDLファイルから生成可能なXMLビューの最大数は400で
す。 XMLビューの数が400を超えるWebサービスのソースまたはターゲットを作成するに
は、WSDLワークスペース内でグループを手動で作成します。
関連項目:
¨ 「SOAPフォールトの処理」 (ページ10)
Webサービスのソース定義またはターゲット定義のインポート
作成対象のWebサービスの入力および出力メッセージを定義するWSDLがある場合は、WSDLか
らソース定義およびターゲット定義をインポートできます。Web Servicesウィザードを使
用することによって、WSDLからWebサービスのソース定義またはターゲット定義をインポー
トできます。同じ方法でソース定義およびターゲット定義をインポートできます。
86 第 6章: Webサービスのソースおよびターゲットに関する作業
インポートモード
WSDLをインポートするモードに基づいて、Webサービスのソース定義またはターゲット定義
のXMLビューを作成できます。
¨ エンティティ関係。これは、WSDLからインポートされるソース定義またはターゲット定
義のデフォルトのインポートモードです。 このインポートモードを使用して、1つの大
きな階層を作成する代わりにビュー間の関係を作成します。エンティティ関係を含む
Webサービスのソースまたはターゲットを作成するとき、Designerは複数回出現する要
素および複合型に対して個別のビューを生成します。Designerは、すべての派生複合型
のビューを含みます。
¨ 正規化された階層関係。正規化された階層ビューでは、すべての要素または属性が一度
に表示されます。 1対多関係は、ビューを関連付けるキーを持つ個別のXMLビューにな
ります。
¨ XMLビュー生成のスキップ。このインポートモードを使用して、XMLビューを定義せずに
ソース定義またはターゲット定義を作成します。 WSDLワークスペースを使用すること
によって、XMLビューおよびポートを追加できます。
関連項目:
¨ 「XMLビューを作成しないWSDLからのインポート」 (ページ89)
メッセージID
段階的マッピングでWebサービスのソース定義およびターゲット定義を使用するには、Web
ソース定義およびターゲット定義にメッセージIDを入れる必要があります。Web Services
Hubは、メッセージIDをプライマリキーとして使用し、Webサービスの要求および応答をバ
インドします。 たとえば、第1セッションがWebサービスソースから読み取り、リレーショ
ナルターゲットに書き込みます。第2セッションは、リレーショナルターゲットをソースと
して使用し、Webサービスターゲットに書き込みます。Web Services Hubは、メッセージID
を使用して、第1セッション内の要求の入力メッセージを第2セッション内の応答の出力メ
ッセージに関連付けます。
また、グリッド上のWebサービスセッションを実行する時に、Webソース定義およびターゲ
ット定義内にメッセージIDを入れる必要があります。グリッド上でWebサービスセッション
を実行する場合、Integration Serviceは、グリッド内のノード上で実行されている複数の
DTMプロセスにセッションスレッドを分散します。 Integration Serviceは、メッセージID
を使用してノード間でWebサービスの入力および出力メッセージを関連付けます。
Webサービスのソース定義またはターゲット定義を作成するときにメッセージポートを追加
する場合、DesignerはメッセージIDとクライアントポートをエンベロープビューに追加し
ます。
Webサービスのソース定義またはターゲット定義のインポート 87
次の表に、エンベロープビューに追加されたメッセージIDとクライアントポートを示しま
す。
ポート名 説明
MessageID Web Services Hubは、要求を受信するとメッセージIDを生成しま
す。このIDを使用して、入ってくる要求と出ていく応答の相関関
係を設定します。
ClientIP WebサービスクライアントのTCP/IPアドレス。
PowerCenter version 8.1.1以前では、Web Services HubがメッセージIDとヘッダポートを
個別のビューで作成します。 以前のバージョンのWebサービスのソースまたはターゲット
定義の形式に合わせて、メッセージポートとヘッダポートを個別のビューで作成するに
は、PowerCenter Designerでオプションを有効にします。
詳細オプション
WSDLからWebサービスのソースまたはターゲットをインポートする場合、長さが定義されて
いないフィールドの長さとXMLカラムの命名規則を指定できます。
次の表に、WSDLからWebサービスのソースまたはターゲットをインポートする時に設定でき
る詳細オプションを示します。
オプション 説明
すべての長さの
infinite指定を以下
の値でオーバーライ
ドする
長さの定義がないフィールド(文字列など)に長さのデ
フォルトを指定できます。デフォルトでは、このオプシ
ョンは選択されています。
XMLColumn名を生成
するときのオプショ
XMLカラムに名前を付ける場合、シーケンス番号を使用
するか、あるいはスキーマの要素名または属性名を使用
するかを選択できます。名前を使用する場合は、以下の
オプションから選択します。
- XMLカラムが属性を参照する場合、その前に要素名を
付けます。PowerCenterではXMLカラムの名前に次の形
式を使用します。NameOfElement_NameOfAttribute- すべてのXMLカラムのXMLビュー名に接頭語を付けま
す。PowerCenterでは、XMLカラム名に次の形式が使用
されます:NameOfView_NameOfElement- すべての外部キーカラムのXMLビュー名に接頭語を付
けます。PowerCenterでは、生成した外部キーカラム
の名前に次の形式が使用されます:
FK_NameOfView_NameOfParentView_NameOfPKColumn
カラム名の最大長は80文字です。81文字を超えるカラム
名は、PowerCenterによって切り詰められます。カラム
88 第 6章: Webサービスのソースおよびターゲットに関する作業
オプション 説明
ンを指定してくださ
い
名が一意でない場合は、名前を一意にするために
PowerCenterによって数字の接尾語が追加されます。
文字列にマップされ
たanyType要素のデ
フォルトの長さ
タイプanyType要素に作成された文字列ポートのデフォ
ルトの長さ。タイプanyType要素のタイプ文字列のポー
トを作成できます。デフォルトで、文字列の長さは、こ
こに設定した値になります。
文字列の長さを変更するには、WSDLワークスペースで
Webサービスのソース定義またはターゲット定義を編集
します。デフォルトは 10,000 です。
XMLビューを作成しないWSDLからのインポート
WSDLからソース定義またはターゲット定義をインポートし、手動でXMLビューおよびポート
を定義する場合は、空のソース定義またはターゲット定義を作成できます。
たとえば、入力メッセージ中の10の要素を定義するWSDLがあり、その中の2つだけをソース
定義に入れるとします。この場合、空のソース定義を作成し、その2つの要素を手動で定義
できます。ターゲットの定義には影響を与えません。ターゲット定義をインポートしてXML
ビューを作成できます。
XMLを作成せずにWSDLからソース定義またはターゲット定義をインポートするには、インポ
ートプロセスの手順2で、[XML View作成のスキップ]を選択します。空のソース定義また
はターゲット定義の作成後、WSDLワークスペースを使用して、XMLのビューおよびポート、
ビュー間のリレーションを定義します。ソース定義またはターゲット定義のタイトルを右
クリックして、[WSDLワークスペース]を選択します。
関連項目:
¨ 「WSDLワークスペースでの定義の編集」 (ページ96)
WSDLからのWebサービスのソース定義またはターゲット定義のインポート
WSDLからWebサービスのソース定義またはターゲット定義をインポートするには、同じ手順
に従います。WSDLではソース定義とターゲット定義は異なる要素を表すので、Designerに
よって作成されるソース定義はターゲット定義とは異なります。
ローカルにてまたはURLによって利用できるWSDLから、Webサービスのソースまたはターゲ
ットをインポートできます。RPC/SOAP Encodedスタイルまたはドキュメント/リテラルエン
コードスタイルを使ったWSDLから定義をインポートできます。
注: DesignerはWebサービスのターゲット定義をインポートするときに、動作とターゲッ
トタイプ(出力やターゲットなど)を基に定義に名前を付けます。インポート後に定義名
を変更すると、[メタデータエクステンション]タブでターゲットタイプを確認できま
す。
Webサービスのソース定義またはターゲット定義のインポート 89
WSDLからWebサービスのソース定義またはターゲット定義をインポートする手順
1. ソース定義をインポートするには、Source Analyzerで[ソース]-[Web Services
Provider]-[WSDLからのインポート]の順にクリックします。 ターゲット定義をイ
ンポートするには、Target Designerで[ターゲット]-[Web Services Provider]-
[WSDLからのインポート]の順にクリックします。
2. [詳細オプション]をクリックします。
[XMLビュー作成および命名オプション]ウィンドウが表示されます。
3. 長さが定義されていないフィールドにデフォルトの長さを指定して、XMLカラムの名前
を生成する方法を選択します。
4. ローカルファイルからインポートするか、URLからインポートするかを選択します。
URLからインポートする場合は、URLを入力するかまたは[アドレス]リストからURLを
選択し、[開く]をクリックします。
ローカルファイルからインポートする場合は、ローカルフォルダからWSDLファイルを
選択し、[開く]をクリックします。
5. ソース定義またはターゲット定義作成の対象となる、WSDLで定義する操作を選択しま
す。
注: エラーが含まれているWSDLからインポートした場合は、WSDLで定義されたサービ
ス、バインド、ポートまたは操作のリストが[Webサービスウィザード]ウィンドウ
(手順1)に正しく表示されません。空または部分的なWSDL定義ツリーがウィンドウに
表示されます。たとえば、WSDLに型定義のエラーがある場合は、空のWSDL定義ツリー
がウィンドウに表示されます。
6. [次へ]をクリックします。
[Web Services定義作成オプション]ダイアログボックスが表示されます。
7. 院歩とモードを選択します。
インポートモードは、生成するXMLビューのタイプを特定します。XMLビューは、エン
ティティ関係として生成することも、階層関係として生成することもできます。デフ
ォルトのインポートモードは、エンティティ関係です。
8. ビューまたはポートを定義せずにソース定義またはターゲット定義を作成するには、
[XMLビュー生成のスキップ]を選択します。
XMLビューを生成しない場合、Designerは空のソース定義またはターゲット定義を作成
します。ソース定義またはターゲット定義には、ビューまたはポートが含まれませ
ん。WSDLワークスペースを使用して、ソース定義およびターゲット定義のビューおよ
びポートを手動で追加できます。
9. ソース定義またはターゲット定義にメッセージポートおよびヘッダポートを追加する
かどうかを選択します。
詳細については、「メッセージID」 (ページ87)を参照してください。
10. 同じインポートプロセスでソース定義およびターゲット定義を生成するには、[ソー
スの作成]と[ターゲットの作成]の両方を選択します。
Designerは、選択されたオプションに基づいてソース定義およびターゲット定義を作
成します。
11. [終了]をクリックします。
Webサービスのソース定義またはターゲット定義がワークスペースに表示されます。
90 第 6章: Webサービスのソースおよびターゲットに関する作業
ソース定義またはターゲット定義の作成Webサービスのソース定義またはターゲット定義のインポート元となるWSDLがない場合は、
リレーショナルまたはフラットファイルのソースまたはターゲットから定義を作成できま
す。また、ソースまたはターゲットのポートを手動で定義して、データタイプおよび出現
回数を指定することもできます。
他のソースおよびターゲットから、または手動で定義されたカラムからWebサービスのソー
ス定義およびターゲット定義を作成する場合は、Designerによってエンティティ関係モー
ドのビューが作成されます。階層関係モードでは、他のソースまたはターゲットからWebサ
ービスのソースまたはターゲットを作成できません。
以下のリレーショナルデータベースから作成されたリレーショナルなソースおよびターゲ
ットから、Webサービスのソース定義およびターゲット定義を作成できます。
¨ Oracle
¨ DB2
¨ Informix
¨ Teradata
¨ Microsoft SQL Server
¨ Sybase
リレーショナルまたはフラットファイルのソースまたはターゲットからWebサービスのソー
ス定義またはターゲット定義を作成する場合は、ソースおよびターゲットへのショートカ
ットなど、フォルダ内で使用可能なソースおよびターゲットが一覧表示されます。
同じ方法でソース定義およびターゲット定義を作成します。 リレーショナルまたはフラッ
トファイルのソースまたはターゲットに基づいてWebサービスのソース定義またはターゲッ
ト定義を作成した後、Designerのワークスペースでソース定義またはターゲット定義のカ
ラムを編集できます。
WSDLからWebサービスのソース定義またはターゲット定義をインポートする場合は、以下の
オプションを選択できます。
¨ 複数回出現する要素
¨ メッセージポート
関連項目:
¨ 「Designerワークスペースでの定義の編集」 (ページ95)
複数回出現要素
Webサービスのソース定義またはターゲット定義をリレーショナルまたはフラットファイル
のソースまたはターゲットから作成する場合は、ソース定義またはターゲット定義内のカ
ラムが複数回出現するかどうかを指定する必要があります。[複数回出現要素]オプショ
ンを選択すると、グループとしてのカラムが複数回出現することを指定します。リスト内
のカラムは、配列を表します。
このオプションで作成されるWebサービスのソースまたはターゲットを編集する場合、ソー
ス定義またはターゲット定義のカラムの複数回出現プロパティを変更することができませ
ん。
ソース定義またはターゲット定義の作成 91
メッセージポート
Webソース定義およびターゲット定義にメッセージIDを入れることができます。Web
Services Hubは、メッセージIDをプライマリキーとして使用し、Webサービスの要求および
応答をバインドします。
注: Webサービスのソース定義またはターゲット定義をDesignerワークスペースで編集す
る場合、メッセージポートとクライアントポートは[Webサービス定義]タブに表示されま
せん。メッセージポートとクライアントポートは変更できません。
関連項目:
¨ 「メッセージID」 (ページ87)
¨ 「[Webサービス定義]タブ」 (ページ96)
リレーショナルまたはフラットファイルのソースまたはターゲットからのソースまたはターゲットの作成
この手順に従って、以下のいずれかの方法でWebサービスのソースまたはターゲットを作成
します。
¨ フラットファイルのソースまたはターゲットから
¨ リレーショナルなソースまたはターゲットから
¨ 手動でカラムを追加して名前、データタイプおよび精度を指定
リレーショナルまたはフラットファイルのソースおよびターゲットからWebサービスのソー
スまたはターゲットを作成する手順
1. Webサービスのソースを作成するには、Source Analyzerで[ソース]-[Web Services
Provider]-[Web Service定義の作成]の順にクリックします。 Webサービスのター
ゲットを作成するには、Target Designerで[ターゲット]-[Web Services
Provider]-[Web Service定義の作成]の順にクリックします。
2. ソース定義およびターゲット定義を使用する予定のWebサービスマッピングの名前を入
力します。
Designerは、Webサービス定義名をソース定義およびターゲット定義の名前として使用
します。ソース定義名には接尾辞_inputを追加し、ターゲット定義名には_outputを追
加します。
Webサービスのソース定義またはターゲット定義に入れるカラムが分かっている場合
は、それらをソース定義またはターゲット定義に直接追加できます。フォルダ内にリ
レーショナルまたはフラットファイルのソースまたはターゲットがある場合は、リレ
ーショナルまたはフラットファイルのカラムに基づいてソース定義またはターゲット
定義を作成できます。
3. リストにカラムを追加するには、[追加]ボタンをクリックしてカラム名、データタ
イプおよび精度を指定します。
複数回出現要素を使用してWebサービスのソースを作成する場合、またはWebサービス
のターゲットを作成する場合、Web Services HubはNot Nullプロパティを無視しま
す。
92 第 6章: Webサービスのソースおよびターゲットに関する作業
4. リレーショナルまたはフラットファイルのソースまたはターゲット内のカラムに基づ
いてWebサービスのソースまたはターゲットを作成するには、[ソース/ターゲットか
らのインポート]をクリックしてソース定義またはターゲット定義を選択します。
Designerは、選択されたソースまたはターゲット内に見つかったカラムを一覧表示し
ます。
5. [OK]をクリックします。
6. 必要であれば、カラム名と文字列カラムの精度を編集します。
カラムは定義に追加して、それらのデータタイプおよびプロパティを定義できます。
使用しないカラムは、削除できます。
ソース定義またはターゲット定義で定義するカラムが1回だけ出現するか複数回出現す
るかを指定できます。
7. カラムが複数回出現する場合は、[複数回出現要素]をオンにします。
このオプションは、グループとしてのカラムが複数回出現することを指定します。こ
のオプションを選択すると、Designerはすべてのカラムを含む要素ビューを生成しま
す。
8. ソース定義を作成中でありターゲット定義も作成する場合は、[ターゲットの作成]
をクリックして、手順3~7を繰り返してポートをターゲット定義に追加します。
ターゲット定義を作成中のときにソース定義も作成する場合は、[ソースの作成]を
クリックして手順3~7を繰り返し、ソース定義にポートを追加します。
9. メッセージポートおよびクライアントポートをソース定義またはターゲット定義に追
加するには、[メッセージポートの追加]をクリックします。
Designerは、メッセージポートおよびクライアントポートをソース定義またはターゲ
ット定義のエンベロープビューに追加します。ソース定義およびターゲット定義を同
じプロセスで作成している場合、Designerはメッセージポートおよびクライアントポ
ートをソース定義およびターゲット定義のエンベロープビューに追加します。
10. [OK]をクリックします。
Designerは、Webサービスのソース定義またはターゲット定義を作成します。
ソース定義およびターゲット定義内のXMLビューを見直して、ビューとポートがWebサービ
スマッピング要件に一致することを確認します。カラムを追加、削除、または変更するに
は、Designerワークスペースのソース定義またはターゲット定義を編集します。
関連項目:
¨ 「複数回出現要素」 (ページ91)
¨ 「メッセージID」 (ページ87)
¨ 「Designerワークスペースでの定義の編集」 (ページ95)
ソース定義またはターゲット定義の作成 93
第 7 章
Webサービスのソースおよびターゲットの編集
この章では、以下の項目について説明します。
¨ Webサービスのソースおよびターゲットの編集の概要, 94 ページ
¨ Designerワークスペースでの定義の編集, 95 ページ
¨ WSDLワークスペースでの定義の編集, 96 ページ
Webサービスのソースおよびターゲットの編集の概要
Webサービスのソース定義またはターゲット定義は、その作成方法に基づいて編集できま
す。
¨ WSDLからインポートされたソース定義またはターゲット定義。Webサービスのソース定
義またはターゲット定義をWSDLからインポートする場合、WSDLのワークスペースでソー
ス定義またはターゲット定義を編集できます。 WSDLワークスペースを使用することに
よって、ソース定義またはターゲット定義内でビューの追加、変更、または削除を実行
できます。
Designerワークスペースに定義を表示し、一部のプロパティを編集できます。
¨ リレーショナルまたはフラットファイルのソースおよびターゲットから作成されたソー
ス定義またはターゲット定義。Webサービスのソース定義またはターゲット定義をリレ
ーショナルまたはフラットファイルのターゲットに基づいて作成する場合、Designerの
ワークスペースでカラムを編集できます。
WSDLワークスペースにソース定義またはターゲット定義を表示できます。WSDLワークス
ペースではソース定義またはターゲット定義を編集できません。
注: PowerCenter version 9.0.1以降で作成されたWebサービスのソースとターゲットは編
集できます。 Webサービスワークフローを実行したときにエラーが発生するのを防止する
ために、以前のバージョンからアップグレードされたWebサービスのソースとターゲットは
編集しないでください。 以前のバージョンのPowerCenterからWebサービスのソースまたは
ターゲットを更新するには、PowerCenter version 9.0.1以降でソースまたはターゲットを
再作成します。
94
Designerワークスペースでの定義の編集Designerワークスペースで、いつでもWebサービスのソース定義またはターゲット定義に対
して説明を追加したり、ビジネス文書へのリンクを指定したりすることができます。ソー
ス定義またはターゲット定義の作成を手動で行うか、リレーショナルまたはフラットファ
イルのターゲットに基づいて行う場合は、ソース定義またはターゲット定義のカラムのリ
ストを変更できます。カラムに変更を加えると、変更がXMLビュー内で直ちに反映されま
す。
ソース定義またはターゲット定義のプロパティを表示または編集するには、Source
Analyzerでソース定義をダブルクリックするか、Target Designerでターゲット定義をダブ
ルクリックします。あるいは、ソース定義またはターゲット定義のタイトルバーを右クリ
ックして、[編集]を選択します。
次のタブで、Webサービスのソース定義またはターゲット定義を表示または編集できます。
¨ テーブル。 [テーブル]タブには、所有者名と説明を指定できます。また、定義名の
変更もできます。テーブルタイプは変更できません。
¨ カラム。[カラム]タブでは、Stringデータタイプの精度を編集できます。 また、ビ
ジネス名とカラムの説明も追加できます。
¨ 属性。[属性]タブには、ソースまたはターゲット定義の各カラムの属性値を表示でき
ます。
¨ メタデータエクステンション。[メタデータエクステンション]タブには、Web
Services Domainのメタデータエクステンションを表示できます。 また、ユーザー定義
のメタデータドメインにメタデータエクステンションを追加することもできます。
¨ Webサービス定義。 このタブは、リレーショナルまたはフラットファイルのターゲット
から作成されたソース定義またはターゲット定義を編集する場合に表示されます。ソー
ス定義またはターゲット定義のカラムを追加、編集、または削除できます。加えた変更
は、[カラム]タブに直ちに表示されます。
[テーブル]タブ
[テーブル]タブには、ソース定義またはターゲット定義のテーブル情報が表示されま
す。ソース定義またはターゲット定義の名前は変更できます。ソース定義またはターゲッ
ト定義のオーナおよび説明を変更することもできます。
[カラム]タブ
[カラム]タブには、Webサービスのソース定義またはターゲット定義のXMLビューが表示
されます。文字列およびバイナリデータタイプの精度の編集と、ビジネス名とカラムの説
明の追加が可能です。
文字列データタイプのデフォルト精度は、WSDLインポートプロセス時に無限長データの精
度が設定される値です。文字列データタイプの精度は、ソース定義またはターゲット定義
をWSDLからインポートするときに設定できます。個々のカラムの精度は、定義の編集時に
設定できます。
注: 総カラム長が500 MBより大きいソースおよびターゲットWebサービス定義を使用した
マッピングは、Mapping Designerによって無効化されます。
Designerワークスペースでの定義の編集 95
[属性]タブ
[属性]タブは、読み込み専用タブであり、Webサービスのソース定義またはターゲット定
義の各フィールドのXPath値とXMLDataType値を表示します。この定義にアタッチメントグ
ループがある場合、[属性]タブはデータフィールドにMIME型を表示します。
[メタデータエクステンション]タブ
メタデータエクステンションは[メタデータエクステンション]タブで作成できます。ベ
ンダ定義エクステンションの内容をWeb Services Provider Domainに表示することもでき
ます。 これらのメタデータエクステンションは、メッセージタイプ(入力、出力、フォー
ルト)を識別します。
メタデータエクステンションの詳細については、『PowerCenterリポジトリガイド』を参照
してください。
[Webサービス定義]タブ
[Webサービス定義]タブは、手動で定義するかリレーショナルまたはフラットファイルの
ソース/ターゲットに基づいているWebサービスのソース/ターゲット定義に対して表示され
ます。ソース定義またはターゲット定義のカラムを追加または削除できます。カラムの名
前およびデータタイプを変更し、特定のデータタイプの精度および位取りを変更できま
す。また、カラムが1回出現するか複数回出現するかを指定することもできます。
[Webサービス定義]タブのカラムに変更を加えると、変更が[カラム]タブに反映されま
す。
WSDLワークスペースでの定義の編集WSDLからソース定義またはターゲット定義をインポートしてXMLビューを作成する場合、
WSDLワークスペースでXMLビュー、ポート、およびリレーションを編集できます。ソース定
義またはターゲット定義をWSDLからインポートするが、XMLビューを生成しない場合、WSDL
ワークスペースを使用して、ビューの作成、コンポーネントの変更、カラムの追加、ワー
クスペース内のビューのリレーションの維持が可能です。ソース定義やターゲット定義を
更新すると、Designerはそのソースまたはターゲットを含んでいるすべてのマッピングに
変更を反映します。
ソース定義またはターゲット定義をWSDLワークスペースで表示または編集するには、
Source Analyzerでそのソース定義のタイトルを右クリックするか、あるいはTarget
Designerでターゲット定義のタイトルを右クリックします。続いて、[WSDLワークスペー
ス]を選択します。
WSDLワークスペースは、XMLエディタに相当します。WSDLワークスペースの使用方法は、
XMLエディタの使用方法と同じです。ただし、WSDLワークスペースでは、Webサービスのソ
ース定義とターゲット定義に特有のビューの変更が検査されます。また、XMLワークスペー
スで許可されているWSDLワークスペース内の一部の作業を実行できません。
96 第 7章: Webサービスのソースおよびターゲットの編集
次の作業は、WSDLワークスペース内で実行できません。
¨ Webサービスのソースまたはターゲット定義にXMLビューを追加または編集する時に、カ
ラムをピボットする。
¨ XMLビュー内で要素または属性をフィルタ選択するためにXPathクエリ述語を作成する。
¨ XMLデータをプレビューする。
¨ FileNameカラムをXMLビューを追加する。
¨ 参照ポートを追加する。
¨ エンティティ関係を再作成する。
¨ [カラム]ウィンドウでXMLビューオプションをセットする。
WSDLワークスペースの規則およびガイドライン
WSDLワークスペース内でWebサービスのソース定義またはターゲット定義に対してXMLビュ
ーの追加または編集を行う場合は、以下の規則およびガイドラインを使用します。
¨ Webサービスのマッピングのソース定義とターゲット定義には、Webサービスリクエス
ト、レスポンスおよびフォルトメッセージのSOAP:エンベロープに相当するエンベロー
プビューが含まれています。
¨ ソース定義は、入力メッセージのビューを定義する必要があります。ソース定義は、出
力メッセージまたはフォルトメッセージのビューを定義できません。
¨ ソース定義またはターゲット定義のルートグループおよびルートグループのプライマリ
キーの名前には、次の命名規則を使用しなくてはなりません。<NameString>は英数字の
文字列です。
-ルートグループは、MessageまたはX_<NameString>_Envelopeという名前にする必要が
あります。
-ルートグループのプライマリキーは、PK_MessageまたはPK_<NameString>_Envelopeと
いう名前にする必要があります。
-ルートグループおよびそのプライマリキーの<NameString>を同じにする必要がありま
す。
¨ ターゲット定義は、出力メッセージまたはフォールトメッセージのビューを定義する必
要があります。入力メッセージのビューを定義できません。
¨ タイプがanytypeまたはanyの要素を定義できます。タイプanyTypeの要素の文字列ポー
トを作成するか、それをタイプcomplexTypeの要素にマッピングすることができます。
¨ ターゲット定義内のエンベロープビューには、エンベロープノードとしてビュールート
およびビュー行を入れます。
¨ ソース定義またはターゲット定義のsoap:Body要素とsoap:Header要素のタイプ定義を変
更できません。
¨ デフォルトの名前空間の設定と、ソース定義またはターゲット定義のビューで定義した
名前空間のプレフィックスの変更が可能です。名前空間は変更できません。次のいずれ
の文字列も名前空間プレフィックスとして使用できません。
- mime
- wsdl
- soap
WSDLワークスペースでの定義の編集 97
- soapenc
- http
98 第 7章: Webサービスのソースおよびターゲットの編集
第 8 章
Webサービスマッピングの使用
この章では、以下の項目について説明します。
¨ Webサービスマッピングの使用の概要, 99 ページ
¨ Webサービスマッピングのタイプ, 100 ページ
¨ WSDLからのマッピングの生成, 102 ページ
¨ リレーショナルまたはフラットファイルのソースまたはターゲットからのマッピングの
生成, 103 ページ
¨ トランスフォーメーションまたはマップレットからのマッピングの生成, 104 ページ
¨ Webサービスマッピングでのターゲットインスタンスの編集, 106 ページ
¨ アタッチメント, 107 ページ
Webサービスマッピングの使用の概要Webサービスのソース定義およびターゲット定義を作成した後に、Integration Serviceが
Webサービス要求で受信したデータを処理してWebサービス応答を送出する方法を特定する
マッピングを作成します。 Webサービスマッピングは、入力メッセージをSOAP要求として
受信し、データを変換し、出力メッセージをSOAP応答として送信します。
Webサービスマッピングの作成は、Mapping Designerで他のPowerCenterマッピングの作成
と同じ方法で実行できます。 Webサービスのソース定義およびターゲット定義とトランス
フォーメーションをマッピングに追加します。
また、Webサービスソース定義、ソース修飾子トランスフォーメーション、およびWebサー
ビスターゲット定義を含むマッピングも生成できます。PowerCenter Designerには、Webサ
ービスマッピングを生成する各種の方法があります。
以下の方法でWebサービスマッピングを生成できます。
¨ WSDLからソース定義およびターゲット定義をインポート。WSDLでは、Webサービスのソ
ースまたはターゲットを作成するのと同じ方法でマッピングを作成できます。
99
¨ リレーショナルまたはフラットファイルのソースあるいはターゲット定義から。リレー
ショナルまたはフラットファイルのソースあるいはターゲットからWebサービスのソー
スまたはターゲットを作成するのと同じ方法でマッピングを作成できます。
¨ トランスフォーメーションまたはマップレットから。再利用可能なトランスフォーメー
ションまたはマップレットから、1つの入力と1つの出力でマッピングを作成できます。
マッピングの生成後、Webサービスマッピングの完了に必要なトランスフォーメーション、
リンク、およびその他のマッピングオブジェクトをさらに追加することができます。
WebサービスマッピングのタイプWebサービスクライアントからメッセージを受信し、データを変換した後で、Webサービス
クライアントに応答を送信するか、またはPowerCenterでサポートされている任意のターゲ
ットに書き込むようにするため、マッピングを作成することができます。 ソース定義とタ
ーゲット定義に従って、Integration ServiceはアタッチメントをSOAP要求の一部として送
受信できます。
フラットファイルまたはXMLソースとターゲットによってマッピングを作成し、Webサービ
スワークフローで使用することもできます。これにより、メッセージデータをファイルか
ら読み取るのではなく、アタッチメントによりSOAP呼び出しを介して受信できます。
作成するマッピングは、実行するWebサービスのタイプによって異なります。
¨ 要求/応答Webサービス。要求/応答Webサービスは、Webサービスクライアントから入っ
てくる要求を受信し、データを変換してからWebサービスクライアントに応答を返信し
ます。 要求/応答Webサービスは、Webサービスのソースとターゲットの両方を使用しま
す。
1つの要求/応答Webサービスを処理するのに、1つまたは複数のマッピングを作成するこ
とができます。
- 1つのマッピング。Webサービスのソース定義とターゲット定義の両方を持ったマッピ
ングを1つ作成します。 Integration Serviceは入ってくる要求の受信、データの変
換、応答の返信を1つのセッションで実行します。
-複数のマッピング。Webサービスクライアントに応答を返信する前にデータステージン
グを行うために、複数のマッピングを作成します。 マッピングごとのセッションを含
むワークフローを作成できます。
¨ 一方向Webサービス。更新や通知をWebサービスクライアントから受信するが、応答を返
信する必要がない場合は、一方向マッピングを作成できます。 一方向マッピングはソ
ースとしてWebクライアントを使用します。Integration Serviceは、ほとんどの場合、
Webサービス要求を介したリアルタイムイベントを契機としてデータをターゲットにロ
ードします。
マッピングに入れるWebサービスのソース定義とターゲット定義は、作成するマッピングの
タイプによって異なります。
100 第 8章: Webサービスマッピングの使用
次の表に、マッピングタイプを基に使用するWebサービスのソース定義とターゲット定義を
示します。
マッピングタ
イプ
Webサービスのソース Webサービスのターゲット
要求/応答 Webサービスで1つのソ
ース定義のインスタン
スが1つ必要です。
Webサービスで1つのターゲット定義
のインスタンスが1つ必要です。
ターゲット定義に複数のフォールト
ビューを持つことができます。
一方向 Webサービスで1つのソ
ース定義のインスタン
スが1つ必要です。
Webサービスのターゲット定義を持
ちません。
関連項目:
¨ 「アタッチメント」 (ページ107)
要求/応答マッピング
要求/応答マッピングは、WebサービスのソースとWebサービスのターゲットを使用します。
要求/応答マッピングを作成する場合、同じ方法で作成されたソース定義とターゲット定義
を使用してください。WSDLからソース定義をインポートする場合、WSDL内の同じ操作から
ターゲット定義をインポートします。ソース定義の作成をカラムの定義によって行うか、
リレーショナルまたはフラットファイルのソースおよびターゲットによって行う場合は、
同じ方法でターゲット定義を作成します。
Webサービスのソース定義とターゲット定義を確実に同じ方法で作成するには、ソース定義
とターゲット定義を1つのプロセスで作成します。
注: ソース定義とターゲット定義をWSDL内の同じ操作からインポートしない場合、または
それらを同じ方法で作成しない場合、予期できない結果が発生することがあります。
SQLトランスフォーメーションを使用すると、要求/応答マッピング中にデータベースを更
新したり、複数のデータベース行を取得したりできます。SQLトランスフォーメーション
は、複数のデータベース行をターゲットに返すことができます。処理中にデータベースで
エラーが発生した場合、SQLトランスフォーメーションはデータベースからエラーを受け取
り、エラーテキストをターゲットに送信します。
例えば、SQLトランスフォーメーションを使用して複数行を取得するWebサービスの場合、
PowerCenterに付属のリアルタイムWebサービスの例を参照してください。 デフォルトで
は、リアルタイムWebサービスのサンプルプログラムは、次のディレクトリにインストール
されます。
/<PowerCenterInstallDir>/server/samples/WebServices/samples/RealTimeWebServices
Webサービスマッピングのタイプ 101
関連項目:
¨ 「ソース定義またはターゲット定義の作成」 (ページ91)
段階的マッピング
要求/応答セッションを実行したいが、まずデータのステージングが必要という場合は、複
数のマッピングを作成してデータを処理できます。
たとえば、処理したいメッセージデータを受信します。 WebSphere MQ経由で外部システム
に対して非同期呼び出しを行う必要があります。次に示すマッピングを作成してくださ
い。
1. Webサービスのソース定義を持つ要求マッピングを作成します。このマッピングは、フ
ラットファイルターゲットとWebSphere MQターゲットに書き込みます。両方のターゲ
ットにすべてのメッセージデータを書き込みます。
外部アプリケーションはWebSphere MQターゲットからメッセージを受信し、処理して
から別のWebSphere MQキューにメッセージを送信します。
2. Webサービスのターゲット定義を持つ要求マッピングを作成します。このマッピング
は、ソースとして最初のマッピング内のフラットファイルターゲットを使用します。
また、処理済みデータを持つWebSphere MQキューもソースとして使用します。
Web Services Hubは、メッセージIDを使用して要求および応答を段階的マッピングで接続
します。 段階的マッピングでWebサービスのソース定義およびターゲット定義を使用する
には、Webソース定義およびターゲット定義にメッセージIDを入れる必要があります。
関連項目:
¨ 「メッセージID」 (ページ87)
WSDLからのマッピングの生成Webサービスマッピングの生成は、ローカルで利用できるかURLによって利用できるWSDLか
らWebサービスのソースまたはターゲットをインポートすることによって可能です。
ソース定義およびターゲット定義をインポートすることによってWebサービスマッピングを
生成する場合、Designerは選択した操作の入力メッセージからソース定義を作成します。
また、選択する操作の出力メッセージからターゲット定義を作成します。
WSDLから生成されたWebサービスマッピングには、次のオブジェクトが含まれます。
¨ Webサービスのソース定義
¨ ソース修飾子
¨ Webサービスのターゲット定義
Designerは、ソースインスタンスからターゲットインスタンスにポートをリンクします。
マッピングを実行するには、作成するWebサービスに必要なトランスフォーメーションおよ
び他のマッピングコンポーネントを追加します。
102 第 8章: Webサービスマッピングの使用
WSDLからマッピングを作成するには:
1. PowerCenter DesignerでMapping Designerを開きます。
2. [マッピング]-[Webサービスマッピングの作成]-[WSDLからインポート]をクリッ
クします。
WSDLからソースおよびターゲットをインポートすることによってWebサービスマッピン
グを生成する手順は、Webサービスのソース定義またはターゲット定義を WSDLから作
成する手順と同じです。詳細については、「Webサービスのソース定義またはターゲッ
ト定義のインポート」 (ページ86)を参照してください。
3. マッピングをリポジトリに保存します。
リレーショナルまたはフラットファイルのソースまたはターゲットからのマッピングの生成
リレーショナルまたはフラットファイルのソースまたはターゲットに基づいて、Webサービ
スマッピングを生成できます。リレーショナルまたはフラットファイルのソースまたはタ
ーゲットを使用することによって、Webサービスのソース定義およびターゲット定義のカラ
ムを定義します。
リレーショナルまたはフラットファイルのソースまたはターゲットからマッピングを生成
すると、生成されたWebサービスマッピングには次のオブジェクトが含まれます。
¨ Webサービスのソース定義
¨ ソース修飾子
¨ Webサービスのターゲット定義
Designerは、ソースインスタンスからターゲットインスタンスにポートをリンクします。
マッピングを実行するには、作成するWebサービスに必要なトランスフォーメーションおよ
び他のマッピングコンポーネントを追加します。
注: リレーショナルまたはフラットファイルのソースまたはターゲットからマッピングを
生成する場合は、Webサービスのソースおよびターゲットを同じプロセス内に作成します。
Webサービスのソースおよびターゲットが異なる時点で作成されるマッピングを含むワーク
フローを実行すると、ワークフローが失敗する場合があります。
リレーショナルまたはフラットファイルのソースまたはターゲットからマッピングを生成
する手順
1. PowerCenter DesignerでMapping Designerを開きます。
2. [マッピング]-[Webサービスマッピングの作成]-[ソース/ターゲット定義の使
用]をクリックします。
リレーショナルまたはフラットファイルのソースまたはターゲットからWebサービスマ
ッピングを生成する手順は、リレーショナルまたはフラットファイルのソースまたは
ターゲットからWebサービスのソースおよびターゲットを作成する手順と同じです。詳
リレーショナルまたはフラットファイルのソースまたはターゲットからのマッピングの生成 103
細については、「ソース定義またはターゲット定義の作成」 (ページ91)を参照して
ください。
3. マッピングをリポジトリに保存します。
トランスフォーメーションまたはマップレットからのマッピングの生成
再利用可能なトランスフォーメーションまたはマプレットからマッピングを生成できま
す。Designerは、トランスフォーメーションまたはマプレットでポートを使用して、Webサ
ービスのソース定義およびターゲット定義を生成します。
注: トランスフォーメーションまたはマップレットからマッピングを生成する場合は、
Webサービスのソースおよびターゲットを同じプロセス内に作成します。 Webサービスのソ
ースおよびターゲットが異なる時点で作成されるマッピングを含むワークフローを実行す
ると、ワークフローが失敗する場合があります。
再利用可能なトランスフォーメーションからのマッピングの生成
以下のタイプのトランスフォーメーションに基づいて、Webサービスマッピングを生成でき
ます。
トランスフォーメーシ
ョン
タイプ グループ
式 パッシブ シングル
HTTP パッシブ 1つの入力および1つの出力
Java アクティブまたはパッ
シブ
1つの入力および1つの出力
ルックアップ パッシブ シングル
SQL アクティブまたはパッ
シブ
1つの入力および1つの出力
ストアドプロシージャ パッシブ シングル
Webサービスマッピングの生成に使用するトランスフォーメーションは、再利用可能なトラ
ンスフォーメーションでなくてはなりません。トランスフォーメーションに基づいてWebサ
ービスマッピングを生成する場合、 Designerは、再利用可能なトランスフォーメーション
とフォルダ内で使用できる再利用可能なトランスフォーメーションへのショートカットを
一覧表示します。
104 第 8章: Webサービスマッピングの使用
Webサービスマッピングをトランスフォーメーションから生成する場合、Designerはトラン
スフォーメーションでポートを使用してソース定義およびターゲット定義のカラムを定義
します。次に、トランスフォーメーション入力ポートを反映するXMLビューのソースと、ト
ランスフォーメーション出力ポートを反映するXMLビューのターゲット定義を含むマッピン
グを作成します。
トランスフォーメーションから生成されたWebサービスマッピングには、次のオブジェクト
が含まれます。
¨ Webサービスのソース定義
¨ ソース修飾子
¨ マッピングの生成に使用するトランスフォーメーション
¨ Webサービスのターゲット定義
Designerは、ソースインスタンスからターゲットインスタンスにポートをリンクします。
マップレットからのマッピングの生成
以下のタイプのマップレットからWebサービスマッピングを生成できます。
¨ 1つの入力トランスフォーメーションと1つの出力トランスフォーメーションを含むマッ
プレット
¨ アクティブなトランスフォーメーションが含まれていないマップレット
マプレットからWebサービスマッピングを生成する場合、Designerはマプレットと、プロセ
スに許可されたマプレットへのショートカットを一覧表示します。
マプレットからWebサービスマッピングを生成する場合、Designerはマプレット内でポート
を使用してソース定義およびターゲット定義のカラムを定義します。次に、マプレット入
力ポートを反映するXMLビューのソースと、マプレット出力ポートを反映するXMLビューの
ターゲット定義を含むマッピングを作成します。
マプレットから生成されたWebサービスマッピングには、次のオブジェクトが含まれます。
¨ Webサービスのソース定義
¨ ソース修飾子
¨ マッピングの生成に使用するマプレット
¨ Webサービスのターゲット定義
Designerは、ソースインスタンスからターゲットインスタンスにポートをリンクします。
再利用可能なトランスフォーメーションまたはマップレットからのマッピングの生成
同じ手順を使用して、再利用可能なトランスフォーメーションまたはマップレットからWeb
サービスマッピングを生成します。
再利用可能なトランスフォーメーションまたはマップレットからWebサービスマッピングを
生成する手順
1. Mapping Designerで、[マッピング]-[Webサービスマッピングの作成]-[トランス
フォーメーション/マップレット定義の使用]をクリックします。
トランスフォーメーションまたはマップレットからのマッピングの生成 105
2. Webサービスマッピングに使用するトランスフォーメーションまたはマプレットを選択
します。
Designerは、入力ポートと、データタイプ、精度、およびスケールのリストを表示し
ます。
マッピング内のソース定義とターゲット定義内のカラムが1回出現するか複数回出現す
るかを指定できます。
3. カラムが複数回出現するように指定する場合は、[ソースとターゲットを複数回出現
するオブジェクトにする]を選択します。
このオプションは、ソースとターゲット内のカラムが配列であることを指定します。
グループとしてのカラムが複数回出現します。
4. メッセージポートおよびクライアントポートをソース定義またはターゲット定義に追
加するには、[メッセージポートの追加]をクリックします。
Designerは、メッセージポートおよびクライアントポートをソース定義またはターゲ
ット定義のエンベロープビューに追加します。
5. [OK]をクリックします。
Designerは、Webサービスマッピングを作成して、マッピングが正しく作成されたこと
を示すメッセージを表示します。また、トランスフォーメーションまたはマプレット
の名前を接頭辞m_を付けたソース定義とターゲット定義の名前として使用します。ソ
ース定義名には接尾辞_inputを追加し、ターゲット定義名には_outputを追加します。
Webサービスマッピングでのターゲットインスタンスの編集
Webサービスマッピングを生成した後、マッピング内のターゲットインスタンスを編集でき
ます。Mapping Designerでターゲットインスタンスを編集する場合、Target Designerで使
用できないプロパティを編集できます。
Webサービスマッピング内のターゲット定義を編集するには、Mapping Designerのターゲッ
ト定義インスタンスをダブルクリックします。
[プロパティ]タブ内の次のトランスフォーメーション属性は編集できます。
¨ ロード範囲
¨ 部分ロードリカバリ
ロード範囲
ロード範囲属性により、ターゲットのロード範囲を指定できます。Webサービスのターゲッ
ト定義のロード範囲は、トランスフォーメーション内のトランスフォーメーション範囲と
似ています。
106 第 8章: Webサービスマッピングの使用
ロード範囲は、次の値に設定できます。
¨ トランザクション。ロード範囲を[トランザクション]に設定すると、Integration
Serviceはトランザクションのすべてのデータを受信したときに、応答を生成します。
ターゲットのグループは、必ず同一のトランザクションジェネレータからデータを受信
する必要があります。
¨ All Input。ロード範囲を[すべての入力]に設定すると、Integration Serviceはすべ
ての入力データを受信した後に応答を生成します。 ターゲットのグループを変えれ
ば、異なるトランザクションジェネレータからデータを受信することができます。ロー
ド範囲が[すべての入力]の場合、Integration Serviceはコミットを無視します。
デフォルトは[トランザクション]です。トランスフォーメーション範囲の詳細について
は、『PowerCenter上級ワークフローガイド』を参照してください。
部分ロードリカバリ
部分ロードリカバリ属性により、リカバリ中の以前の部分ロードの処理方法を指定できま
す。
Webサービスターゲットの場合、デフォルト値Noneを使用します。Webサービスのリカバリ
は指定できません。
アタッチメント以下の方法で、アタッチメントを使用するようにPowerCenter Webサービスワークフローを
設定できます。
¨ SOAPメッセージのアタッチメントとしてフラットファイルあるいはXMLソースまたはタ
ーゲットを使用する
¨ MIMEアタッチメント付きのWSDLを使用する
フラットファイルまたはXMLソースおよびターゲットアタッチメント
SOAPメッセージ要求または応答のアタッチメントとしてデータを受信または送信できま
す。 ソースまたはターゲットとしては、フラットファイルまたはXMLドキュメントを使用
できます。 例えば、Webサービスアプリケーションからメッセージが格納されたフラット
ファイルに、定期的にFTPを使ってアクセスします。FTPを使用する代わりに、SOAP要求の
アタッチメントとしてフラットファイルからデータを受信するWebサービスワークフローを
作成できます。
SOAPメッセージ要求のアタッチメントとしてデータを受信するには、マッピング内でフラ
ットファイルまたはXMLソース定義を使用します。 Webサービスのソースとしてフラットフ
ァイルを使用するには、Web Services Provider Reader for Flat Filesを使用するように
Readerを設定します。 マッピングを実行するWebサービスセッションを編集します。 セッ
ションプロパティで、[マッピング]タブをクリックして、ソースを選択します。リーダ
ーをFlat File ReaderからWeb Services Provider Reader for Flat Filesに変更します。
アタッチメント 107
SOAPメッセージ応答のアタッチメントとしてデータを送信するには、マッピング内でフラ
ットファイルまたはXMLターゲット定義を使用します。 Webサービスのターゲットとしてフ
ラットファイルを使用するには、Web Services Provider Reader for Flat Filesを使用す
るようにWriterを設定します。 マッピングを実行するWebサービスセッションを編集しま
す。 セッションプロパティで、[マッピング]タブをクリックして、ターゲットを選択し
ます。 ライターをFlat File WriterからWeb Services Provider Writer for Flat Files
に変更します。
WSDLアタッチメント
ソース定義とターゲット定義に従って、アタッチメントをSOAP 要求の一部として送受信す
ることができます。 アタッチメントは、XMLドキュメントなどのテキストファイルである
必要があります。 JPEG、GIF、PDFファイルなどのバイナリドキュメントをアタッチするこ
とはできません。 例えば、OracleデータベースからXMLドキュメントを抽出し、応答メッ
セージへのアタッチメントとしてこのXML文書をWebサービスに渡すことができます。
ソースとしてバイナリファイルを使用するには、ファイルをhexbinaryまたはbase64binary
に変換してからWebサービスソースに渡します。 hexbinaryまたはbase64binaryファイル
は、テキストファイルとして扱われます。 同様に、Webサービスターゲットによって生成
されたテキストファイル応答をバイナリファイルに変換できます。
次の表に、Webサービス定義で使用するアタッチメントグループのポートを示します。
ポート名 説明
FK_Att_Name ルートグループのPK_Messageを指示する生成外部キーです。
Att_Data_Name アタッチメントを含んでいます。アタッチメントのMIMEタイ
プを[属性]タブに表示することができます。
Att_Index_Name
メッセージ内のアタッチメントごとに割り当てられる一意の
識別子です。
Att_Type_Name アタッチメントのタイプ。
MIMEアタッチメント付きのWSDLを使用する規則およびガイドラ
イン
アタッチメントを扱う場合、下記の規則およびガイドラインに従ってください。
¨ 要求または応答に設定できるアタッチメントは1つだけです。
¨ アタッチメントはテキストファイルとし、UTF-16LEコードページ、またはUTF-16LEコー
ドページのサブセットであるコードページを使用する必要があります。
¨ 要求または応答によりアタッチメントを渡すには、アタッチメントグループ内のすべて
のポートを接続する必要があります。
¨ マッピング内の定義にアタッチメントグループが存在してもアタッチメントの送受信を
望まない場合、グループ内のポート間では、接続を一切実行しないでください。
108 第 8章: Webサービスマッピングの使用
¨ 他のソースからメッセージを受信し、各メッセージにアタッチメントが指定されている
場合、応答時に送信する各アタッチメントに一意のインデックスを生成するときは、
Sequence Generatorのトランスフォーメーションが利用できます。
¨ アタッチメントを送信または受信するには、MIMEアタッチメントをサポートするツール
キットを使用してクライアントアプリケーションを作成する必要があります。
アタッチメント 109
第 9 章
Webサービスワークフローの使用
この章では、以下の項目について説明します。
¨ Webサービスワークフローの使用の概要, 110 ページ
¨ Webサービスワークフローの作成および設定, 111 ページ
¨ Web Services Provider ReaderおよびWriterの設定, 115 ページ
¨ Webサービスセッションのパーティションの設定, 119 ページ
¨ Webサービスワークフローのトラブルシューティング, 119 ページ
Webサービスワークフローの使用の概要Webサービスワークフローを作成するには、Workflow Managerを使用します。Webサービス
ワークフローを作成するには、ワークフローの[Webサービス]オプションを有効にしてか
ら、Webサービスプロパティを設定します。
Webサービスワークフローにセッションを作成する場合、セッションはWebサービスセッシ
ョンと呼ばれます。Webサービスセッションに次のタイプのマッピングを入れることができ
ます。
¨ Webサービスマッピング
¨ フラットファイルマッピング
¨ XMLマッピング
Webサービスセッションは、Web Services Provider ReaderおよびWriterを使用します。
WebサービスマッピングにWebサービスのソースおよびターゲットが含まれる場合、デフォ
ルトではセッションがWeb Services Provider ReaderおよびWriterを使用します。 Webサ
ービスマッピングにフラットファイルまたはXMLソースまたはターゲットが含まれる場合、
ReaderおよびWriterタイプをWeb Services Provider ReaderまたはWriterに変更する必要
があります。
WebサービスセッションにXMLファイルまたはフラットファイルのソースまたはターゲット
が含まれる場合、クライアントアプリケーションはSOAPメッセージへのMIMEアタッチメン
トとしてWeb Services Hubに要求を送信します。 アタッチメントを送信または受信するに
110
は、クライアントアプリケーションはMIMEアタッチメントをサポートするツールキットに
よって作成する必要があります。
Web Services HubはWebサービスワークフローを実行するためのSOAPメッセージ要求を受信
すると、要求をIntegration Serviceに渡します。 Integration ServiceはWebサービス要
求を実行すると、応答をWeb Services Hubに渡します。 Web Services HubはSOAPメッセー
ジ応答を生成し、Webサービスクライアントに返信します。
Webサービスのソース定義およびターゲット定義を含むセッションに複数パーティションを
セットアップすることが可能になりました。Integration Serviceはセッション内のソース
数、ターゲット数、およびパーティション数を基にWeb Services Hubへの接続を作成しま
す。
注: Webサービスワークフローを実行できるようにするには、Web Services Hubを管理者
ツールに作成および設定し、実行するWebサービスワークフローを含むリポジトリと関連付
ける必要があります。
Webサービスワークフローの作成および設定Webサービスワークフローを作成するには、Webサービスマッピングを処理し、ワークフロ
ープロパティで[Webサービス]オプションが有効になるようにワークフローを設定しま
す。Webサービスを設定すると、Webサービスクライアントがワークフローを実行できるよ
うになります。
Webサービスワークフローを作成および設定するには、以下の作業を実行します。
¨ Webサービスワークフローを作成します。
¨ Webサービスを設定します。
Webサービスワークフローの作成
Webサービスワークフローを作成するには、ワークフローの[Webサービス]オプションを
有効にします。次に、Webサービスを設定し、Webサービスセッションをワークフローに追
加します。Webサービスセッションは、Webサービスマッピングに基づいています。
ほとんどの場合、各Webサービスワークフローには、1つのWebサービス入力メッセージソー
スと必ず1タイプのWebサービス出力メッセージターゲットが含まれている必要がありま
す。セッションは、ターゲット内の複数のフォールトビューに対して書き込みができま
す。一方向Webサービスは、応答を送信せず、Webサービスのターゲットを必要としませ
ん。
Webサービスワークフローを作成する場合は、必ずIntegration Serviceを指定してくださ
い。 使用可能なIntegration Servicesのリストから選択するには、[Integration
Serviceのブラウズ]ボタンをクリックします。
Webサービスワークフローを作成した後に、Webサービスマッピングを実行するためにセッ
ションを追加できます。セッションを作成してワークフローに追加する方法と同じ方法
で、セッションを作成してWebサービスワークフローに追加します。
Webサービスワークフローの作成および設定 111
注: Webサービスワークフローを作成するために、ワークフローウィザードを使用しない
でください。ワークフローウィザードの使用時に[Webサービス]オプションは選択できま
せん。
Webサービスワークフローを作成するには:
1. Workflow Managerで、Workflow Designerを開いて、[ワークフロー]-[作成]をク
リックします。
2. ワークフローの名前を入力します。
3. ワークフローを実行するIntegration Serviceを選択するには、[Integration
Serviceのブラウズ]ボタンをクリックしてリストから選択します。
4. [Webサービス]オプションを有効にして、[サービスの設定]をクリックして、Web
サービスワークフローを設定します。
[Webサービス]オプションを有効にすると、[並列実行の設定]オプションがデフォ
ルトで有効になります。Webサービスワークフローの設定プロパティには、Webサービ
スの同時実行の設定が含まれています。
5. 必要に応じて、Webサービスワークフロープロパティを設定します。
6. [OK]をクリックします。
Webサービスワークフローの設定
Webサービスワークフローを設定するときに、Webサービスワークフローを実行するWeb
Services Hubを指定し、Webサービスを実行および利用するためのオプションを設定できま
す。
以下の表に、Webサービスについて設定するプロパティを示します。
プロパティ 説明
サービス名 Webサービスの名前です。ワークフローのチェック時に、サ
ービスが表示可能ならばWeb Services Hubはこの名前を公
開します。デフォルト名は、リポジトリ名、フォルダ名、
ワークフロー名を結合したものです。この名前は一意でな
ければなりません。
タイムアウト
(秒)
要求がタイムアウトするまでWeb Services Hubが要求の処
理とSOAP応答の生成にかける最大時間。 Web Services Hub
はタイムアウト期間内に応答を生成することができない
と、Webサービスクライアントにフォールトメッセージを送
信し、接続を切断します。
デフォルトは60秒です。この値を0にすれば、タイムアウト
期間を無効にすることができます。
サービスタイム
しきい値(ミリ
秒)
Web Services Hubが、別のインスタンスを開始して次の要
求の処理に移るまでに、要求の処理にかける最大時間。 サ
ービス期間は、Web Services HubがSOAP要求を受信する時
間からSOAP応答を生成する時間までの期間です。 Web
Services Hubが要求の処理にかける平均時間がサービス期
間を超えると、Web Services HubがWebサービスの新しいイ
ンスタンスを開始して新しい要求を処理します。
112 第 9章: Webサービスワークフローの使用
プロパティ 説明
例えば、サービス時間が1000ミリ秒に設定されているとし
ます。Web Services Hubが1000ミリ秒以内で要求を処理で
きないと、Web Services HubがWebサービスの別のインスタ
ンスを開始して次のSOAP要求を処理します。
デフォルトは1000です。
注: パフォーマンス低下を防ぐために、サービスタイムしき
い値は100ミリ秒未満に設定しないでください。
Web Services
Hub
ワークフローを実行するWeb Services Hubサービス。 [参
照]ボタンをクリックし、Webサービスワークフローを実行
するために1つ以上のWeb Services Hubサービスを選択しま
す。 デフォルトで、Webサービスワークフローは、リポジ
トリに関連付けられた任意のWeb Services Hubサービス上
で実行できます。
注: ワークフローを手動で開始する予定であれば、Web
Services Hubを選択してワークフローを実行します。 [す
べてのHubで実行]は選択しないでください。Webサービス
ワークフローを開始するためには、Web Services Hubが有
効になっていることを確認してください。
1ハブあたりの最
大実行数
Web Services Hubで開始可能なWebサービスインスタンスの
最大数。 インスタンスを動的に開始した場合も手動で開始
した場合も、Web Services Hub上で実行しているWebサービ
スワークフローのすべてのインスタンスが回数に含まれま
す。 Web Services Hubは、最大数に達した場合、別のWebサ
ービスインスタンスを開始できません。
保護 Webサービスを実行できるようにするために、認証が必要で
す。 Web Services Hubはユーザー名トークンに基づいて要
求の認証を行います。 サービスを保護するか、公開するか
を選択できます。
ワークフローを実行できるPowerCenterユーザーなら誰で
も、Workflow Manager、pmcmd、またはLMAPIを使用して、
保護されたWebサービスワークフローを実行できます。 Web
サービスが保護されていない場合、Webサービスクライアン
トは認証なしでサービスを開始できます。
詳細については、「クライアント要求へのセキュリティの
追加」 (ページ77)を参照してください。
ビジブル WebサービスをWeb Services Hub Console内で表示可能にし
ます。サービスを表示可能にすると、Web Services Hubは
Web Services Hub Console上のWebサービスとWSDLを公開し
ます。 Webサービスのテスト、WSDLの表示、およびWeb
Services Hub ConsoleからのWSDLのダウンロードが可能で
す。
サービスが表示不可の場合、Web Services HubはWebサービ
スWSDLを公開しません。
実行可能 Web Services Hubに要求を送信することによって、Webサー
ビスクライアントにワークフローの開始を許可します。
Webサービスワークフローが実行可能である場合、Webサー
ビスクライアント要求はワークフローの実行中にワークフ
Webサービスワークフローの作成および設定 113
プロパティ 説明
ローを開始するかWebサービスを実行できます。Webサービ
スクライアントにワークフローを開始させたければ、オン
デマンドで実行するようワークフローをスケジュールして
ください。Webサービスワークフローが実行不可能である場
合、Webサービスクライアントはワークフローの実行中に
Webサービスを起動できますが、ワークフローは開始できま
せん。無効にすると、Workflow Manager、LMAPI、または
pmcmdを介してワークフローの開始ができます。
Webサービスワークフローの同時実行
Web Services Hubは、Webサービスのプロパティに設定したリソースおよび値の可用性に基
づいて、Webサービスワークフローの新しいインスタンスをいつ開始するかを決定します。
Web Services Provider Readerのプロパティに設定した値に基づいて、Webサービスワーク
フローのインスタンスをいつシャットダウンするかを決定します。
新しいインスタンスの開始
Web Services Hubは、現在のリソース使用状況とWebサービスワークフローの以下のプロパ
ティに基づいて、Webサービスワークフローの別のインスタンスをいつ開始するかを決定し
ます。
¨ サービスタイムしきい値。Web Services HubがWebサービスの処理にかける平均時間が
サービスタイムしきい値を超えると、Web Services HubがWebサービスの別のインスタ
ンスを開始します。
¨ 1ハブあたりの最大実行数。Web Services Hubは、インスタンス数がハブの最大実行回
数に達するまで、Webサービスのインスタンスを開始します。 最大実行回数に達する
と、Web Services Hubは平均サービスタイムしきい値であってもWebサービスの新規イ
ンスタンスを開始することはできません。
インスタンスのシャットダウン
Web Services Hubは、現在のリソース使用状況とWeb Services Provider Readerの以下の
プロパティに基づいて、Webサービスワークフローインスタンスをシャットダウンします。
¨ アイドル時間。ワークフローインスタンスが要求をアイドル時間内に受信しないと、
Web Services Hubはワークフローインスタンスをシャットダウンします。
¨ メッセージカウント。ワークフローインスタンスによって受信されたメッセージ数が
Integration Serviceでセッション内で読み取るように設定されているメッセージ最大
数に達すると、Web Services Hubがワークフローインスタンスをシャットダウンしま
す。
¨ Readerの時間制限。Integration ServiceがWeb Services Hubから入力メッセージを読
み取ることができる最大時間に達すると、Integration ServiceはWeb Services Hubか
らの入力メッセージの読み取りを停止します。 Web Services Hubがワークフローイン
スタンスをシャットダウンします。
これらのプロパティのいずれかがワークフローに設定されたしきい値に到達すると、Web
Services HubはWebサービスワークフローインスタンスをシャットダウンします。
114 第 9章: Webサービスワークフローの使用
関連項目:
¨ 「Webサービスワークフローの設定」 (ページ112)
¨ 「Web Services Provider Readerの設定」 (ページ115)
Web Services Provider ReaderおよびWriterの設定
Webサービスセッションを設定する場合、セッションのReaderおよびWriterを設定できま
す。デフォルトで、WebサービスのソースおよびターゲットがあるWebサービスセッション
はWeb Services Provider ReaderおよびWriterを使用します。
WebサービスセッションにフラットファイルまたはXMLソースまたはターゲットが含まれる
場合、Web Services Provider ReaderまたはWriterを使用するようセッションを設定する
必要があります。 Web Services Hubは、要求および応答をMIMEアタッチメントとしてSOAP
メッセージに送信します。
WebサービスセッションのReaderの設定時には、アイドル時間やメッセージ数などの終了条
件を設定します。
WebサービスセッションのWriterの設定時、Integration Serviceがターゲットデータをキ
ャッシュするために使用するキャッシュ情報を設定します。 このほか、ターゲットデータ
の出力形式も設定できます。
Webサービスセッションを設定するには、Workflow Managerを使用します。 Workflow
Designerで、Webサービスワークフローのセッションを編集します。 Web Services
Provider Readerを設定するには、[マッピング]タブをクリックしてソースを選択しま
す。 Web Services Provider Writerを設定するには、ターゲットを選択します。
関連項目:
¨ 「アタッチメント」 (ページ107)
Web Services Provider Readerの設定
Web Services Provider Readerに設定するプロパティは、マッピングで使用されるソース
タイプによって異なります。
以下の表に、Webサービスセッションに設定するソースプロパティを示します。
プロパティ Readerタイプ 説明
アイドル時間 - Webサービス
- Web Services
Provider
Integration Serviceがメッセージの
受信を待機した後にソースからの読み
取りを停止し、Web Services Hubがワ
ークフローインスタンスをシャットダ
ウンするまでの時間の長さ(秒単位)
です。
Web Services Provider ReaderおよびWriterの設定 115
プロパティ Readerタイプ 説明
Readerフラッ
トファイル
- Web Services
Provider
Reader XMLフ
ァイル
セッションは、このプロパティの条件
を満たすと停止します。
デフォルトは180です。
メッセージカウン
ト
- Webサービス
- Web Services
Provider
Readerフラッ
トファイル
- Web Services
Provider
Reader XMLフ
ァイル
Web Services Hubがワークフローイン
スタンスをシャットダウンするまでに
Integration Serviceが読み取るメッ
セージの数。 -1の値は無限時間を示
します。セッションにフラットファイ
ルまたはXMLのターゲットが使用され
ている場合、常にメッセージカウント
を1に設定してください。詳細につい
ては、「XMLおよびフラットファイル
セッションのReaderおよびWriterの設
定」 (ページ118)を参照してくださ
い。
セッションは、このプロパティの条件
を満たすと停止します。
デフォルトは-1です。
Readerの時間制限 - Webサービス
- Web Services
Provider
Readerフラッ
トファイル
- Web Services
Provider
Reader XMLフ
ァイル
Integration ServiceがWeb Services
Hubからソースメッセージを読み込む
時間(秒単位)です。 例えば、
Reader Time Limitに10を指定した場
合、Integration Serviceは10秒後に
Web Services Hubからの読み取りを停
止します。
セッションは、このプロパティの条件
を満たすと停止します。
デフォルトは0であり、これは無限時
間を示します。
空のコンテンツを
Nullとして扱う
Web Services
Provider Reader
XMLファイル
空の文字列をNull値として扱います。
デフォルトでは、空のコンテンツは
Nullではありません。
リカバリキャッシ
ュフォルダ
なし このプロパティはWeb Services
Providerでは使用されません。
Web Services Provider Writerの設定
Web Services Provider Writerのセッションプロパティの設定時に、キャッシュサイズと
キャッシュディレクトリを設定します。
116 第 9章: Webサービスワークフローの使用
以下の表に、Webサービスセッションに設定するターゲットプロパティを示します。
プロパティ Writerタイプ 説明
XML日付フォー
マット
Web Services
Provider
Writer XMLフ
ァイル
サービスターゲットに渡されたデータの形
式を決定します。精度はナノ秒。
日付フォーマットを次から選択します。
- Local Time。Integration Serviceのタイ
ムゾーンに従った時刻。
- Local Time with Time Zone。
Integration Serviceのタイムゾーンとグ
リニッジ標準時との時差。
- UTC。グリニッジ標準時。
Nullコンテンツ
の表現
Web Services
Provider
writer XMLフ
ァイル
無効なコンテンツがどのようにターゲット
内で表されるかを決定します。
次のオプションから選択します。
- No Tag。タグを出力しません。
- 空のコンテンツを含むタグ。タグのみを
出力します。
デフォルトは[タグなし]です。
空の文字列コン
テンツの表現
Web Services
Provider
writer XMLフ
ァイル
空の文字列がターゲット内でどのように表
されるかを決定します。
次のオプションから選択します。
- No Tag。タグを出力しません。
- 空のコンテンツを含むタグ。タグのみを
出力します。
デフォルトは[空のコンテンツを含むタ
グ]です。
重複グループ行
の処理
Web Services
Provider
writer XMLフ
ァイル
セッション中にIntegration Serviceが重複
グループ行をどのように扱うかを決定しま
す。
次のオプションから選択します。
- Frst Row。Integration Serviceは、重複
行のうち最初の行をターゲットに渡しま
す。この行の後に処理された同じプライ
マリキーを持つ行は、Integration
Serviceで拒否されます。
- Last Row。Integration Serviceは、重複
行のうち最後の行をターゲットに渡しま
す。
- エラー。Integration Serviceは、最初の
行をターゲットに渡します。以降に重複
するプライマリキーを持つ行が見つかる
と、エラーカウントが1つ増やされます。
エラーカウントがエラーしきい値を超え
ると、セッションが失敗します。
デフォルトがエラー。
孤立行の処理 Web Services
Provider
Writer XMLフ
ァイル
セッション中にIntegration Serviceが孤立
した行をどのように扱うかを決定します。
Web Services Provider ReaderおよびWriterの設定 117
プロパティ Writerタイプ 説明
次のオプションから選択します。
- Ignore。Integration Serviceは孤立した
行を無視します。
- エラー。エラーカウントがエラーしきい
値を超えると、セッションが失敗しま
す。
キャッシュサイ
ズ
- Webサービ
ス
- Web
Services
Provider
Writer XML
ファイル
Writerが使用するメモリキャッシュの総サ
イズ(バイト)。
これには、ターゲットインスタンス内の各
グループのプライマリキーおよび外部キー
インデックスキャッシュと、全グループ分
の1つのデータキャッシュが含まれます。総
キャッシュ所要量は、各ターゲットグルー
プのデータキャッシュおよびインデックス
キャッシュの所要量の合計です。
デフォルトは10,000,000バイトです。
キャッシュディ
レクトリ
- Webサービ
ス
- Web
Services
Provider
Writer XML
ファイル
ターゲットキャッシュファイルのディレク
トリ。デフォルトは、$PMCacheDirサービス
プロセス変数です。
WriterのタイプをWeb Services Provider Writerに変更する場合は、次に示す規則とガイ
ドラインを使用します。
¨ フラットファイルターゲットのWriterのタイプを変更する場合、Integration Service
はターゲットメッセージをキャッシュしません。
¨ フラットファイルまたはXMLターゲットのWriterタイプを変更する場合は、ターゲット
をWebサービスの出力メッセージとして使用できますが、フォールトメッセージとして
は使用できません。
¨ XMLターゲットのWriterのタイプを変更する場合は、XML Writerのプロパティを設定し
ます。
XMLおよびフラットファイルセッションのReaderおよびWriterの設定
XMLまたはフラットファイルのソースおよびターゲットを含むマッピングに基づいてWebサ
ービスセッションを作成するには、ReaderまたはWriterタイプをWeb Services Provider
ReaderまたはWriterに設定します。 XMLまたはフラットファイルリーダーでWebサービスワ
ークフローを実行するには、クライアントアプリケーションはSOAPメッセージへのMIMEア
タッチメントとして、要求をWeb Services Hubに送信します。 Web Services HubがSOAPメ
ッセージをアタッチメントと一緒にIntegration Serviceに渡すと、アタッチメントが処理
されます。
118 第 9章: Webサービスワークフローの使用
WebサービスワークフローがXMLまたはフラットファイルライタを使用して設定されている
場合、Integration Serviceは応答を生成し、その応答をWeb Services Hubに渡します。
Web Services Hubは応答をWebサービスクライアントにSOAPメッセージへのMIMEアタッチメ
ントとして送り戻します。
フラットファイルまたはXMLのソースまたはターゲットが存在する要求/応答Webサービスセ
ッションを設定する場合、次の規則およびガイドラインに従ってください。
¨ Readerプロパティでメッセージカウントを1に設定します。
¨ ReaderまたはWriterのタイプをWeb Services Providerに変更する場合、ワークフロー
には1つのセッションを含めることができます。
¨ セッションプロパティでReaderまたはWriterのタイプをWeb Services Provider Reader
またはWriterに変更する場合は、MIMEアタッチメントをサポートするツールキットを使
用してクライアントアプリケーションを作成する必要があります。
Webサービスセッションのパーティションの設定
Webサービスのソース定義とターゲット定義が含まれるセッションで複数のパーティション
を設定すると、Integration Serviceは、セッション内のソース数、ターゲット数、および
パーティション数に基づいてWeb Services Hubへの接続を作成します。 例えば、ソースと
ターゲットがそれぞれ1つのセッションで3つのパーティションを設定すると、Integration
ServiceはWeb Services Hubに対して6つの接続を作成します。内訳はソースとターゲット
がそれぞれ3つずつです。 パーティションにより、Webサービス要求の同時実行が可能にな
ります。
複数のパーティションがあるセッションを実行すると、Web Services Hubはソース接続を
使って要求をIntegration Serviceに渡します。 Integration Serviceはターゲット接続を
使用して、Web Services Hubに応答を送信します。 Web Services HubとIntegration
Serviceは、ソース接続とターゲット接続をラウンドロビン方式で使用します。
Webサービスマッピングのパーティションを設定すると、Webサービスのソースおよびター
ゲットに対するパススルーパーティションを設定できます。
Webサービスワークフローのトラブルシューティング
Webサービスセッションに対してDebuggerを実行しようとしていますが、セッションが失敗して、セッションの実行にはワークフローコンテキス
Webサービスセッションのパーティションの設定 119
トが必要であることを示すエラーメッセージがセッションログに表示されます。
Webサービスセッションをデバッグする場合、Webサービスワークフローに対してDebugger
を実行する必要があります。ワークフローがなければ、Webサービスマッピングや再利用セ
ッションに対してDebuggerを実行することはできません。
ソースのWSDLを更新した後で、自分のソース定義とターゲット定義をインポートしなおしました。ワークフローは有効ですが、なぜかサービスのWSDLが更新されません。
マッピングを変更しても、Web Services Hubに動的に反映されることはありません。 マッ
ピングの変更を反映するためにWSDLを生成する場合は、ワークフローを編集して保存する
必要があります。ワークフローを保存すると、Web Services HubがサービスのWSDLを生成
します。
WebサービスワークフローがWorkflow Managerで有効になっているにもかかわらず、Web Services Hubを開始したら無効になりました。
Web Services Hubを開始した後、Web Service Hubは各Webサービスワークフローに対し、
Workflow Managerの検査規則に加えて、独自の検査規則で検査します。
Web Services Hubは、次の規則に従ってWebサービスワークフローを検査します。
¨ マッピングに複数のWebサービスのソース定義は存在しない。
¨ マッピングに複数のWebサービスのターゲット定義は存在しない。
¨ マッピングにWebサービスのターゲット定義が存在しない場合、Web Services HubはWeb
サービスを一方向サービスとして扱う。
¨ Repository Serviceは、Web Services Hubに関連付けられている必要がある。
¨ Integration Serviceはワークフローに関連付けられている必要がある。
Workflow Managerの[検査]タブでWeb Services Hubのエラーメッセージを確認し、メッ
セージに従い問題を修正する。
Web Services Hub上のワークフローをフェッチしようとしたところ、サービスワークフローに対してIntegration Serviceが指定されていないため、サービスワークフローが無効であることを示すエラーメッセージが表示されました。
Webサービスワークフローを作成する場合、Integration Serviceを割り当てる必要があり
ます。 詳細については、「Webサービスワークフローの設定」 (ページ112)を参照してく
ださい。
Web Services Hub上の複数のインスタンスを実行するように設定されたWebサービスワークフローに要求を送信しました。 要求の送信後にWebサービスワークフローを停止しました。 フォールト応答を受信しました。
Web Services Hubがワークフローのステータスを定期的にチェックします。 要求をワーク
フローに送信する際には、ワークフローが実行されていないことが登録される前にフォー
ルト応答が生成されます。 複数のインスタンスを実行するようにワークフローが設定され
ている場合、Web Services Hubはワークフローの別のインスタンスを開始します。 ただ
120 第 9章: Webサービスワークフローの使用
し、Web Services Hubは要求をキャッシュに格納しないため、ワークフローの新しいイン
スタンスに要求を再送信することはできません。
バージョン管理されたリポジトリ内で、リアルタイムWebサービスワークフローを変更しました。ワークフローを実行しても、変更内容が有効になっていません。
バージョン管理されたリポジトリでリアルタイムWebサービスワークフローを変更した場
合、変更内容を有効にするには、ワークフローをチェックインする必要があります。
例えば、リアルタイムWebサービスワークフローを変更し、異なるPowerCenter
Integration Serviceに関連付けます。変更内容をチェックインすると、Web Services Hub
は新しいIntegration Serviceを使用してワークフローを実行します。変更内容をチェック
インしないと、Web Services Hubを再起動しない限り、Web Services Hubは新しい
Integration Serviceを使用しません。
Webサービスワークフローのトラブルシューティング 121
付録 A
Webサービスのサンプルクライアントアプリケーション
この付録では、以下の項目について説明します。
¨ Webサービスのサンプルクライアントアプリケーションの概要, 122 ページ
¨ バッチWebサービスサンプルプログラムの使用, 123 ページ
¨ バッチWebサービスの例, 125 ページ
¨ リアルタイムWebサービスサンプルプログラムの使用, 131 ページ
¨ リアルタイムWebサービスの例, 135 ページ
Webサービスのサンプルクライアントアプリケーションの概要
Informaticaは、PowerCenter Webサービスの使用方法を説明するサンプルのクライアント
アプリケーションプログラムを出荷しています。 このサンプルには、JavaおよびC#のプロ
グラムが含まれます。Javaサンプルプログラムでは、Axis Webサービスツールキットによ
って生成されるプロキシクラスが使用されます。C#サンプルプログラムでは、wsdl.exeツ
ールによって.NETプラットフォーム用に生成されたプロキシクラスが使用されます。 サン
プルプログラムはPowerCenterバッチWebサービスとリアルタイムWebサービスで使用できま
す。
Webサービスのサンプルプログラムは、次のディレクトリにインストールされます。
/<PowerCenterInstallDir>/server/samples/WebServices
Webサービスサンプルプログラムを実行するためには、PowerCenterドメインでWeb
Services Hubを作成および有効化します。 管理者ツールを使用して、Web Services Hubの
作成、設定、有効化を行います。
122
バッチWebサービスサンプルプログラムの使用
バッチWebサービスのサンプルプログラムを使用するには、PowerCenterをインストールし
て実行する必要があります。 PowerCenterドメインには、Repository Serviceに関連付け
られているWeb Services Hubが含まれている必要があります。
バッチWebサービスのサンプルプログラムは、次のディレクトリにインストールされます。
/<PowerCenterInstallDir>/server/samples/WebServices
/WebServicesディレクトリは、以下のファイルおよびディレクトリで構成されます。
ディレクトリ 説明
/lib サンプルプログラムの実行に必要なライブ
ラリファイルが含まれます。
/ssl セキュアモード(HTTPS)でクライアント
アプリケーションを実行するためのサンプ
ルキーストアが含まれます。
/samples/BatchWebServices/
axis/ <SampleProgramDirectory>Javaサンプルプログラムが含まれます。
各バッチWebサービスのサンプルプログラ
ムのソースファイルは、それぞれのディレ
クトリに見つかります。 ディレクトリの
名前は、サンプルプログラムで実演される
バッチWebサービスの操作を示します。 例
えば、/multiserversディレクトリのサン
プルプログラムは、リポジトリサービスに
関連付けられた複数のIntegration
Serviceへのログインを実演します。
このディレクトリには、サンプルプログラ
ムをコンパイルおよび実行するためのバッ
チファイルとスクリプトファイルも含まれ
ます。
/samples/BatchWebServices/
axis/proxyclasses
Javaサンプルプログラムのプロキシクラ
スが含まれます。
/samples/BatchWebServices/
dotnet/csharp/
<SampleProgramDirectory>
C#サンプルプログラムが含まれます。各バ
ッチWebサービスのサンプルプログラムの
ソースファイルは、それぞれのディレクト
リに見つかります。 ディレクトリの名前
は、サンプルプログラムで実演されるバッ
チWebサービスの操作を示します。 例え
ば、/multiserversディレクトリのサンプ
ルプログラムは、リポジトリサービスに関
連付けられた複数のIntegration Service
へのログインを実演します。
バッチWebサービスサンプルプログラムの使用 123
ディレクトリ 説明
各サンプルプログラムのディレクトリに
は、サンプルプログラムをコンパイルする
ためのバッチファイルも含まれます。
/samples/BatchWebServices/
dotnet/csharp/ proxyclasses
C#サンプルプログラムのプロキシクラスが
含まれます。このディレクトリには、プロ
キシクラスをコンパイルするためのバッチ
ファイルも含まれます。
バッチWebサービスサンプルプログラムのコンパイル
バッチWebサービスのサンプルプログラムをコンパイルする手順は、プログラミング言語に
よって決まります。
サンプルJavaプログラムのコンパイル
サンプルJavaプログラムをコンパイルするには、サンプルプログラムのディレクトリに移
動し、コンパイルバッチまたはスクリプトファイルを実行します。コンパイルするサンプ
ルプログラムの名前と一致するバッチまたはスクリプトファイルを実行します。
たとえば、/axis/multithreadedディレクトリのSample1.javaプログラムをコンパイルす
るには、そのディレクトリに移動して、CompileSample1.bat(Windows)または
CompileSample1.sh(UNIX)を実行します。コンパイルプロセスによって、同じディレクト
リにサンプルプログラムの.classファイルがを作成されます。
サンプルC#プログラムのコンパイル
サンプルC#プログラムをコンパイルするには、次の手順を実行します。
1. /dotnet/csharp/proxyclassesディレクトリに移動して、compile.batを実行します。
コンパイルプロセスによって、次のディレクトリにWebServicesHub.dllという名前の
ダイナミックリンクライブラリが作成されます。
/dotnet/csharp/bin directory.
2. サンプルプログラムのディレクトリに移動して、コンパイルするサンプルプログラム
の名前と一致するコンパイルバッチファイルを実行します。
コンパイルプロセスによって、コンパイル対象プログラムファイルの名前と.exe拡張
子が付けられた実行可能ファイルが作成されます。
バッチWebサービスサンプルプログラムの実行
Web Services Hubは、クライアントアプリケーションの実行時に実行されている必要があ
ります。
必要なパラメータを付けて、サンプルプログラムを実行します。バッチWebサービスのサン
プルプログラムを実行する手順は、プログラミング言語によって決まります。
124 付録 A: Webサービスのサンプルクライアントアプリケーション
サンプルJavaプログラムの実行
サンプルJavaプログラムを実行するには、サンプルプログラムのディレクトリに移動し、
実行するサンプルプログラムの名前と一致するバッチまたはスクリプトファイルを実行し
ます。たとえば、/axis/multithreadedディレクトリのSample1.javaプログラムをコンパ
イルするには、そのディレクトリに移動して、RunSample1.bat(Windows)または
RunSample1.sh(UNIX)を実行します。
サンプルC#プログラムの実行
サンプルC#プログラムを実行するには、サンプルプログラムのディレクトリに移動し、実
行するサンプルプログラムの実行可能ファイルを実行します。
バッチWebサービスの例JavaおよびC#のサンプルプログラムは、以下のディレクトリにあります。
プラッ
トフォ
ーム
ディレクトリ
Java /WebServices/samples/BatchWebServices/axis/
<SampleProgramDirectory>
C# /WebServices/samples/BatchWebServices/dotnet/csharp/
<SampleProgramDirectory>
JavaおよびC#に対して、同じサンプルプログラムのセットが出荷されます。各プラットフ
ォームには同じディレクトリが含まれ、各ディレクトリにはWebサービスの異なる使用方法
を実演するサンプルプログラムが含まれています。ここでは、JavaおよびC#のサンプルプ
ログラムについて説明します。
参照
/browsingディレクトリのサンプルプログラムは、リポジトリから情報を取得するWebサー
ビス操作の使用方法を実演します。
Sample1.java and Sample1.cs
このサンプルプログラムは、リポジトリにログインしてから、メタデータWebサービス操作
を使用して、リポジトリおよびリポジトリで登録されたIntegration Services内のフォル
ダ、ワークフローおよびタスクに関する情報を取得します。
ディレクトリ: /browsing
JavaおよびC#のサンプルをコンパイルするファイル: CompileSample1.batまたは
CompileSample1.sh
バッチWebサービスの例 125
Javaサンプルを実行するファイル: RunSample1.batまたはRunSample1.sh
C#のサンプルを実行するファイル: Sample1.exe
以下の表は、Sample1アプリケーションの実行に使用するパラメータについて説明します。
パラメータ 説明
セキュリティモード アプリケーションを実行するセキュリティモードを指
定します。引数-nsを渡すことによって、アプリケー
ションを非セキュアモード(HTTP)で実行します。
例では、セキュアモード(HTTPS)をサポートしてい
ません。
ホスト名 Web Services Hubを実行しているマシンの名前または
IPアドレス。
ポート番号 Web Services Hubを実行しているポート番号。
リポジトリドメイン名 リポジトリサービスを含むドメインの名前。
リポジトリ名 リポジトリサービスの名前。
ユーザー名 リポジトリにログインするユーザー名。
パスワード リポジトリにログインするユーザー名のパスワード。
Sample2.java and Sample2.cs
このサンプルプログラムは、リポジトリにログインして、関連するIntegration Serviceに
接続します。また、メタデータおよびデータ統合Webサービス操作を使用して、リポジトリ
内のフォルダにアクセスし、フォルダ内の最初のワークフローを開始および停止します。
ディレクトリ: /browsing
JavaおよびC#のサンプルをコンパイルするファイル: CompileSample2.batまたは
CompileSample2.sh
Javaサンプルを実行するファイル: RunSample2.batまたはRunSample2.sh
C#のサンプルを実行するファイル: Sample2.exe
以下の表に、Sample2アプリケーションの実行に使用するパラメータを示します。
パラメータ 説明
セキュリティモード アプリケーションを実行するセキュリティモードを指
定します。引数-nsを渡すことによって、アプリケー
ションを非セキュアモード(HTTP)で実行します。
例では、セキュアモード(HTTPS)をサポートしてい
ません。
ホスト名 Web Services Hubを実行しているマシンの名前または
IPアドレス。
126 付録 A: Webサービスのサンプルクライアントアプリケーション
パラメータ 説明
ポート番号 Web Services Hubを実行しているポート番号。
リポジトリドメイン名 リポジトリサービスを含むドメインの名前。
リポジトリ名 リポジトリサービスの名前。
ユーザー名 リポジトリにログインするユーザー名。
パスワード リポジトリにログインするユーザー名のパスワード。
Integration Serviceの
ドメイン名
Integration Serviceを含むドメインの名前。
Integration Service名 Integration Serviceの名前。
データ統合
/dataintegrationディレクトリのサンプルプログラムは、Data Integration Webサービス
内で使用可能なワークフローおよびタスクの使用方法を実演します。
Sample1.java and Sample1.cs
このサンプルプログラムは、リポジトリにログインして、関連するIntegration Serviceに
接続します。また、データ統合Webサービス操作を使用して、Integration Serviceで実行
するワークフローを開始および停止します。
ディレクトリ: /dataintegration
JavaおよびC#のサンプルをコンパイルするファイル: CompileSample1.batまたは
CompileSample1.sh
Javaサンプルを実行するファイル: RunSample1.batまたはRunSample1.sh
C#のサンプルを実行するファイル: Sample1.exe
以下の表は、Sample1アプリケーションの実行に使用するパラメータについて説明します。
パラメータ 説明
セキュリティモード アプリケーションを実行するセキュリティモードを指
定します。引数-nsを渡すことによって、アプリケー
ションを非セキュアモード(HTTP)で実行します。
例では、セキュアモード(HTTPS)をサポートしてい
ません。
ホスト名 Web Services Hubを実行しているマシンの名前または
IPアドレス。
ポート番号 Web Services Hubを実行しているポート番号。
バッチWebサービスの例 127
パラメータ 説明
リポジトリドメイン名 リポジトリサービスを含むドメインの名前。
リポジトリ名 リポジトリサービスの名前。
ユーザー名 リポジトリにログインするユーザー名。
パスワード リポジトリにログインするユーザー名のパスワード。
Integration Serviceの
ドメイン名
Integration Serviceを含むドメインの名前。
Integration Service名 Integration Serviceの名前。
フォルダ名 リポジトリ内のフォルダの名前。
ワークフロー名 セッションを含むワークフローの名前。
タスク名 開始するタスクの名前。
複数のIntegration Service
/multiserversディレクトリのサンプルプログラムは、リポジトリサービスに関連付けられ
た複数のIntegration Serviceへのログインを実演します。 同じ方式を使用して、リポジ
トリサービスに関連付けられた任意の数のIntegration Serviceに同時にアクセスできま
す。
Sample1.java and Sample1.cs
このサンプルプログラムは、リポジトリにログインして、リポジトリに関連付けられた2つ
のIntegration Serviceに接続します。データ統合Webサービス操作を使用して、2つの
Integration Serviceのプロパティを取得します。
注: 例に示すように、2つのIntegration Serviceにログインするには、Data Integration
Webサービスに対して2つのプロキシオブジェクトを作成する必要があります。 ログインす
る各Integration Serviceに対して、1つのプロキシオブジェクトを作成します。
ディレクトリ: /multiservers
JavaおよびC#のサンプルをコンパイルするファイル: CompileSample1.batまたは
CompileSample1.sh
Javaサンプルを実行するファイル: RunSample1.batまたはRunSample1.sh
C#のサンプルを実行するファイル: Sample1.exe
128 付録 A: Webサービスのサンプルクライアントアプリケーション
以下の表は、Sample1アプリケーションの実行に使用するパラメータについて説明します。
パラメータ 説明
セキュリティモード アプリケーションを実行するセキュリティモードを指
定します。引数-nsを渡すことによって、アプリケー
ションを非セキュアモード(HTTP)で実行します。
例では、セキュアモード(HTTPS)をサポートしてい
ません。
ホスト名 Web Services Hubを実行しているマシンの名前または
IPアドレス。
ポート番号 Web Services Hubを実行しているポート番号。
リポジトリドメイン名 リポジトリサービスを含むドメインの名前。
リポジトリ名 リポジトリサービスの名前。
ユーザー名 リポジトリにログインするユーザー名。
パスワード リポジトリにログインするユーザー名のパスワード。
Integration Serviceの
ドメイン名
Integration Serviceを含むドメインの名前。
Integration Service名
1
リポジトリに関連付けられたIntegration Serviceの
名前。
Integration Service名
2
リポジトリに関連付けられた2つ目のIntegration
Serviceの名前。
マルチスレッド
/multithreadedディレクトリのサンプルプログラムは、操作を並行して実行するマルチス
レッドでのプロキシオブジェクトの使用方法を実演します。同じ方式を使用して、クライ
アントアプリケーションが操作の完了を待機するときに、継続して他の操作を実行し呼び
出すようにクライアントアプリケーションを有効化できます。たとえば、クライアントア
プリケーションがWaitTillWorkflowComplete操作をスレッドで呼び出す場合、アプリケー
ションは継続して他の操作を他のスレッドで実行できます。
Sample1.java and Sample1.cs
このサンプルプログラムは、リポジトリにログインして、関連するIntegration Serviceに
接続します。2つのスレッドを開始して、データ統合Webサービスプロキシオブジェクトを
両方のスレッドに渡します。一方のスレッドでは、Integration Service上のワークフロー
を開始し、それが完了するまで待機します。 残りのスレッドでは、Integration Service
のプロパティを取得します。 同様に、複数のスレッドでメタデータWebサービスのプロキ
シオブジェクトを使用することもできます。
ディレクトリ: /multithreaded
バッチWebサービスの例 129
JavaおよびC#のサンプルをコンパイルするファイル: CompileSample1.batまたは
CompileSample1.sh
Javaサンプルを実行するファイル: RunSample1.batまたはRunSample1.sh
C#のサンプルを実行するファイル: Sample1.exe
以下の表は、Sample1アプリケーションの実行に使用するパラメータについて説明します。
パラメータ 説明
セキュリティモード アプリケーションを実行するセキュリティモードを指
定します。引数-nsを渡すことによって、アプリケー
ションを非セキュアモード(HTTP)で実行します。
例では、セキュアモード(HTTPS)をサポートしてい
ません。
ホスト名 Web Services Hubを実行しているマシンの名前または
IPアドレス。
ポート番号 Web Services Hubを実行しているポート番号。
リポジトリドメイン名 リポジトリサービスを含むドメインの名前。
リポジトリ名 リポジトリサービスの名前。
ユーザー名 リポジトリにログインするユーザー名。
パスワード リポジトリにログインするユーザー名のパスワード。
Integration Serviceの
ドメイン名
Integration Serviceを含むドメインの名前。
Integration Service名 Integration Serviceの名前。
フォルダ名 ワークフローを含むリポジトリ内のフォルダの名前。
ワークフロー名 リポジトリ内のワークフローの名前。
Web Services Hubのテスト
/testsamplesディレクトリのサンプルプログラムは、有効なWeb Services Hubが
PowerCenterドメインで実行中であることを確認する方法を実演します。
Sample1.java and Sample1.cs
このサンプルプログラムは、リポジトリにログインして、関連するIntegration Serviceに
接続します。メタデータおよびデータ統合のWebサービス操作を使用して、Repository
ServiceおよびIntegration Serviceに関する情報を取得します。
ディレクトリ: /testsamples
JavaおよびC#のサンプルをコンパイルするファイル: CompileSample1.batまたは
CompileSample1.sh
130 付録 A: Webサービスのサンプルクライアントアプリケーション
Javaサンプルを実行するファイル: RunSample1.batまたはRunSample1.sh
C#のサンプルを実行するファイル: Sample1.exe
以下の表は、Sample1アプリケーションの実行に使用するパラメータについて説明します。
パラメータ 説明
セキュリティモード アプリケーションを実行するセキュリティモードを指
定します。引数-nsを渡すことによって、アプリケー
ションを非セキュアモード(HTTP)で実行します。
例では、セキュアモード(HTTPS)をサポートしてい
ません。
ホスト名 Web Services Hubを実行しているマシンの名前または
IPアドレス。
ポート番号 Web Services Hubを実行しているポート番号。
リポジトリドメイン名 リポジトリサービスを含むドメインの名前。
リポジトリ名 リポジトリサービスの名前。
ユーザー名 リポジトリにログインするユーザー名。
パスワード リポジトリにログインするユーザー名のパスワード。
Integration Serviceの
ドメイン名
Integration Serviceを含むドメインの名前。
Integration Service名 Integration Serviceの名前。
リアルタイムWebサービスサンプルプログラムの使用
リアルタイムWebサービスのサンプルプログラムを使用するには、PowerCenterをインスト
ールして実行する必要があります。 PowerCenterドメインには、Repository Serviceに関
連付けられているWeb Services Hubが含まれている必要があります。
リアルタイムWebサービスのサンプルプログラムは、次のディレクトリにインストールされ
ます。
/<PowerCenterInstallDir>/server/samples/WebServices
リアルタイムWebサービスの例には、サンプルプログラムで使用するルックアップテーブル
およびWebサービスワークフローを作成するファイルが含まれます。
リアルタイムWebサービスサンプルプログラムの使用 131
/RealTimeWebServicesディレクトリは、以下のファイルおよびディレクトリで構成されま
す。
ディレクトリ 説明
/samples/RealTimeWebServices/
ImportXML
リアルタイムWebサービスのサンプルプログ
ラムによって呼び出されるWebサービスワー
クフローが含まれます。 サンプルプログラ
ムを使用するには、XMLファイルをリポジト
リにインポートして、Webサービスワークフ
ロー内のSQLおよびルックアップトランスフ
ォーメーション用のデータベース接続をセ
ットアップします。
/lib サンプルプログラムの実行に必要なライブ
ラリファイルが含まれます。
/samples/RealTimeWebServices/
SQLScripts /SINGLEROWLOOKUP
1行ルックアップのサンプルプログラムで使
用されるルックアップテーブルを作成する
SQLスクリプトが含まれます。SQLスクリプ
トを実行すると、選択したデータベース内
にテーブルを作成します。
/samples/RealTimeWebServices/
SQLScripts /MULTIPLEROWLOOKUP
複数行ルックアップのサンプルプログラム
で使用されるルックアップテーブルを作成
するSQLスクリプトが含まれます。SQLスク
リプトを実行すると、選択したデータベー
ス内にテーブルを作成します。
/samples/RealTimeWebServices/
Unprotected WebServices/axis/
<SampleProgramDirectory>
Javaサンプルプログラムが含まれます。各
リアルタイムWebサービスのサンプルプログ
ラムのソースファイルは、それぞれのディ
レクトリに見つかります。 各ディレクトリ
には、サンプルプログラムのコンパイルと
実行を行うバッチおよびスクリプトファイ
ルが含まれ、サンプルプログラムで使用さ
れるプロキシクラスのサブフォルダが含ま
れます。
リアルタイムWebサービスの例を使用するには、以下の手順を実行する必要があります。
1. サンプルプログラムによってルックアップテーブルとして使用されるデータソーステ
ーブルを作成します。
2. Web Services Hubに関連付けられたリポジトリにマッピングとWebサービスワークフロ
ーをインポートします。
3. m_CustomerLookup_MULTIPLEROWマッピングで、SQLトランスフォーメーションのデー
タベースおよびデータタイプを変更します。
4. サンプルワークフロー内のデータベース接続設定をセットアップします。
5. リアルタイムWebサービスのサンプルプログラムをコンパイルします。
6. リアルタイムWebサービスのサンプルプログラムを実行します。
132 付録 A: Webサービスのサンプルクライアントアプリケーション
手順1. ルックアップテーブルを作成するには:
バッチWebサービスのサンプルプログラムに付属のSQLスクリプトファイルを使用して、リ
レーショナルデータベースにルックアップテーブルを作成します。 以下のデータベース内
に、ルックアップテーブルを作成できます。
¨ IBM DB2
¨ Informix
¨ Microsoft SQL Server
¨ Oracle
¨ Sybase
¨ Teradata
注: Teradataにルックアップテーブルを作成する場合、データベースサーバーのデフォル
トモードをANSIに設定する必要があります。
SQLスクリプトには、以下のファイルが含まれます。
スクリプトファイル名 説明
CustomerLookup_SINGLEROW_<Databas
e>.sql
1行ルックアップのサンプルプログラム
で使用するSINGLEROWLOOKUPという名前
の顧客テーブルを作成します。
CustomerLookup_MULTIPLEROW_<Datab
ase>.sql
複数行ルックアップのサンプルプログ
ラムで使用するMULTIPLEROWLOOKUPとい
う名前の顧客テーブルを作成します。
注: データベース接続設定。 サンプルワークフローをリポジトリにインポートした後
に、ワークフロー内のトランスフォーメーションのデータベース接続設定をデータベース
設定に合うように変更する必要があります。
手順2. マッピングとワークフローのインポート
リアルタイムWebサービスのサンプルプログラムは、サンプルWebサービスのワークフロー
を実行します。 サンプルプログラムを使用するには、Web Services Hubに関連付けられた
リポジトリにサンプルのマッピングとワークフローをインポートします。
XMLファイルには、以下のファイルが含まれます。
スクリプトファイル名 説明
wf_CustomerLookup_SINGLEROW.XML Webサービスワークフローと、1行ルッ
クアップのサンプルプログラムで使用
するルックアップトランスフォーメー
ションが含まれます。
wf_CustomerLookup_MULTIPLEROW.XML Webサービスワークフローと、複数行ル
ックアップのサンプルプログラムで使
リアルタイムWebサービスサンプルプログラムの使用 133
スクリプトファイル名 説明
用するSQLトランスフォーメーションが
含まれます。
手順3. SQLトランスフォーメーションのデータベースおよびデータタイプの変更
複数行ルックアップを実演するWebサービスの例では、SQLトランスフォーメーションを使
用します。使用するデータベースによって、SQLトランスフォーメーション内でポートに使
用可能なネイティブのデータタイプが決まります。適切なデータベースを使用するように
SQLトランスフォーメーションを設定し、適切なネイティブデータタイプを使用するように
ポートを設定する必要があります。
SQLトランスフォーメーションのデータベースおよびデータタイプを変更するには、次の手
順を実行してください。
1. PowerCenter Designerで、Mapping Designer内のm_CustomerLookup_MULTIPLEROWマッ
ピングを開いて、sql_Customerトランスフォーメーションインスタンスを編集しま
す。
2. [トランスフォーメーションの編集]ウィンドウで、[SQL設定]タブに移動して[デ
ータベースタイプ]属性の値を例で使用しているデータベースに設定します。
3. [SQLポート]タブに移動して、ポートのデータタイプが適切なネイティブデータタイ
プにマッピングされていることを確認します。
ほとんどのデータベースでは、デフォルトのネイティブデータタイプマッピングが適
しています。Microsoft SQL ServerおよびSybaseの場合は、stringデータタイプを
varcharネイティブデータタイプにマッピングします。
4. 変更は、m_CustomerLookup_MULTIPLEROWマッピングに保存します。
マッピングを変更した後に、マッピングを実行するワークフローを更新します。
5. PowerCenter Workflow Managerで、マッピングを実行するワークフローを開いて、マ
ッピングを更新します。
手順4. データベース接続設定の変更
インポートされたワークフロー内のSQLおよびルックアップトランスフォーメーションは、
手順1で作成されたサンプルルックアップテーブルに接続できる必要があります。
インポートプロセスは、サンプルワークフロー内のトランスフォーメーションの接続オブ
ジェクトをインポートしません。接続オブジェクトを作成して、セッション内で使用する
必要があります。
トランスフォーメーションの接続設定を更新するには、以下の手順を実行します。
1. PowerCenter Workflow Managerで、サンプルテーブルに接続するために接続オブジェ
クトを作成します。
2. s_m_CustomerLookup_SINGLEROWセッションを編集して、lkp_Customerトランスフォー
メーションのリレーショナル接続情報を更新します。
134 付録 A: Webサービスのサンプルクライアントアプリケーション
リレーショナル接続を新しい接続オブジェクトの名前に設定します。新しい設定のセ
ッションを保存します。
3. s_m_CustomerLookup_MULTIPLEROWセッションを編集して、sql_Customerトランスフォ
ーメーションのリレーショナル接続情報を更新します。
リレーショナル接続を接続オブジェクトの名前に設定します。新しい設定のセッショ
ンを保存します。
手順5. リアルタイムWebサービスのサンプルプログラムのコンパイル
サンプルJavaプログラムをコンパイルするには、サンプルプログラムのディレクトリに移
動し、コンパイルバッチまたはスクリプトファイルを実行します。コンパイルするサンプ
ルプログラムの名前と一致するバッチまたはスクリプトファイルを実行します。
たとえば、/axis/CustomerLookup_SINGLEROWディレクトリのSample.javaプログラムをコ
ンパイルするには、そのディレクトリに移動して、CompileSample.bat(Windows)または
CompileSample.sh(UNIX)を実行します。
コンパイルプロセスによって、同じディレクトリにサンプルプログラムの.classファイル
が作成されます。
手順6. リアルタイムWebサービスのサンプルプログラムの実行
サンプルプログラムを実行するマシンには、Javaバージョン1.5.0_11-b03がインストール
されている必要があります。Web Services Hubは、サンプルプログラムの実行時に実行さ
れている必要があります。
サンプルJavaプログラムを実行するには、サンプルプログラムのディレクトリに移動し、
実行するサンプルプログラムのバッチまたはスクリプトファイルを実行します。たとえ
ば、/axis/CustomerLookup_MULTIPLEROWディレクトリのSample.javaプログラムをコンパ
イルするには、そのディレクトリに移動して、RunSample.bat(Windows)または
RunSample.sh(UNIX)を実行します。
必要なパラメータを付けて、サンプルプログラムを実行します。
リアルタイムWebサービスの例ここでは、リアルタイムWebサービスのサンプルプログラムについて説明します。 各ディ
レクトリには、リアルタイムWebサービスを使用する異なる方法を実演するサンプルプログ
ラムが含まれています。
リアルタイムWebサービスの例 135
複数行ルックアップ
/CustomerLookup_MULTIPLEROWディレクトリのサンプルプログラムは、クライアントアプ
リケーションがルックアップを実行して複数行データの応答を処理するWebサービスワーク
フローを実行する方法を示します。
Sample.java
このサンプルプログラムは、データベース内で顧客IDをルックアップして顧客情報を印刷
するPowerCenter Webサービスワークフローを呼び出します。 ワークフローは、SQLトラン
スフォーメーションを使用して、データベースから複数行を取得します。
ディレクトリ: /CustomerLookup_MULTIPLEROW
Javaサンプルをコンパイルするファイル: CompileSample.batまたはCompileSample.sh
Javaサンプルを実行するファイル: RunSample.batまたはRunSample.sh
以下の表は、Sampleアプリケーションの実行に使用するパラメータについて説明します。
パラメー
タ
説明
顧客ID ルックアップする顧客のID。顧客IDは、整数として渡します。
エンドポ
イントURL
Webサービスを探すURLエンドポイントURLは、文字列として渡しま
す。
リアルタイムWebサービスのエンドポイントURLは、Webサービス
WSDLのservice要素のsoap:address位置要素に見つかります。サン
プルWebサービスのデフォルトのエンドポイントURLはhttp://<WSHHostName>:<WSHPort>/wsh/services/ts/CustomerLookup_MULTIPLEROWです。
Web Services HubをHTTPSで実行している場合、エンドポイント
URLはHTTPSで始まります。
1行ルックアップ
/CustomerLookup_SINGLEROWディレクトリのサンプルプログラムは、クライアントアプリ
ケーションがルックアップを実行して1行データの応答を処理するWebサービスワークフロ
ーを実行する方法を示します。
Sample.java
このサンプルプログラムは、データベース内で顧客IDをルックアップして顧客情報を印刷
するPowerCenter Webサービスワークフローを呼び出します。 マッピングは、ルックアッ
プトランスフォーメーションを使用して、データベースから1行取得します。
ディレクトリ: /CustomerLookup_SINGLEROW
Javaサンプルをコンパイルするファイル: CompileSample.batまたはCompileSample.sh
Javaサンプルを実行するファイル: RunSample.batまたはRunSample.sh
136 付録 A: Webサービスのサンプルクライアントアプリケーション
以下の表は、Sampleアプリケーションの実行に使用するパラメータについて説明します。
パラメー
タ
説明
顧客ID ルックアップする顧客のID。顧客IDは、整数として渡します。
エンドポ
イントURL
Webサービスを探すURLエンドポイントURLは、文字列として渡しま
す。
リアルタイムWebサービスのエンドポイントURLは、Webサービス
WSDLのservice要素のsoap:address位置要素に見つかります。サン
プルWebサービスのデフォルトのエンドポイントURLはhttp://<WSHHostName>:<WSHPort>/wsh/services/ts/CustomerLookup_SINGLEROWです。
Web Services HubをHTTPSで実行している場合、エンドポイントURL
はHTTPSで始まります。
リアルタイムWebサービスの例 137
索引
数字1ハブあたりの最大実行数
Webサービスワークフローのプロパティ 112
DData Integration Web Services
説明 5
deinitializeDIServerConnection
廃止された演算 27
Fフラットファイル
マッピング(アタッチメント付き) 107
GgetNextLogSegment
廃止された演算 28
IinitializeDIServerConnection
廃止された演算 37
MMetadata Web Services
説明 5
OOASIS
Webサービスセキュリティ標準 77
RresumeWorkflow
廃止された演算 41
SSOAP
アタッチメント 110
SQLトランスフォーメーション
要求/応答マッピング 101
startSessionLogFetch
廃止された演算 44
startWorkflowLogFetch
廃止された演算 51
UUsernameToken要素
Webサービスのセキュリティ 78
WWeb Service Hub
Webサービスワークフローのプロパティ 112
Web Service Provider Reader
設定 115
Web Service Provider Writer
設定 116
Web Services Hub
説明 5
Web Services Provider
アーキテクチャ 6
説明 5
Webサービス
データ統合 5
バッチ 5
マッピングのタイプ 100
メタデータ 5
リアルタイム 5
Webサービスインスタンス
開始 114
シャットダウン 114
Webサービスのセキュリティ
OASIS標準 77
ユーザークレデンシャル 77
ユーザー名トークン 77
Webサービスのソース
メッセージポートの設定 87
Webサービスのターゲット
メッセージポートの設定 87
Webサービスワークフロー
作成 111
設定 112
138
トラブルシューティング 119
Webサービスワークフローのプロパティ
1ハブあたりの最大実行数 112
Web Service Hub 112
サービスタイムしきい値 112
サービス名 112
実行可能 112
タイムアウト 112
ビジブル 112
保護 112
Writer
Webサービスセッションの設定 116
あアタッチメント
SOAPメッセージ 110
WSDL 108
XMLのマッピング 107
フラットファイルのマッピング 107
い一方向マッピング
説明 100
こコンパイル
バッチWebサービスのサンプルプログラム 124
さ作成された要素
ユーザー名トークンのセキュリティ 80
サービスタイムしきい値
Webサービスワークフローのプロパティ 112
サービス名
Webサービスワークフローのプロパティ 112
サンプルプログラム
バッチWebサービス 123
リアルタイムWebサービス 131
し実行
バッチWebサービスのサンプルプログラム 124
実行可能
Webサービスワークフローのプロパティ 112
せ設定
Web Service Provider Reader 115
Web Service Provider Writer 116
Webサービスワークフロー 112
たダイジェストパスワード
Webサービスのセキュリティ 78, 80
example 81
タイムアウト
Webサービスワークフローのプロパティ 112
段階的マッピング
説明 102
と同時実行
Webサービスインスタンスの開始 114
Webサービスインスタンスのシャットダウン 114
なナンス
ユーザー名トークンのセキュリティ 80
は廃止された演算
deinitializeDIServerConnection 27
getNextLogSegment 28
initializeDIServerConnection 37
resumeWorkflow 41
startSessionLogFetch 44
startWorkflowLogFetch 51
パスワード
ダイジェスト 78, 80
ハッシュ 78, 79
プレーンテキスト 78
ハッシュパスワード
Webサービスのセキュリティ 78, 79
example 79
バッチWebサービス
サンプルプログラム 123
サンプルプログラムのコンパイル 124
サンプルプログラムの実行 124
説明 5
パーティション
Webサービスセッション 119
ひビジブル
Webサービスワークフローのプロパティ 112
ふプレーンテキストパスワード
Webサービスのセキュリティ 78
索引 139
ほ保護
Webサービスワークフローのプロパティ 112
まマッピング
Webサービスマッピングのタイプ 100
WSDL(アタッチメント付き) 108
XML(アタッチメント付き) 107
一方向 100
ステージング 102
フラットまたはXML(アタッチメント付き) 107
要求/応答 100
めメッセージポート
設定 87
ゆユーザークレデンシャル
Webサービスのセキュリティ 77
ユーザー名トークン
Webサービスのセキュリティ 77
作成された要素 80
ナンス 80
よ要求/応答マッピング
SQLトランスフォーメーションの使用 101
説明 100
りリアルタイムWebサービス
サンプルプログラム 131
説明 5
リーダー
Webサービスセッションの設定 115
わワークフロー
Webサービス 111
140 索引