ヘッダーをスキップ
Oracle® Fusion Middleware Oracle B2Bユーザーズ・ガイド
11g リリース1 (11.1.1.7)
B61381-06
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

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

この章では、デフォルトのAQキュー・インタフェースまたはJMSキュー・インタフェースを介してOracle B2Bとの間でビジネス・メッセージを送受信するためのOracle B2Bユーティリティについて説明します。

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

この章には次のトピックが含まれます:

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

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

24.1.1 AQエンキュー

表24-1に、Java AQエンキュー・ユーティリティ(oracle.tip.b2b.data.IPEnqueue)のプロパティを示します。

表24-1 IPEnqueueプロパティ

名前 説明

queue

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

replyToMsgID

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

from

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

to

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

doctypeName

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

doctypeRevision

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

payload

ペイロード・ファイル名

attachment_name

添付ファイル名。このプロパティを使用して、電子メールの件名とは異なる名前を添付ファイルに割り当てます。

AQによる電子メールでのカスタム・アウトバウンド・メッセージの場合は、次のようにします。

actionName=ATTACHMENT_NAME:Sample.txt

url

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

user

データベース・ユーザー

password

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

eventName

アクション名

msgID

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

msgType

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

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

  • レスポンス = 2

  • 機能確認 = 9

dateFormat

電子メールのデリバリ・チャネルで使用されている日付書式を変換するために使用されます

dynamicemail

toパーティの電子メール・アドレスをactionNameの一部として提供します。例:

actionName=DYNAMICEMAIL:email_id

dynamic_from_email

fromパーティの電子メール・アドレスをactionNameの一部として提供します。例:

actionName=DYNAMIC_FROM_EMAIL:email_id

例: 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をクラスパスに追加します。


24.1.2 AQデキュー

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

表24-2に、Java AQデキュー・ユーティリティ(oracle.tip.b2b.data.IPDequeue)のプロパティを示します。

表24-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

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

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

24.2.1 JMSエンキュー

JMS接続先(キューまたはトピック)にメッセージを送信するには、JMSエンキュー・ユーティリティoracle.tip.b2b.data.JMSEnqueueを使用します。このユーティリティでは、コマンドライン引数として指定されたプロパティ・ファイルを使用し、このファイルから、送信する詳細を読み取ります。

表24-3に、このファイルで構成できるプロパティを示します。

表24-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(オプション)。メッセージIDがエンキューの一部として提供されない場合、B2Bによって独自のメッセージIDが生成されます。

replyToMsgID

メッセージへの返信(オプション)

msgType

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

attachment_name

添付ファイル名。このプロパティを使用して、電子メールの件名とは異なる名前を添付ファイルに割り当てます。

JMSによる電子メールでのカスタム・アウトバウンド・メッセージの場合は、次のようにします。

constant : Sample.xml property : jca.jms.JMSProperty.ATTACHMENT_NAME

dateFormat

電子メールのデリバリ・チャネルで使用されている日付書式を変換するために使用されます

dynamicemail

toパーティの電子メール・アドレスを提供します。例:

constant : email_id property : jca.jms.JMSProperty.DYNAMICEMAIL

dynamic_from_email

fromパーティの電子メール・アドレスを提供します。例:

constant : email_id property : jca.jms.JMSProperty.DYNAMIC_FROM_EMAIL

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

例24-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

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

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

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

表24-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

-

メッセージ本文として送信


24.2.3 JMSデキュー

JMSデキュー・ユーティリティoracle.tip.b2b.data.JMSDequeueによって、接続先からメッセージが受信されます。接続先から取得するメッセージ数を制御するために、countプロパティを指定できます。取得したメッセージは、現在のパス(ユーティリティの実行場所)のファイルJMSDequeue.txtに書き込まれます。

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

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

例24-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>

24.3 attachmentsDescriptor.xsdの使用

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

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

例24-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>