|
|
WebOTX Manual V10.3 (第4版) 目次を表示 |

図2.9.7-1

図2.9.7.1-1
|
項目 |
説明 |
|---|---|
|
/META-INF/jbi.xml |
ServiceUnitの配備記述子 |
|
endpoints.xml |
JDBC BC のArtifactファイル |
|
*.wsdl *.xsd |
オペレーションやメッセージの定義を含むWSDL文書ファイルです。ファイルシステムのインポート操作で、ServiceUnitに追加してください。WSDL文書は、任意の名前でServiceUnit毎に一つだけ含めてください。WSDLがimportするスキーマファイルも同じ位置に格納します。 |
|
*.su |
ServiceUnitの管理ファイル(編集不可) |
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="select"
targetNamespace="http://www.nec.co.jp/jbi/sample1.wsdl"
⇒サービス名、インタフェース名、オペレーション名の名前空間URIに対応
xmlns:tns="http://www.nec.co.jp/jbi/sample1.wsdl"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns1="http://com.nec.webotx">
<types>
<schema targetNamespace="http://com.nec.webotx"
xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://com.nec.webotx">
<complexType name="SimpleRecordBean">
⇒1レコードの型定義
<sequence>
<element name="CUSTOMER_ID" type="string"/>
<element name="CITY" type="string"/>
<element name="NAME" type="string"/>
<element name="EMAIL" type="string"/>
<element name="PHONE" type="decimal"/>
⇒各要素はオペレーション定義のパラメタに対応
</sequence>
</complexType>
<complexType name="SimpleRecords">
⇒複数レコードの型定義
<sequence>
<element name="value" type="tns:SimpleRecordBean" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
</complexType>
</schema>
</types>
<message name="consumerSelect_IN">
<part name="record" type="tns1:SimpleRecords"/></message>
<message name="consumerSelect_OUT"></message>
<message name="providerInsert">
<part name="record" type="tns1:SimpleRecords"/></message>
<message name="providerInsertResponse"></message>
<portType name="sampleConsumerPort">
⇒インタフェース名のローカル名に対応(コンシューマ)
<operation name="moveRecords" parameterOrder="recoeds">
<input message="tns:consumerSelect_IN"/>
<output message="tns:consumerSelect_OUT"/></operation>
</portType>
<portType name="sampleProviderPort">
⇒インタフェース名のローカル名に対応(プロバイダ)
<operation name="moveRecords" parameterOrder="recoeds">
<input message="tns:providerInsert"/>
<output message="tns:providerInsertResponse"/></operation>
</portType>
<binding name="sampleConsumerBinding" type="tns:sampleConsumerPort">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"/>
<operation name="moveRecords">
⇒オペレーション名のローカル名に対応(コンシューマ)
<soap:operation soapAction=""/>
<input>
<soap:body use="literal" namespace="http://www.nec.co.jp/jbi/sample.wsdl"/></input>
<output>
<soap:body use="literal" namespace="http://www.nec.co.jp/jbi/sample.wsdl"/></output></operation>
</binding>
<binding name="sampleProviderBinding" type="tns:sampleProviderPort">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"/>
<operation name="moveRecords">
⇒オペレーション名のローカル名に対応(プロバイダ)
<soap:operation soapAction=""/>
<input>
<soap:body use="literal" namespace="http://www.nec.co.jp/jbi/sample.wsdl"/></input>
<output>
<soap:body use="literal" namespace="http://www.nec.co.jp/jbi/sample.wsdl"/></output></operation>
</binding>
<service name="sampleService">
⇒サービスのローカル名に対応
<port name="sampleConsumer" binding="tns:sampleConsumerBinding">
<soap:address location="http://localhost/default/sample/consumer"/></port>
<port name="sampleProvider" binding="tns:sampleProviderBinding">
<soap:address location="http://localhost/default/sample/provider"/></port></service>
</definitions>

