ヘッダーをスキップ
Oracle Fusion Middleware Oracle B2Bユーザーズ・ガイド
11g リリース1(11.1.1)
B61381-01
  ドキュメント・ライブラリへ
ライブラリ
製品リストへ
製品
目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

21 エンキューおよびデキュー用のユーティリティ

Oracle B2Bには、ホスト(バックエンド)アプリケーションに接続する前に、インストールと構成をテストして検証するためのユーティリティが用意されています。ユーティリティを使用して、デフォルトのAQキュー・インタフェースまたはJMSキュー・インタフェースを介してOracle B2Bとの間でビジネス・メッセージを送受信する方法を習得できます。他のAQ内部デリバリ・チャネルも同じ方法で処理できます。 これらのユーティリティの実装方法の例は、B2Bのサンプルを参照してください(サンプルの詳細は、第1.7項「Oracle B2Bのサンプルとクックブック」を参照してください)。

項目は次のとおりです。

21.1 AQエンキューおよびデキューのユーティリティ

AQキューへのエンキューおよびAQキューからのデキューは、Javaを使用して実行できます。IPEnqueueおよびIPDequeueは、Oracle B2B環境で実行する必要があります。

21.1.1 AQエンキュー

表21-1に、Java AQエンキュー・ユーティリティのプロパティを示します。

表21-1 IPEnqueueのプロパティ

名前 説明

queue

アウトバウンドAQキューの名前。指定しない場合、Javaエンキュー・ユーティリティはデフォルトのアウトバウンド・キューIP_OUT_QUEUEを使用します。

replyToMsgID

送信するメッセージの返信先となるメッセージID。通常はレスポンス・メッセージ・タイプに使用します。

from

メッセージを送信する取引パートナ。

to

メッセージを受信する取引パートナ。

doctypeName

メッセージのドキュメント・タイプ名。

doctypeRevision

メッセージのドキュメント・プロトコル・リビジョン。

payload

ペイロード・ファイル名。

attachment

添付ファイル名。

url

データベースURLの書式は、jdbc:oracle:thin:@host:port:sidです。

user

データベース・ユーザー。

password

データベース・パスワード。

eventName

アクション名。

msgid

メッセージID(オプション)。 B2Bでは、メッセージIDがエンキューの一部として提供されない場合、独自のメッセージIDが生成されます。

msgType

オプションのメッセージ・タイプを指定します。

  • リクエスト = 1(デフォルト)

  • レスポンス = 2

  • 機能確認 = 9


例: ipenqueue.properties

queue           =
url             = jdbc:oracle:thin:@host:1521:sid
user             = user1
password         = password
replyToMsgID    =
from            = Acme
to              = GlobalChips
doctypeName     = 850
doctypeRevision = 4010
payload         = Acme_850.xml
attachment      =

注意:

Windows ja_JPロケールのインスタンスでは、VARCHAR/文字列の値がキューに正しくエンキューされません。 INTおよびCLOBの値は正しくエンキューされます。 このため、IPEnqueueユーティリティを使用してファイルをエンキューする場合は、fromフィールドやtoフィールドなどの一部のフィールドがNULLになります。 回避策として、ja_JPロケールでは、oracle.tip.b2b.data.IPEnqueueの使用時はクラスパスにorai18n.jarを追加してください。

21.1.2 AQデキュー

メッセージのデキューには、IPDequeueユーティリティを使用します。

表21-2に、Java AQデキュー・ユーティリティのプロパティを示します。

表21-2 IPDequeueのプロパティ

名前 説明

queue

インバウンドAQキューの名前。指定しない場合、Javaデキュー・ユーティリティはデフォルトのインバウンド・キューIP_IN_QUEUEを使用します。

count

デキューするメッセージの数。指定しない場合、デキューされるのは1つのメッセージのみです。

output

出力ファイル名。

url

データベースURLの書式は、jdbc:oracle:thin:@host:port:sidです。

user

データベース・ユーザー。

password

データベース・パスワード。


例: ipdequeue.properties:

queue            =
count            = 1
output           = t1.trc
url              = jdbc:oracle:thin:@host:1521:sid
user             = user1
password         = password

21.2 JMSエンキューおよびデキューのユーティリティ

JMS接続先(キューまたはトピック)へのエンキューおよびJMS接続先からのデキューは、ユーティリティを使用して実行できます。 ユーザー名とパスワードを指定しない場合は、接続先が分散されていると、クラスタ化された環境の場合も含めて、ローカルJNDIが使用されます。 Oracle B2Bでは、javax.jms.ObjectMessageはサポートされていません。

21.2.1 JMSエンキュー

JMS接続先(キューまたはトピック)にメッセージを送信するには、JMSエンキュー・ユーティリティを使用します。 このユーティリティには、コマンドライン引数としてプロパティ・ファイルを提供する必要があります。送信する詳細はこのファイルから読み取られます。

表21-3に、このファイルに構成可能なプロパティを示します。

表21-3 JMSエンキューのプロパティ

名前 説明

destination

メッセージ送信先のキューまたはトピックのJNDI名。

