Oracle B2Bには、ホスト(バックエンド)アプリケーションに接続する前に、インストールと構成をテストして検証するためのユーティリティが用意されています。ユーティリティを使用して、デフォルトのAQキュー・インタフェースまたはJMSキュー・インタフェースを介してOracle B2Bとの間でビジネス・メッセージを送受信する方法を習得できます。他のAQ内部デリバリ・チャネルも同じ方法で処理できます。これらのユーティリティの実装方法の例は、B2Bのサンプルを参照してください(サンプルの詳細は、第1.7項「Oracle B2Bのサンプルとクックブック」を参照してください)。
項目は次のとおりです。
AQキューへのエンキューおよびAQキューからのデキューは、Javaを使用して実行できます。IPEnqueueおよびIPDequeueは、Oracle B2B環境で実行する必要があります。
表22-1に、Java AQエンキュー・ユーティリティ(oracle.tip.b2b.data.IPEnqueue)のプロパティを示します。
表22-1 IPEnqueueのプロパティ
| 名前 | 説明 | 
|---|---|
| 
 queue  | 
 アウトバウンドAQキューの名前。指定しない場合、Javaエンキュー・ユーティリティはデフォルトのアウトバウンド・キュー  | 
| 
 replyToMsgID  | 
 送信するメッセージの返信先となるメッセージID。通常はレスポンス・メッセージ・タイプに使用します。  | 
| 
 from  | 
 メッセージを送信する取引パートナ。  | 
| 
 to  | 
 メッセージを受信する取引パートナ。  | 
| 
 doctypeName  | 
 メッセージのドキュメント・タイプ名。  | 
| 
 doctypeRevision  | 
 メッセージのドキュメント・プロトコル・リビジョン。  | 
| 
 payload  | 
 ペイロード・ファイル名。  | 
| 
 attachment_name  | 
 添付ファイル名。電子メールの件名とは異なる名前を添付ファイルに割り当てるには、このプロパティを使用します。 AQを使用する電子メール経由でのカスタム・アウトバウンド・メッセージの場合は、次のようにします。 actionName=ATTACHMENT_NAME:Sample.txt  | 
| 
 url  | 
 データベースURLの書式は、  | 
| 
 user  | 
 データベース・ユーザー。  | 
| 
 password  | 
 データベース・パスワード。  | 
| 
 eventName  | 
 アクション名。  | 
| 
 msgid  | 
 メッセージID(オプション)。B2Bでは、メッセージIDがエンキューの一部として提供されない場合、独自のメッセージIDが生成されます。  | 
| 
 msgType  | 
 オプションのメッセージ・タイプを指定します。 
  | 
| 
 dateFormat  | 
 電子メール・デリバリ・チャネルで使用されている日付形式を変換するために使用します。  | 
| 
 dynamicemail  | 
 
 
actionName=DYNAMICEMAIL:email_id
 | 
| 
 dynamic_from_email  | 
 
 
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を追加してください。 | 
メッセージのデキューには、IPDequeueユーティリティを使用します。
表22-2に、Java AQデキュー・ユーティリティ(oracle.tip.b2b.data.IPDequeue)のプロパティを示します。
表22-2 IPDequeueのプロパティ
| 名前 | 説明 | 
|---|---|
| 
 queue  | 
 インバウンドAQキューの名前。指定しない場合、Javaデキュー・ユーティリティはデフォルトのインバウンド・キュー  | 
| 
 count  | 
 デキューするメッセージの数。指定しない場合、デキューされるのは1つのメッセージのみです。  | 
| 
 output  | 
 出力ファイル名。  | 
| 
 url  | 
 データベースURLの書式は、  | 
| 
 user  | 
 データベース・ユーザー。  | 
| 
 password  | 
 データベース・パスワード。  | 
例: ipdequeue.properties:
queue = count = 1 output = t1.trc url = jdbc:oracle:thin:@host:1521:sid user = user1 password = password
JMS接続先(キューまたはトピック)へのエンキューおよびJMS接続先からのデキューは、ユーティリティを使用して実行できます。ユーザー名とパスワードを指定しない場合は、接続先が分散されていると、クラスタ化された環境の場合も含めて、ローカルJNDIが使用されます。Oracle B2Bでは、javax.jms.ObjectMessageはサポートされていません。
JMS接続先(キューまたはトピック)にメッセージを送信するには、JMSエンキュー・ユーティリティ(oracle.tip.b2b.data.JMSEnqueue)を使用します。このユーティリティには、コマンドライン引数としてプロパティ・ファイルを提供する必要があります。送信する詳細はこのファイルから読み取られます。
表22-3に、このファイルに構成可能なプロパティを示します。
表22-3 JMSエンキューのプロパティ
| 名前 | 説明 | 
|---|---|
| 
 destination  | 
 メッセージ送信先のキューまたはトピックのJNDI名。  | 