図2.9.7.2-1
Memo
エンドポイントを追加する方法については、
2.7.1. エンドポイントの追加 をご覧下さい。
|
項目 |
説明 |
値 |
|||
|---|---|---|---|---|---|
| エンドポイント一覧 | |||||
|
JDBC BCのエンドポイントの一覧を表示します。 |
|||||
| 基本設定 | |||||
|
エンドポイントロール |
JDBC BCのエンドポイントロールを指定します。 |
“プロバイダ”、“コンシューマ”から選択[必須] |
|||
|
サービス名 |
エンドポイントロールがプロバイダの場合、JDBC
BCが提供するサービス名と名前空間を指定します。 エンドポイントロールがコンシューマの場合、呼び出し先のサービス名と名前空間を指定します。 |
QName(名前空間、ローカル名)[必須] |
|||
|
インタフェース名 |
エンドポイントロールがプロバイダの場合、JDBC
BCが提供するインタフェース名と名前空間を指定します。 エンドポイントロールがコンシューマの場合、呼び出し先のインタフェース名と名前空間を指定します。 |
QName(名前空間、ローカル名)[必須] |
|||
|
ESBインスタンス名 |
分散ESB機能を使用する場合にのみESBインスタンス名を指定します。
その他の場合は空欄にします。 |
文字(A-Z、a-z)、数字(0-9)、ハイフン(-)、点(.)、下線(_)の組み合わせ [任意] |
|||
| オペレーション一覧 | |||||
|
オペレーション名の一覧を表示します。 |
|||||
| メッセージエクスチェンジハンドラ | |||||
|
メッセージエクスチェンジハンドラを指定します。 |
|||||
| 共通設定 | |||||
|
共通項目(セキュリティ認証、メッセージ送信優先度、エラーリトライ)を設定します。 |
|||||
| オプション一覧 | |||||
|
オプションを設定します。 |
|||||
|
項目 |
説明 |
値 |
|||
|---|---|---|---|---|---|
| JDBC BCの設定 | |||||
|
JDBCデータソース名 (JNDIサーバへの登録名) |
JDBCデータソースのJNDI名を指定します。 例) jdbc/Oracle |
文字列(JNDI名)[必須] |
|||
|
JNDIサーバのアドレス (corbaname URL) |
接続先の名前サーバを変更する場合に、接続するためのアドレス(corbaname
URL)を指定します。 例) corbaname://hostname1:2809 |
文字列(corbaname URL) [任意] |
|||
|
データベースのユーザ名 |
データベース接続ユーザを指定します。 |
【マルチバイト文字列指定可】 文字列[任意] |
|||
|
データベースのパスワード |
データベース接続パスワードを指定します。 「********」のようなアスタリスクになって文字が隠されるようになっています。 |
【マルチバイト文字列指定可】 文字列[任意] |
|||

図2.9.7.2-2

図2.9.7.3-1
|
項目 |
説明 |
値 |
|||
|---|---|---|---|---|---|
|
オペレーション名 |
エンドポイントロールがプロバイダの場合、JDBC
BCが提供するオペレーション名と名前空間を指定します。 エンドポイントロールがコンシューマの場合呼び出し先のオペレーション名と名前空間を指定します。 |
QName(名前空間、ローカル名)[必須] |
|||
|
メッセージ交換方式 |
メッセージ交換方式を選択します。 |
“in-only”、“in-out”、“robust-in-only”から選択[必須] デフォルトは“in-only” |
|||
| スキーマファイル | インプット/アウトプット |
対象SUフォルダのMETA-INFフォルダのschemaフォルダ配下にあるスキーマファイルの相対パスを指定します。 指定したスキーマファイルは、XSLT SE による変換の定義の際のインプット/アウトプットスキーマとして利用することができます。 [メッセージ交換方式を指定した場合のみ設定可能] |
|||
|
参照(B) (インプット/アウトプット) |
スキーマファイルの選択ダイアログを開きます。 スキーマファイルを選択すると、その相対パスがインプットおよびアウトプット のファイルのテキストボックスに表示されます。 利用方法については、[2.7.7. スキーマファイルの設定] を参照して下さい。 |
||||
|
クエリのレコード数上限値 |
select実行時のレコードの取得上限値を指定します。 指定しない場合は、抽出したすべてのレコードを対象とします。 |
数値(0以上)[任意] |
|||
|
ロール関連の設定 |
エンドポイントロールに対応するオペレーション関連情報を設定します。 |
“プロバイダ関連の設定を行う”、”コンシューマ関連の設定を行う”から選択[必須] |
|||