cf

使用するコネクション・ファクトリのJNDI名。

factory

ファクトリのプロバイダ・クラス。

isTopic

トピックのインジケータ(オプション)。

url

JNDI URLの書式は、url=t3://host_name:port_number/です。

user

アプリケーション・サーバー管理者のユーザーID。

password

アプリケーション・サーバー管理者のパスワード。

from

送信元のパーティ。

to

送信先のパーティ。

eventName

アクション名。

doctypeName

ドキュメント・タイプ名。

doctypeRevision

ドキュメント・タイプ・リビジョン。

payload

ペイロード・ファイルのパス。

attachment

添付ファイルのパス。

msgid

メッセージID(オプション)。 B2Bでは、メッセージIDがエンキューの一部として提供されない場合、独自のメッセージIDが生成されます。

replyToMsgID

返信先メッセージ(オプション)。

msgType

メッセージ・タイプ。デフォルトはRequestです(オプション)。


例21-1に、サンプルのjms_enqueue.propertiesファイルを示します。

例21-1 サンプルのjms_enqueue.propertiesファイル

####### Destination Details        #######
destination = jms/b2b/B2B_IN_QUEUE
cf = jms/b2b/B2BQueueConnectionFactory

####### Server and Factory Details #######
factory=weblogic.jndi.WLInitialContextFactory
url=t3://host_name:port_number/
#user=<uncomment and provide you username>
#password=<uncomment and proivde you password if required>

####### Payload Details #######
from=Acme
to=GlobalChips
#eventName=SampleEvent
doctypeName=Custom
doctypeRevision=1.0
payload=/scratch/work/GlobalChips_1234.dat

これらのユーティリティの実行方法は、サンプルのドキュメントを参照してください。

21.2.2 エンキュー: JMS JCAアダプタまたはカスタム・ユーティリティの使用

AQおよびJMSのユーティリティで使用されるプロパティは、メッセージが接続先に送信される前に内部的に変換されます。 表21-4のプロパティが、B2Bがリスニングする接続先に配信されたjavax.jms.Messageの一部として設定されていることを確認してください。

表21-4 カスタム・ユーティリティ用にAQ/JMSプロパティを変換する方法

AQ/JMSユーティリティ 変換後の値: カスタム・ユーティリティ用 JMSメッセージ

from

FROM_PARTY

string型のメッセージ・プロパティとして送信されます。

to

TO_PARTY

string型のメッセージ・プロパティとして送信されます。

doctypeName

DOCTYPE_NAME

string型のメッセージ・プロパティとして送信されます。

doctypeRevision

DOCTYPE_REVISION

string型のメッセージ・プロパティとして送信されます。

eventName

ACTION_NAME

string型のメッセージ・プロパティとして送信されます。

msgid

MSG_ID

string型のメッセージ・プロパティとして送信されます。

replyToMsgID

INREPLYTO_MSG_ID

string型のメッセージ・プロパティとして送信されます。

msgType

MSG_TYPE

string型のメッセージ・プロパティとして送信されます。

attachment

ATTACHMENT

string型のメッセージ・プロパティとして送信されます。

payload

-

メッセージ本文として送信されます。


21.2.3 JMSデキュー

このユーティリティは、接続先からメッセージを受信します。 countプロパティを指定すると、接続先から取得するメッセージの数を制御できます。 取得したメッセージは、現行パス(ユーティリティの実行場所)のファイルJMSDequeue.txtに書き込まれます。

これらのユーティリティの実行方法は、サンプルのドキュメントを参照してください。

例21-2に、サンプルのJMSデキュー・プロパティ・ファイルを示します。

例21-2 サンプルのjms_dequeue.propertiesファイル

####### Destination Details#######
destination = jms/b2b/B2B_IN_QUEUE
cf = jms/b2b/B2BQueueConnectionFactory
count=1

####### Server and Factory Details #######
factory=weblogic.jndi.WLInitialContextFactory
url=t3://host_name:port_number/
#user=<uncomment and provide your username>
#password=<uncomment and provide your password if required>

21.3 attachmentsDescriptor.xsdの使用

添付の送信には、attachmentsDescriptor.xsdファイルを使用します。

例21-3に、サンプルの添付XMLファイルを示します。

例21-3 サンプルの添付XMLファイル

<?xml version="1.0" encoding="ISO-8859-1"?>
<!--Sample XML file generated by XMLSpy v2005 sp1 U  (http://www.xmlspy.com)-->
 <Attachments xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:noNamespaceSchemaLocation="AttachmentsDescriptor.xsd" version="1.0" boundary="boundary---">
        <AttachmentPart>
                <Location>file:///home/user_dir/data.xml</Location>
                <Content-Type>
                        <Top-Level-Type>text</Top-Level-Type>
                        <Sub-Type>plain</Sub-Type>
                        <Parameter Value="charset" Name="us-ascii"/>
                </Content-Type>
                <!--Content-Transfer-Encoding>BASE64</Content-Transfer-Encoding-->
                <Content-ID/>
                <Content-Description/>
        </AttachmentPart>
</Attachments>