Cosminexus V9 BPM/ESB基盤 サービスプラットフォーム 解説
HTTPアダプタでは,ビジネスプロセスから複数のサービスを呼び出す場合に,サービス呼び出し間のセッション維持(Cookie情報の引き継ぎ)ができます。
HTTPアダプタを利用したCookie情報の引き継ぎの概要を次の図に示します。
図2-120 HTTPアダプタを利用したCookie情報の引き継ぎ
HTTPアダプタのCookie情報の引き継ぎについて,上図を例に説明します。なお,ここで説明する電文の例では,名前空間接頭辞を省略しています。
2つのサービス間でCookie情報を引き継ぐ場合,Cookie情報を一括して引き継ぐか,Cookie名ごとに個別に引き継ぐかを選択できます。どちらの方法を選択するかによって,使用するヘッダ変数用の電文フォーマットが異なります。
どちらの場合も,サービス部品Aからサービス部品BにCookie情報を引き継ぐには,サービス部品Aの応答電文に含まれるCookie情報(Cookie要素)を,サービス部品Bの要求電文にマッピングしてHTTPアダプタを呼び出します。
それぞれの場合の引き継ぎ方法について説明します。
電文フォーマットでは,次のようにCookie情報がすべてany型で表現されます。なお,Cookie要素を表す要素名は「Cookie_types」としています。
<xsd:complexType name="http-header-Cookies-type"> <xsd:sequence> <xsd:any namespace="##any" processContents="skip" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> </xsd:complexType> |
any型の要素部分同士をサービス部品Aの応答電文からサービス部品Bの要求電文にマッピングすることで,Cookie情報を一括して引き継ぐことができます。
電文フォーマットでは,次のようにCookie情報の各属性がXML要素の属性に分割されます。なお,Cookie要素を表す要素名は「Cookie_types」としています。
<xsd:complexType name="cookie-type"> <xsd:simpleContent> <xsd:extension base="xsd:string"> <xsd:attribute name="name" type="xsd:string" use="required"></xsd:attribute> <xsd:attribute name="host" type="xsd:string" use="required"></xsd:attribute> <xsd:attribute name="path" type="xsd:string" use="optional"></xsd:attribute> </xsd:extension> </xsd:simpleContent> </xsd:complexType> |
サービス部品Aの応答電文からサービス部品Bの要求電文へのマッピング時に,Cookie名などを参照して個別に引き継ぐことができます。
HTTPレスポンスヘッダから応答電文への変換,および要求電文からHTTPリクエストヘッダへの変換処理について説明します。
Set-Cookie: AAA=1234; expires=Sat, 27-Oct -2012 10:00:00 GMT; path=/ Set-Cookie: BBB=5678; expires=Sat, 27-Oct -2012 10:00:00 GMT; |
<Cookies> <Cookie name="AAA" path="/" host="hostname:80※">AAA=1234; expires=Sat, 27-Aug-2011 10:00:00 GMT; path=/</Cookie> <Cookie name="BBB" host="hostname:80※">BBB=5678; expires=Sat, 27-Aug-2011 10:00:00 GMT</Cookie> </Cookies> |
<Cookies> <Cookie name="AAA" path="/" host="hostname:80">AAA=1234; expires=Sat, 27-Oct-2012 10:00:00 GMT; path=/</Cookie> <Cookie name="BBB" host="hostname:80">BBB=5678; expires=Sat, 27-Oct-2012 10:00:00 GMT</Cookie> </Cookies> |
Cookie: AAA=1234; BBB=5678 |
All Rights Reserved. Copyright (C) 2012, 2019, Hitachi, Ltd.