| 
 cf  | 
 使用するコネクション・ファクトリのJNDI名。  | 
| 
 factory  | 
 ファクトリのプロバイダ・クラス。  | 
| 
 isTopic  | 
 トピックのインジケータ(オプション)。  | 
| 
 url  | 
 JNDI URLの書式は、  | 
| 
 user  | 
 アプリケーション・サーバー管理者のユーザーID。  | 
| 
 password  | 
 アプリケーション・サーバー管理者のパスワード。  | 
| 
 from  | 
 送信元のパーティ。  | 
| 
 to  | 
 送信先のパーティ。  | 
| 
 eventName  | 
 アクション名。  | 
| 
 doctypeName  | 
 ドキュメント・タイプ名。  | 
| 
 doctypeRevision  | 
 ドキュメント・タイプ・リビジョン。  | 
| 
 payload  | 
 ペイロード・ファイルのパス。  | 
| 
 attachment  | 
 添付ファイルのパス。  | 
| 
 msgid  | 
 メッセージID(オプション)。B2Bでは、メッセージIDがエンキューの一部として提供されない場合、独自のメッセージIDが生成されます。  | 
| 
 replyToMsgID  | 
 返信先メッセージ(オプション)。  | 
| 
 msgType  | 
 メッセージ・タイプ。デフォルトは  | 
| 
 attachment_name  | 
 添付ファイル名。電子メールの件名とは異なる名前を添付ファイルに割り当てるには、このプロパティを使用します。 JMSを使用する電子メール経由でのカスタム・アウトバウンド・メッセージの場合は、次のようにします。 constant : Sample.xml property : jca.jms.JMSProperty.ATTACHMENT_NAME  | 
| 
 dateFormat  | 
 電子メール・デリバリ・チャネルで使用されている日付形式を変換するために使用します。  | 
| 
 dynamicemail  | 
 
 
constant : email_id property : jca.jms.JMSProperty.DYNAMICEMAIL
 | 
| 
 dynamic_from_email  | 
 
 
constant : email_id property : jca.jms.JMSProperty.DYNAMIC_FROM_EMAIL
 | 
例22-1に、サンプルのjms_enqueue.propertiesファイルを示します。
例22-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
これらのユーティリティの実行方法は、サンプルのドキュメントを参照してください。
AQおよびJMSのユーティリティで使用されるプロパティは、メッセージが接続先に送信される前に内部的に変換されます。表22-4のプロパティが、B2Bがリスニングする接続先に配信されたjavax.jms.Messageの一部として設定されていることを確認してください。
表22-4 カスタム・ユーティリティ用にAQ/JMSプロパティを変換する方法
| AQ/JMSユーティリティ | 変換後の値: カスタム・ユーティリティ用 | JMSメッセージ | 
|---|---|---|
| 
 from  | 
 FROM_PARTY  | 
 
  | 
| 
 to  | 
 TO_PARTY  | 
 
  | 
| 
 doctypeName  | 
 DOCTYPE_NAME  | 
 
  | 
| 
 doctypeRevision  | 
 DOCTYPE_REVISION  | 
 
  | 
| 
 eventName  | 
 ACTION_NAME  | 
 
  | 
| 
 msgid  | 
 MSG_ID  | 
 
  | 
| 
 replyToMsgID  | 
 INREPLYTO_MSG_ID  | 
 
  | 
| 
 msgType  | 
 MSG_TYPE  | 
 
  | 
| 
 attachment  | 
 ATTACHMENT  | 
 
  | 
| 
 payload  | 
 -  | 
 メッセージ本文として送信されます。  | 
JMSデキュー・ユーティリティoracle.tip.b2b.data.JMSDequeueは、送信先からメッセージを受信します。countプロパティを指定すると、接続先から取得するメッセージの数を制御できます。取得したメッセージは、現行パス(ユーティリティの実行場所)のファイルJMSDequeue.txtに書き込まれます。
これらのユーティリティの実行方法については、Oracle Technology Networkのサンプル・ドキュメントを参照してください。
例22-2に、サンプルのJMSデキュー・プロパティ・ファイルを示します。
例22-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>
添付の送信には、attachmentsDescriptor.xsdファイルを使用します。
例22-3に、サンプルの添付XMLファイルを示します。
例22-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>