図2.9.7.3-2
|
項目 |
説明 |
値 |
|||
|---|---|---|---|---|---|
|
データ有無の監視間隔 |
Inboundにおける監視対象テーブルの監視間隔(ミリ秒)を指定します。 |
数値(0以上)[任意] |
|||
|
トランザクション |
トランザクション制御を指定します。 |
“no-transaction”、”xa-transaction”から選択[必須] デフォルトは“no-transaction” |
|||
|
トランザクション開始位置 |
Inboundにおいて、トランザクション制御が指定されている場合の、制御の開始位置を指定します。 |
“クエリ実行前”、”クエリ実行後”から選択 デフォルトは“クエリ実行前” |
|||
|
テープル名 |
Inboundにおける監視対象テーブルの名称を指定します。 |
【マルチバイト文字列指定可】 文字列(テーブル名) [必須] |
|||
|
SQL命令 |
実行するSQL命令を指定します。 |
【マルチバイト文字列指定可】 文字列(SQL命令) [任意] |
|||
|
レコード更新方法 |
Inboundにおいて、抽出したレコードの送信完了後の更新方法を指定します。 |
“Delete”、”MarkColumn”、”MoveRow”、”DoNothing”から選択[必須] デフォルトは“Delete” |
|||
|
プライマリキー名 |
Inboundにおける監視対象テーブルのプライマリキーの名称を指定します。 複合プライマリキーを指定する場合、カンマで区切って記述します。 |
【マルチバイト文字列指定可】 文字列(プライマリキー名) [任意] |
|||
|
更新対象項目名 |
Inboundにおいて、抽出したレコードの送信完了後の更新方法にMarkColumnを指定した場合に、更新する項目の名称を指定します。 |
【マルチバイト文字列指定可】 文字列(更新する項目の名称) [“MarkColumn”を選択した場合、必須] |
|||
|
更新値 |
Inboundにおいて、抽出したレコードの送信完了後の更新方法にMarkColumnを指定した場合に、更新する値を指定します。 |
【マルチバイト文字列指定可】 文字列(更新する値) [“MarkColumn”を選択した場合、必須] |
|||
|
レコード移動先テーブル名 |
Inboundにおいて、抽出したレコードの送信完了後の更新方法にMoveRowを指定した場合に、移動先となるテーブルの名称を指定します。 |
【マルチバイト文字列指定可】 文字列(テーブル名) [“MoveRow”を選択した場合、必須] |
|||

図2.9.7.3-3
|
項目 |
説明 |
値 |
|||
|---|---|---|---|---|---|
|
クエリ実行タイムアウト値 |
クエリの実行を待ち合わせる秒数を指定します。 |
数値(0以上)[任意] |
|||
|
特殊文字のチェックを行う |
Outboundにおいて、SQLインジェクションを防ぐための特殊文字チェックを行うかどうかを指定します。 |
true/false[必須] デフォルトはtrue |
|||
|
SQLの実行結果(行数)を 戻り値として返却する |
Outboundにおいて、In-Outを指定されている場合に、SQLの実行結果の行数を戻り値として返却する場合に、trueを指定します。 |
true/false[必須] デフォルトはfalse |
|||
|
SQL命令 |
実行するSQL命令を指定します。
コンシューマからのメッセージの内容をSQLで利用するには、SQLをPreparedStatementの書式で記述し、埋め込む情報を「パラメータ」で定義します。 例) insert into SAMPLE_OUT_TABLE(CUSTOMER_ID,CITY,NAME,EMAIL,PHONE) values (?,?,?,?,?) この場合、「パラメータ」に次のような定義を行います。 CUSTOMER_ID, 1, INTEGER CITY, 2, VARCHAR NAME, 3, VARCHAR EMAIL, 4, VARCHAR PHONE, 5, NUMERIC |
文字列(SQL命令)[必須] |
|||
|
パラメータ |
実行するSQLに埋め込むパラメータを設定します。 |
||||

図2.9.7.3-4
|
項目 |
説明 |
値 |
|||
|---|---|---|---|---|---|
|
パラメータ名 |
実行するSQLに埋め込むパラメータの名称を指定します。 |
【マルチバイト文字列指定可】 文字列[必須] |
|||
|
パラメータの順番 |
実行するSQLに埋め込むパラメータの順番を指定します。 |
数値[必須] |
|||
|
パラメータの種別 |
実行するSQLに埋め込むパラメータの種別を指定します。java.sql.Typesに定義されている名称を利用します。 |
“INTEGER”、”VARCHAR”、”BIGINT”、”FLOAT”、 ”DOUBLE”、”NUMERIC”、 ”BINARY”、”BIT”、 ”BOOLEAN”、”TINYINT”、 “SMALLINT”、”REAL”、 “DECIMAL”、”CHAR”、 “LONGVARCHAR”、 “VARBINARY”、 “LONGVARBINARY”、 ”DATE”、“TIME”、 ”TIMESTAMP”、“BLOB”、”CLOB”から選択 [必須] |
|||

