この章では、Oracle B2B Webサービスの使用に関する情報について説明します。 項目は次のとおりです。
Oracle B2Bでは、Oracle JDeveloperでドキュメントの詳細を取得するためのWebサービスが公開されています。 これらは、パートナに直接接続しているWebサービスであり、ユーザーはメッセージをOracle B2Bに送信できます。 同様に、Oracle B2Bには、メッセージを受信するバックエンドに対して公開されたWebサービスが用意されています。このサービスでは、Oracle B2Bにデプロイされているアグリーメントに基づいて、メッセージが処理されてパートナに送信されます。
Oracle B2B Webサービスを使用するには、Oracle JDeveloperでアプリケーションにWebサービス・プロキシを作成します。 WebサービスのWeb Services Description Language(WSDL)ファイルは、Oracle B2Bがインストールされているシステム上の次のURLで入手できます。
http://host_name:port_number/b2b/services/URI
URIを指定せずに、サーブレットのURLパターンのみを接尾辞として付加したURLをWebブラウザに入力すると、ダウンロード可能なWSDLのリストが提供されます(セキュリティ制限はありません)。
Oracle B2Bには、次のWebサービスAPIが用意されています。
アウトバウンドWebサービスAPIでは、組込みの内部リスニング・チャネルが提供されます。 詳細は、第19.2項「アウトバウンドWebサービスの使用」を参照してください。
変換WebサービスAPIは、HL7、EDIなどのネイティブ・ペイロードをXMLフォーマットに変換するために公開されています。 詳細は、第19.3項「変換Webサービスの使用」を参照してください。
問合せAPIを使用すると、Oracle B2Bの構成済の詳細を取得できます。 詳細は、第19.4項「問合せAPIの使用」を参照してください。
Oracle B2B Webサービスのセキュリティ
Oracle Web Services Managerを使用すると、Webサービスのランタイムとフローに影響を与えることなく、様々なタイプのポリシーを統合できます。また、サービス・インフラストラクチャのセキュリティが提供されます。 署名、暗号化/復号化、認証、認可、監査およびレポート作成は、このツール・キットによって提供されます。 したがって、このWebサービス実装では、セキュリティ、署名および暗号化の詳細は処理されません。 Webサービスのメソッドには、セキュリティの詳細のかわりにビジネス・ロジックが保持されます。 Webサービス・クライアントは、Oracle Weblogic Serverコンソールで実施されるポリシーに基づいて、セキュリティの詳細とWebサービス・ポートを関連付ける必要があります。
アウトバウンドWebサービスは、組込みの内部リスニング・チャネルとして公開され、メッセージはこのサービスにエンキューされます。 soap:body
の詳細とヘッダーに基づいて、アグリーメントの識別が実行され、メッセージがパートナにルーティングされます。
表19-1、表19-2および表19-3で、アウトバウンドWebサービスのリクエスト、レスポンスおよびフォルト通知メッセージのパラメータについて説明します。
表19-1 アウトバウンドWebサービス・リクエストのパラメータ
ヘッダー | データ型 | 説明 | 必須 |
---|---|---|---|
from |
文字列 |
ホスト名または識別値。 |
いいえ |
to |
文字列 |
取引パートナ名または識別値。 |
はい |
@type |
文字列 例: |
識別タイプ。 |
いいえ |
documentProtocolVersion |
文字列 例: |
ドキュメント・タイプ・バージョン。 |
はい脚注1 |
documentTypeName |
文字列 例: |
ドキュメント・タイプ名。 |
|
action |
文字列 例: |
ebMSアクション名。 |
|
service |
文字列 例: |
ebMSサービス名。 |
|
serviceType |
文字列 例: デフォルト: |
ebMSサービス・タイプ。 |
|
messageId |
文字列 |
このパラメータで指定するメッセージIDは、 |
いいえ |
replyToMessageId |
文字列 例: |
この返信の宛先となるメッセージのメッセージIDを、コラボレーションIDとともに格納します。 |
いいえ |
messageType |
文字列 |
メッセージのタイプ。 |
いいえ |
encoding |
文字列 例: デフォルト: |
エンコーディング・フォーマット。 |
いいえ |
payload |
Xsd:anyType |
ペイロードを格納します。 |
はい |
attachment |
Xsd:anyType |
添付(ある場合)。 |
いいえ |
脚注1 documentProtocolVersion
とdocumentTypeName
、またはaction
、service
およびserviceType
のいずれかが存在する必要があります。 カスタムの一般的なケースで必要なのは、action
のみで、他は必要ありません。
変換Webサービスでは、HL7、EDIなどのXMLペイロードがネイティブ・フォーマットに変換されます。
表19-4、表19-5および表19-6で、変換Webサービスのリクエスト、レスポンスおよびフォルト通知メッセージのパラメータについて説明します。
注意: 非EDI XMLが送信された場合は、Oracle B2Bサーバーでアグリーメントが一致する場合にかぎり、変換後のコンテンツに同じペイロードがそのまま含まれます。EDI XMLが変換用に送信されるときに、バッチの一部としてドキュメントが含まれている場合は、変換後のレスポンスでペイロードは変換されません。 |
注意: 変換Webサービスでは、EDI XMLペイロードがネイティブ・フォーマットに変換されますが、ネイティブ・ペイロードはXMLに変換されません。 |
注意: 変換Webサービスのリクエストは、レポート作成およびメトリックについて、他のアウトバウンド・リクエストと異なる点はありません。 |
表19-4 変換Webサービスのリクエストのパラメータ
ヘッダー | データ型 | 説明 | 必須 |
---|---|---|---|
from |
文字列 |
ホスト名または識別値。 |
いいえ |
to |
文字列 |
取引パートナ名または識別値。 |
いいえ |
@type |
文字列 例: |
識別タイプ。 |
いいえ |
documentProtocolVersion |
文字列 例: |
ドキュメント・タイプ・バージョン。 |
はい |
documentTypeName |
文字列 例: |
ドキュメント・タイプ名。 |
はい |
encoding |
文字列 例: デフォルト: |
エンコーディング・フォーマット。 |
いいえ |
payload |
Xsd:anyType |
ペイロードを格納します。 |
はい |
問合せAPIでは、Oracle B2Bから構成済の詳細が取得され、複数のアプリケーションで共有されます。
アプリケーションからのメッセージ送信を開始する前に、特定のパラメータに対してヘルス・チェック・リクエストが実行されます。 このチェックでは、構成が存在するかどうか、およびアクティブな構成の数が検出されます。 構成が検出されない場合、アプリケーションでは、「B2Bで構成が検出されません」というメッセージを出力して、レイヤーでのメッセージ・フローを停止できます。
次のAPIが用意されています。
Is Trading Partner Agreement Setup
は、特定の入力に対してアグリーメントが検出された場合、trueを返します。 パラメータの詳細は、第19.4.1項「Is Trading Partner Agreement Setupのパラメータ」を参照してください。
Get Trading Partner Agreement Information
は、アグリーメントの詳細を返します。 パラメータの詳細は、第19.4.2項「Get Trading Partner Agreement Informationのパラメータ」を参照してください。
表19-7 Is Trading Partner Agreement Setupのリクエストのパラメータ
ヘッダー | データ型 | 説明 | 必須 |
---|---|---|---|
from |
文字列 |
ホスト名または識別値 |
いいえ |
to |
文字列 |
取引パートナ名または識別値 |
いいえ |
@type |
文字列 例: |
識別タイプ |
いいえ |
document |
文字列 例: |
送信対象の内部アプリケーション・ドキュメントまたはAIA EBOの名前 |
はい |
action |
文字列 例: |
取引パートナとの特定の取引を識別するサブ分類 |
はい |
表19-10 Get Trading Partner Agreement Informationのリクエストのパラメータ
ヘッダー | データ型 | 説明 | 必須 |
---|---|---|---|
from |
文字列 |
ホスト名または識別値 |
いいえ |
to |
文字列 |
取引パートナ名または識別値 |
いいえ |
@type |
文字列 例: |
識別タイプ |
いいえ |
document |
文字列 例: |
送信対象の内部アプリケーション・ドキュメントまたはAIA EBOの名前 |
いいえ |
action |
文字列 例: |
取引パートナとの特定の取引を識別するサブ分類 |
いいえ |
表19-11 Get Trading Partner Agreement Informationのレスポンスのパラメータ
ヘッダー | データ型 | 説明 | 必須 |
---|---|---|---|
AgreementID |
文字列 |
一致するアグリーメントの一意のアグリーメントID |
はい |
B2BDocumentDef |
文字列 |
Oracle B2Bのドキュメント・タイプの作成に使用するOracle B2Bのドキュメント定義 |
はい |
B2BDocumentType |
文字列 |
リクエストされたアプリケーション・ドキュメントおよびアクションに対して、Oracle B2Bに定義されているドキュメント・タイプ |
はい |
B2BDocumentRevision |
文字列 |
リクエストされたアプリケーション・ドキュメントおよびアクションに対して、Oracle B2Bに定義されているドキュメント・リビジョン |
はい |
B2BDocumentProtocol |
文字列 |
リクエストされたアプリケーション・ドキュメントおよびアクションに対して、Oracle B2Bに定義されているドキュメント・プロトコル名 |
はい |
direction |
文字列 |
ドキュメントの方向 |
はい |
XSLTFile |
文字列 |
Oracle B2B TPドキュメントを生成するためにAIAレイヤーで使用されるXSLTファイル |
いいえ |