図2.9.7.4-1
|
項目 |
説明 |
値 |
|||
|---|---|---|---|---|---|
|
エンドポイント名のURL表記 |
エンドポイントをURL表記した値。リソース管理に用いられます。 |
http://webotxesb/<BC名>/エンドポイント名 省略された場合、ESB内部で自動生成されます。 |
|||
|
エンドポイントの認証の設定 |
空の場合はエンドポイントの認証を行いません。 |
||||
|
エンドポイントのID |
認証に利用するIDを設定します。 |
文字列 |
|||
|
パスワード |
認証に利用するパスワードを設定します。パスワードは暗号化とします。 |
文字列 |
|||
|
ログインモジュールの設定を行う |
ログインモジュールの設定を行います。 |
文字列(任意)。デフォルト値:ESBSECUREMASTERRealm |
|||
|
エンドポイントの認可の設定 |
空の場合はエンドポイントの認可を行いません。 |
||||
|
認可に用いる認証情報 |
認可に利用する認証情報を設定します。 |
コンシューマの場合
|
|||
|
Principalの識別子 |
Principalの識別子を設定します。 |
文字列(任意) | |||
|
認証済情報を伝播する |
認証済情報転播設定、空の場合、伝播は行いません。 |
||||
|
MEP |
動作の説明 |
|---|---|
|
In-Only |
SQL命令実行においてSQL発行完了時点で結果(done)を返却します。 |
|
Robust In-Only |
InsertやdeleteなどのSQL命令でその結果に応じてinメッセージに対する結果(error/done)を返却します。 SQL命令発行で例外を受けた場合にはerrorを返却します。 |
|
In-Out |
SQLを発行した結果(取得レコード、更新レコード件数)に応じてその結果を含めたoutメッセージ、またはinメッセージに対する処理結果(error)を返却します。 |
|
In Optional-Out |
( JDBC BC では対応しません) |
|
MEP |
動作の説明 |
|---|---|
|
In-Only |
inメッセージに対する結果(done)を受け取り、送信対象となったレコードを更新します。 またトランザクション制御するように指定されている場合は、DB検索時にSQL命令発行前または発行後にトランザクションを開始し、レコード更新後にcommitを実行します。 |
|
Robust In-Only |
inメッセージに対する結果(fault/done)を受け取り、結果がdoneの場合に送信対象となったレコードを更新します。 またトランザクション制御するように指定されている場合は、DB検索時にSQL命令発行前または発行後にトランザクションを開始し、レコード更新後にcommitを実行します。 |
|
In-Out |
outメッセージまたはinメッセージに対する結果(fault)を受け取り、送信対象となったレコードを更新します。 受信したoutメッセージについては破棄します。 またトランザクション制御するように指定されている場合は、DB検索時にSQL命令発行前または発行後にトランザクションを開始し、レコード更新後にcommitを実行します。 |
|
In Optional-Out |
(JDBC BCでは対応しません) |

図2.9.7.10-1

図2.9.7.10-2

図2.9.7.10-3

図2.9.7.10-4
WSDL1.1で定義されている範囲内で、java.sql.Typesにおける次のタイプの受け渡しをサポートしています。次にその一覧を示します。また、CLOB、BLOBについてはOracleのみがサポート対象です。
JDBC BC でサポートするJavaのクラスとXMLメッセージの型の一覧|
java.sql.Typesの定義 |
javaのクラス |
XMLメッセージにおける型 |
|
|---|---|---|---|
|
literalの場合 |
encodedの場合 |
||
|
BIT |
java.lang.Boolean |
xsd:boolean |
←同じです。または、soapenc:boolean |
|
BOOLEAN |
java.lang.Boolean |
xsd:boolean |
←同じです。または、soapenc:boolean |
|
TINYINT |
java.lang.Byte |
xsd:byte |
←同じです。または、soapenc:byte |
|
SMALLINT |
java.lang.Short |
xsd:short |
←同じです。または、soapenc:short |
|
INTEGER |
java.lang.Integer |
xsd:int |
←同じです。または、soapenc:int |
|
BIGINT |
java.lang.Long |
xsd:long |
←同じです。または、soapenc:long |
|
REAL |
java.lang.Float |
xsd:float |
←同じです。または、soapenc:float |
|
FLOAT |
java.lang.Double |
xsd:double |
←同じです。または、soapenc:double |
|
DOUBLE |
java.lang.Double |
||
|
CHAR |
java.lang.String |
xsd:string |
←同じです。 |
|
VARCHAR |
java.lang.String |
||
|
LONGVARCHAR |
java.lang.String |
||
|
CLOB |
java.sql.Clob |
||
|
NUMERIC |
java.math.BigDecimal |
xsd:integer |
←同じです。 |
|
xsd:decimal |
←同じです。 |
||
|
DECIMAL |
java.math.BigDecimal |
xsd:decimal |
←同じです。 |
|
BINARY |
byte[] |
xsd:base64Binary |
←同じです。 |
|
VARBINARY |
byte[] |
||
|
LONGVARBINARY |
byte[] |
||
|
BLOB |
java.sql.Blob |
||
|
DATE |
java.sql.Date |
xsd:date |
←同じです。 |
|
TIME |
java.sql.Time |
xsd:time |
←同じです。 |
|
TIMESTAMP |
java.sql.Timestamp |
xsd:dateTime |
←同じです。 |
|
java.sql.Typesの定義 |
Oracleのフィールド定義 |
|---|---|
|
BIT |
NUMBER |
|
BOOLEAN |
NUMBER |
|
TINYINT |
NUMBER |
|
SMALLINT |
NUMBER |
|
INTEGER |
NUMBER |
|
BIGINT |
NUMBER |
|
REAL |
BINARY_FLOAT |
|
FLOAT |
BINARY_DOUBLE |
|
DOUBLE |
BINARY_DOUBLE |
|
CHAR |
CHAR |
|
VARCHAR |
VARCHAR2 |
|
LONGVARCHAR |
LONG |
|
CLOB |
CLOB |
|
NUMERIC |
NUMBER |
|
DECIMAL |
NUMBER |
|
BINARY |
RAW |
|
VARBINARY |
RAW |
|
LONGVARBINARY |
LONG |
|
BLOB |
BLOB |
|
DATE |
DATE |
|
TIME |
DATE |
|
TIMESTAMP |
TIMESTAMP |
|
NUMERIC |
NUMBER |
// SQL select * from SAMPLE_IN_TABLE; // 取得レコード CUSTOMER_ID="11" #primaryKey CITY="Tokyo" NAME="suzuki taro" EMAIL="suzuki_taro@sample.co.jp" PHONE="11223344556"

<moveRecords xmlns="http://www.nec.co.jp/jbi/sample.wsdl">
<record xmlns="">
<value>
<CUSTOMER_ID>11</CUSTOMER_ID>
<CITY>Tokyo</CITY>
<NAME>suzuki taro</NAME>
<EMAIL>suzuki_taro@sample.co.jp</EMAIL>
<PHONE>11223344556</PHONE>
</value>
</record>
</moveRecords>
デノーマライズ
(ノーマライズメッセージからSQLへの変換)では、エンドポイントに定義されたパラメータ情報に従って、ノーマライズメッセージからデータを取り出し、SQLを構築します。
<moveRecords xmlns="http://www.nec.co.jp/jbi/sample.wsdl">
<record xmlns="">
<value>
<CUSTOMER_ID>11</CUSTOMER_ID>
<CITY>Tokyo</CITY>
<NAME>suzuki taro</NAME>
<EMAIL>suzuki_taro@sample.co.jp</EMAIL>
<PHONE>11223344556</PHONE>
</value>
</record>
</moveRecords>

insert into SAMPLE_OUT_TABLE(CUSTOMER_ID,CITY,NAME,EMAIL,PHONE)
values ('11','Tokyo','suzuki taro','suzuki_taro@sample.co.jp','11223344556');
注:
上記はインデントを整形しており、実際とは異なります。
図2.9.7.12-1

図2.9.7.12-2

図2.9.7.12-3

図2.9.7.12-4

図2.9.7.12-5

図2.9.7.12-6

図2.9.7.12-7

図2.9.7.13-1

図2.9.7.13-2

図2.9.7.13-3

図2.9.7.13-4

図2.9.7.13-5