Fuse 6 is no longer supported
As of February 2025, Red Hat Fuse 6 is no longer supported. If you are using Fuse 6, please upgrade to Red Hat build of Apache Camel.第140章 SAP コンポーネント
概要
SAP コンポーネントは、10 つの異なる SAP コンポーネントのスイートで設定されるパッケージです。sRFC、tRFC、qRFC プロトコルをサポートするリモート関数呼び出し(RFC)コンポーネントがあり、IDoc 形式のメッセージを使用した通信を容易にする IDoc コンポーネントがあります。コンポーネントは SAP Java Connector (SAP JCo)ライブラリーを使用して SAP および SAP IDoc ライブラリーとの双方向通信を容易にし、Intermediate Document (IDoc)形式のドキュメントの送信を容易にします。
140.1. 概要 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
Dependencies リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
このコンポーネントを使用するには、Maven ユーザーは
pom.xml
ファイルに以下の依存関係を追加する必要があります。
<dependency> <groupId>org.fusesource</groupId> <artifactId>camel-sap</artifactId> <version>x.x.x</version> <dependency>
<dependency>
<groupId>org.fusesource</groupId>
<artifactId>camel-sap</artifactId>
<version>x.x.x</version>
<dependency>
SAP コンポーネントの追加プラットフォームの制限 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
SAP コンポーネントはサードパーティーの JCo 3 および IDoc 3 ライブラリーに依存するため、これらのライブラリーがサポートするプラットフォームにのみインストールできます。プラットフォームの制限に関する詳細は、Red Hat Fuse でサポートされる設定 を参照してください。
SAP JCo および SAP IDoc ライブラリー リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
SAP コンポーネントを使用するための前提条件は、SAP Java Connector (SAP JCo)ライブラリーおよび SAP IDoc ライブラリーが Java ランタイムの
lib/
ディレクトリーにインストールされていることです。ターゲットのオペレーティングシステムに適した SAP ライブラリーのセットを SAP Service Marketplace からダウンロードするようにしてください。
ライブラリーファイルの名前は、表140.1「必要な SAP ライブラリー」 に示すように、ターゲットのオペレーティングシステムによって異なります。
SAP コンポーネント | Linux および UNIX | Windows |
---|---|---|
SAP JCo 3
| sapjco3.jar
libsapjco3.so
| sapjco3.jar
sapjco3.dll
|
SAP IDoc
| sapidoc3.jar
| sapidoc3.jar
|
Fuse OSGi コンテナーへのデプロイ(Fabric 以外) リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
SAP JCo ライブラリーおよび SAP IDoc ライブラリーは、以下のように JBoss Fuse OSGi コンテナー(Fabric 以外)にインストールできます。
- SAP JCo ライブラリーと SAP IDoc ライブラリーを SAP Service Marketplace からダウンロードし、ご使用のオペレーティングシステムのライブラリーの適切なバージョンを選択してください。http://service.sap.com/public/connectors注記これらのライブラリーをダウンロードして使用するには、SAP Service Marketplace アカウント が必要です。
sapjco3.jar
、libsapjco3.so
(Windows ではsapjco3.dll
)、およびsapidoc3.jar
ライブラリーファイルを JBoss Fuse インストールのディレクトリーにコピーします。lib/
- テキストエディターで、設定プロパティーファイル
etc/config.properties
とカスタムプロパティーファイルetc/custom.properties
の両方を開きます。etc/config.properties
ファイルで、org.osgi.framework.system.packages.extra
プロパティーを検索し、完全なプロパティー設定をコピーします(この設定は複数の行に拡張され、バックスラッシュ文字\
を使用して行継続行を示します)。ここで、この設定をetc/custom.properties
ファイルに貼り付けます。SAP ライブラリーをサポートするために必要なパッケージを追加できるようになりました。etc/custom.properties
ファイルで、以下のようにorg.osgi.framework.system.packages.extra
設定に必要なパッケージを追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ヒント新しいエントリーの前の各行の最後にコンマとバックスラッシュ, \
を含めることを忘れないでください。これにより、リストが適切に継続されます。 - これらの変更を有効にするには、コンテナーを再起動する必要があります。
camel-sap
機能をコンテナーにインストールする必要があります。Karaf コンソールで、以下のコマンドを入力します。JBossFuse:karaf@root> features:install camel-sap
JBossFuse:karaf@root> features:install camel-sap
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Fuse Fabric でのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
SAP コンポーネントを使用するための前提条件として、SAP Java Connector (SAP JCo)ライブラリーと SAP IDoc ライブラリーが Java ランタイムの
lib/
ディレクトリーにインストールされている必要があります。つまり、sapjco3.jar
、libsapjco3.so
(Windows では sapjco3.dll
)、および NORMAL です。sapidoc3.jar
Fuse Fabric デプロイメントの場合、これには特別な設定が必要です。Fabric コンテナーはネットワーク上のどこにでもデプロイ可能な必要があるため、単一のマシンの Java
lib
ディレクトリーに SAP ライブラリーをインストールすることはポイントはありません。正しいアプローチは、SAP JCo ライブラリーおよび SAP IDoc ライブラリーを実行する任意のホストにダウンロードおよびインストールできる特別なプロファイルを定義することです。
SAP JCo ライブラリーおよび SAP IDoc ライブラリーのプロファイルを以下のように定義できます。
- JCo ライブラリーと IDoc ライブラリー-
sapjco3.jar
、libsapjco3.so
(Windows ではsapjco3.dll
)、およびsapidoc3.jar
- をネットワークにアクセスできる場所にデプロイします。たとえば、Web サーバーにライブラリーをインストールして、JCo ライブラリーおよび IDoc ライブラリーを HTTP URLhttp://mywebserver/sapjco3.jar
、http://mywebserver/libsapjco3.so
、およびhttp://mywebserver/sapidoc3.jar
からダウンロードできます。 - 以下のコンソールコマンドを入力して、新しいプロファイル
camel-sap-profile
を作成します。JBossFuse:karaf@root> profile-create camel-sap-profile
JBossFuse:karaf@root> profile-create camel-sap-profile
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 以下のコンソールコマンドを入力して、
camel-sap-profile
プロファイルのエージェントプロパティーを編集します。JBossFuse:karaf@root> profile-edit camel-sap-profile
JBossFuse:karaf@root> profile-edit camel-sap-profile
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 組み込みプロファイルエディターが起動します。この組み込みテキストエディターを使用して、以下の内容をエージェントプロパティーに追加します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のようにプロパティー設定をカスタマイズします。lib.sapjco3.jar
- HTTP URL を Web サーバー上の
sapjco3.jar
ファイルの実際の場所にカスタマイズします。 lib.sapjco3.so
- HTTP URL を Web サーバーの
libsapjco3.so
ファイル(またはsapjco3.dll
)の実際の場所にカスタマイズします。 lib.sapidoc3.jar
- HTTP URL を Web サーバー上の
sapidoc3.jar
ファイルの実際の場所にカスタマイズします。 config.org.osgi.framework.system.packages.extra
- JBoss Fuse インストールのコンテナー設定プロパティーファイル
etc/config.properties
を開き、org.osgi.framework.system.packages.extra
プロパティーの設定を見つけます。その設定のパッケージ一覧をコピーし、行を置き換えてプロファイルのエージェントプロパティーに貼り付けます。... Packages from etc/config.properties file ...\
... Packages from etc/config.properties file ...\
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記config.org.osgi.framework.system.packages.extra
のconfig.*
接頭辞は、プロファイルにコンテナー設定プロパティーを設定する Fabric を示します。注記バックスラッシュ\
は行継続文字(UNIX 規則)で、直後に改行文字を追加する必要があります。
完了したら、Ctrl-S と入力してプロパティーを保存します。 camel-sap-profile
プロファイルを、SAP コンポーネントを実行するすべての Fabric コンテナーにデプロイできます。たとえば、camel-sap-profile
profile をsap-instance
コンテナーにデプロイするには、以下を実行します。JBossFuse:karaf@root> container-add-profile sap-instance came-sap-profile
JBossFuse:karaf@root> container-add-profile sap-instance came-sap-profile
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
JBoss EAP コンテナーへのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
JBoss EAP コンテナーに SAP コンポーネントをデプロイするには、以下の手順を実行します。
- SAP JCo ライブラリーと SAP IDoc ライブラリーを SAP Service Marketplace からダウンロードし、ご使用のオペレーティングシステムのライブラリーの適切なバージョンを選択してください。http://service.sap.com/public/connectors注記これらのライブラリーをダウンロードして使用するには、SAP Service Marketplace アカウント が必要です。
- JCo ライブラリーファイルと IDoc ライブラリーファイルを JBoss EAP インストールの適切なサブディレクトリーにコピーします。たとえば、ホストプラットフォームが 64 ビットの Linux (
linux-x86_64
)の場合は、以下のようにライブラリーファイルをインストールします。cp sapjco3.jar sapidoc3.jar $JBOSS_HOME/modules/system/layers/fuse/com/sap/conn/jco/main/ mkdir -p $JBOSS_HOME/modules/system/layers/fuse/com/sap/conn/jco/main/lib/linux-x86_64 cp libsapjco3.so $JBOSS_HOME/modules/system/layers/fuse/com/sap/conn/jco/main/lib/linux-x86_64/
cp sapjco3.jar sapidoc3.jar $JBOSS_HOME/modules/system/layers/fuse/com/sap/conn/jco/main/ mkdir -p $JBOSS_HOME/modules/system/layers/fuse/com/sap/conn/jco/main/lib/linux-x86_64 cp libsapjco3.so $JBOSS_HOME/modules/system/layers/fuse/com/sap/conn/jco/main/lib/linux-x86_64/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要ネイティブライブラリー(例:libsapjco3.so
)を JBoss EAP インストールにインストールする場合は、library サブディレクトリーに名前を付けるための標準化された規則があります。これに従う必要があります。64 ビットの Linux の場合、サブディレクトリーはlinux-x86_64
になります。他のプラットフォームについては、を参照してください https://docs.jboss.org/author/display/MODULES/Native+Libraries。 - SwitchYard サブシステム設定の
org.switchyard.component.camel.sap
モジュールのコメントを解除します。たとえば、JBoss EAP スタンドアロンモードで SAP コンポーネントを有効にするには、$JBOSS_HOME/standalone/configuration/standalone.xml
ファイルを編集し、以下の行を検索してコメント解除します。<!-- Uncomment this module to enable camel-sap binding <module identifier="org.switchyard.component.camel.sap" implClass="org.switchyard.component.camel.sap.deploy.CamelSapComponent"/> -->
<!-- Uncomment this module to enable camel-sap binding <module identifier="org.switchyard.component.camel.sap" implClass="org.switchyard.component.camel.sap.deploy.CamelSapComponent"/> -->
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
URI 形式 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
SAP コンポーネントが提供するエンドポイントには、Remote Function Call (RFC)エンドポイントと Intermediate Document (IDoc)エンドポイントの 2 種類があります。
RFC エンドポイントの URI 形式は以下のとおりです。
sap-srfc-destination:destinationName:rfcName sap-trfc-destination:destinationName:rfcName sap-qrfc-destination:destinationName:queueName:rfcName sap-srfc-server:serverName:rfcName[?options] sap-trfc-server:serverName:rfcName[?options]
sap-srfc-destination:destinationName:rfcName
sap-trfc-destination:destinationName:rfcName
sap-qrfc-destination:destinationName:queueName:rfcName
sap-srfc-server:serverName:rfcName[?options]
sap-trfc-server:serverName:rfcName[?options]
IDoc エンドポイントの URI 形式は以下のとおりです。
sap-idoc-destination:destinationName:idocType[:idocTypeExtension[:systemRelease[:applicationRelease]]] sap-idoclist-destination:destinationName:idocType[:idocTypeExtension[:systemRelease[:applicationRelease]]] sap-qidoc-destination:destinationName:queueName:idocType[:idocTypeExtension[:systemRelease[:applicationRelease]]] sap-qidoclist-destination:destinationName:queueName:idocType[:idocTypeExtension[:systemRelease[:applicationRelease]]] sap-idoclist-server:serverName:idocType[:idocTypeExtension[:systemRelease[:applicationRelease]]][?options]
sap-idoc-destination:destinationName:idocType[:idocTypeExtension[:systemRelease[:applicationRelease]]]
sap-idoclist-destination:destinationName:idocType[:idocTypeExtension[:systemRelease[:applicationRelease]]]
sap-qidoc-destination:destinationName:queueName:idocType[:idocTypeExtension[:systemRelease[:applicationRelease]]]
sap-qidoclist-destination:destinationName:queueName:idocType[:idocTypeExtension[:systemRelease[:applicationRelease]]]
sap-idoclist-server:serverName:idocType[:idocTypeExtension[:systemRelease[:applicationRelease]]][?options]
sap-endpointKind-destination
で始まる URI 形式は、宛先エンドポイント(つまり Camel プロデューサーエンドポイント)を定義するために使用され、destinationName
は SAP インスタンスへの特定のアウトバウンド接続の名前です。アウトバウンド接続には、「宛先設定」 で説明されているように、コンポーネントレベルで名前が付けられ、設定されます。
sap-endpointKind-server
で始まる URI 形式は、サーバーエンドポイント(つまり Camel コンシューマーエンドポイント)を定義するために使用され、serverName
は SAP インスタンスからの特定の受信接続の名前です。「サーバー設定」 で説明されているように、受信接続にはコンポーネントレベルで名前が付けられ、設定されます。
RFC エンドポイント URI の他のコンポーネントは以下のとおりです。
rfcName
- (必須) 宛先エンドポイント URI では、は接続された SAP インスタンスのエンドポイントによって呼び出される RFC の名前です。サーバーエンドポイント URI では、は接続された SAP インスタンスから呼び出されるときにエンドポイントによって処理される RFC の名前です。
queueName
- このエンドポイントが SAP 要求を送信するキューを指定します。
IDoc エンドポイント URI の他のコンポーネントは以下のとおりです。
idocType
- (必須) このエンドポイントによって生成された IDoc の Basic IDoc タイプを指定します。
idocTypeExtension
- このエンドポイントによって生成された IDoc の IDoc の IDoc がある場合は、それを指定します。
systemRelease
- このエンドポイントによって生成された IDoc の関連する SAP Basis Release を指定します(ある場合)。
applicationRelease
- 関連するアプリケーションリリースがある場合は、このエンドポイントによって生成された IDoc のように指定します。
queueName
- このエンドポイントが SAP 要求を送信するキューを指定します。
RFC 宛先エンドポイントのオプション リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
RFC 宛先エンドポイント(
sap-srfc-destination
、sap-trfc-destination
、および sap-qrfc-destination
)は、以下の URI オプションをサポートします。
名前 | デフォルト | 説明 |
---|---|---|
stateful
|
false
|
true の場合、このエンドポイントが SAP ステートフルセッションを開始することを指定します。
|
transacted
|
false
|
true の場合、このエンドポイントが SAP トランザクションを開始することを指定します。
|
RFC サーバーエンドポイントのオプション リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
SAP RFC サーバーエンドポイント(
sap-srfc-server
および sap-trfc-server
)は以下の URI オプションをサポートします。
名前 | デフォルト | 説明 |
---|---|---|
stateful
|
false
|
true の場合、このエンドポイントが SAP ステートフルセッションを開始することを指定します。
|
propagateExceptions
|
false
|
(SAP-trfc-server エンドポイントのみ) true の場合、このエンドポイントがエクスチェンジの例外ハンドラーではなく、SAP の呼び出し元に再度伝播することを指定します。
|
IDoc List Server エンドポイントのオプション リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
SAP IDoc List Server エンドポイント(
sap-idoclist-server
)は、以下の URI オプションをサポートします。
名前 | デフォルト | 説明 |
---|---|---|
stateful
|
false
|
true の場合、このエンドポイントが SAP ステートフルセッションを開始することを指定します。
|
propagateExceptions
|
false
|
true の場合、このエンドポイントがエクスチェンジの例外ハンドラーではなく、SAP の呼び出し元に例外を伝播することを指定します。
|
RFC および IDoc エンドポイントの概要 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
SAP コンポーネントパッケージは、以下の RFC および IDoc エンドポイントを提供します。
sap-srfc-destination
- JBoss Fuse SAP Synchronous Remote Function Call Destination Camel コンポーネント。このエンドポイントは、Camel ルートが SAP システムに対するリクエストと応答の同期配信を必要とする場合に使用する必要があります。注記このコンポーネントによって使用される sRFC プロトコルは、ベストエフォート で SAP システムとの間で要求および制限を提供します。要求の送信中に通信エラーが発生した場合、受信側の SAP システムのリモート関数呼び出しの完了ステータスは未確定のまま になります。
sap-trfc-destination
- JBoss Fuse SAP Transactional Remote Function Call Destination Camel コンポーネント。このエンドポイントは、リクエストを受信 SAP システムに 最大 1 回配信する必要がある 場合に使用する必要があります。そのために、コンポーネントはトランザクション ID
tid
を生成します。このトランザクション ID は、ルートの交換でコンポーネントを介して送信されるすべての要求を処理します。受信側の SAP システムは、tid
に要求を配信する前に記録します。SAP システムが同じtid
で要求を再度受け取った場合は、リクエストを配信しません。そのため、このコンポーネントのエンドポイント経由で要求を送信する際にルートが通信エラーに遭遇すると、リクエストが配信されて 1 回のみ実行されるのと同じエクスチェンジ内で要求の送信を再試行できます。注記このコンポーネントによって使用される tRFC プロトコルは非同期であり、応答を返しません。そのため、このコンポーネントのエンドポイントは応答メッセージを返しません。注記このコンポーネントは、エンドポイント経由の一連の要求の順序を保証しません。これらの要求の配信および実行順序は、通信エラーおよび要求の再送信により受信側の SAP システムで異なる場合があります。Guaranteed Delivery order については、JBoss Fuse SAP Queued Remote Function Call Destination Camel component を参照してください。 sap-qrfc-destination
- JBoss Fuse SAP Queued Remote Function Call Destination Camel コンポーネント。このコンポーネントは、エンドポイント経由でリクエストの配信を 順番に保証することで、JBoss Fuse Transactional Remote Function Call Destination camel コンポーネントの機能を拡張します。このエンドポイントは、一連の要求が相互に依存し、受信 SAP システムに 最大 1 回、かつ 順番に配信される必要がある 場合に使用する必要があり ます。コンポーネントは、JBoss Fuse SAP Transactional Remote Function Call Destination Camel コンポーネントと同じメカニズムを使用して配信の保証を 最大 1 度 実行します。順序の保証は、SAP システムによって受信された順序で受信された キュー に 要求をシリアライズすることで実現されます。インバウンドキューは、SAP 内の QIN スケジューラー によって処理されます。インバウンドキューが アクティブになる と、QIN スケジューラーはキュー要求を順番に実行します。注記このコンポーネントによって使用される qRFC プロトコルは非同期であり、応答を返しません。そのため、このコンポーネントのエンドポイントは応答メッセージを返しません。
sap-srfc-server
- JBoss Fuse SAP Synchronous Remote Function Call Server Camel コンポーネント。このコンポーネントとそのエンドポイントは、Camel ルートが SAP システムとの間でリクエストと応答を同期的に処理する必要がある場合は使用する必要があります。
sap-trfc-server
- JBoss Fuse SAP Transactional Remote Function Call Server Camel コンポーネント。このエンドポイントは、送信している SAP システムが要求を Camel ルートに 最大 1 度 配信する必要がある場合に使用する必要があります。これを実現するため、送信した SAP システムはトランザクション ID
tid
を生成します。これは、コンポーネントのエンドポイントに送信するすべての要求に対応します。送信元の SAP システムは、tid
に関連する一連のリクエストを送信する前に、tid
が指定の を受信しているかどうかを最初にチェックします。コンポーネントは、受信したtid
の一覧を確認し、そのリストにない場合は送信済みtid
を記録し、tid
がすでに記録されたかどうかを示します。その後、tid
が記録されていない場合、送信している SAP システムは一連のリクエストのみを送信します。これにより、送信した SAP システムは一連のリクエストを Camel ルートに確実に送信できます。 sap-idoc-destination
- JBoss Fuse SAP IDoc Destination Camel コンポーネント。このエンドポイントは、Camel ルートが Intermediate Documents (IDoc)のリストを SAP システムに送信するために必要な場合に使用する必要があります。
sap-idoclist-destination
- JBoss Fuse SAP IDoc List Destination Camel コンポーネント。このエンドポイントは、Camel ルートが Intermediate ドキュメント(IDoc)リストのリストを SAP システムに送信するために必要な場合に使用する必要があります。
sap-qidoc-destination
- JBoss Fuse SAP Queued IDoc Destination Camel コンポーネント。このコンポーネントとそのエンドポイントは、Camel ルートが Intermediate ドキュメント(IDoc)のリストを SAP システムに順番に送信する必要がある場合に使用する必要があります。
sap-qidoclist-destination
- JBoss Fuse SAP Queued IDoc List Destination Camel component.このコンポーネントとそのエンドポイントは、Camel ルートが Intermediate ドキュメント(IDoc)リストのリストを SAP システムに順番に送信するために必要です。
sap-idoclist-server
- JBoss Fuse SAP IDoc List Server Camel コンポーネント。このエンドポイントは、送信している SAP システムで中間ドキュメントリストの Camel ルートへの配信が必要な場合に使用してください。このコンポーネントは、'sap-trfc-server-standalone' クイックスタートで説明されているように、tRFC プロトコルを使用して SAP と通信します。
SAP RFC 宛先エンドポイント リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
RFC 宛先エンドポイントは SAP へのアウトバウンド通信をサポートします。これにより、これらのエンドポイントは SAP の ABAP 関数モジュールへの RFC 呼び出しを実行できます。RFC 宛先エンドポイントは、SAP インスタンスへの特定の接続を介して特定の ABAP 関数への RFC 呼び出しを行うように設定されます。RFC 宛先はアウトバウンド接続の論理指定であり、一意の名前を持ちます。RFC 宛先は、宛先データ と呼ばれる接続パラメーターのセットによって指定されます。
RFC 宛先エンドポイントは、受信する IN-OUT エクスチェンジの入力メッセージから RFC 要求を抽出し、その要求を SAP への関数呼び出しでディスパッチします。関数呼び出しからの応答は、エクスチェンジの出力メッセージで返されます。SAP RFC 宛先エンドポイントはアウトバウンド通信のみをサポートするため、RFC 宛先エンドポイントはプロデューサーの作成のみをサポートします。
SAP RFC サーバーエンドポイント リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
RFC サーバーエンドポイントは SAP からのインバウンド通信をサポートします。これにより、SAP の ABAP アプリケーションがサーバーエンドポイントへの RFC 呼び出しを実行できます。ABAP アプリケーションは、リモート関数モジュールであるかのように RFC サーバーエンドポイントと対話します。RFC サーバーエンドポイントは、SAP インスタンスから特定の接続を介して特定の RFC 関数への RFC 呼び出しを受信するように設定されます。RFC サーバーは受信接続の論理指定であり、一意の名前を持ちます。RFC サーバーは、サーバーデータ と呼ばれる接続パラメーターのセットによって指定されます。
RFC サーバーエンドポイントは受信 RFC 要求を処理し、それを IN-OUT エクスチェンジの入力メッセージとしてディスパッチします。エクスチェンジの出力メッセージは、RFC 呼び出しの応答として返されます。SAP RFC サーバーエンドポイントはインバウンド通信のみをサポートするため、RFC サーバーエンドポイントはコンシューマーの作成のみをサポートします。
SAP IDoc および IDoc リスト宛先エンドポイント リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
IDoc 宛先エンドポイントは、SAP へのアウトバウンド通信をサポートします。これは、IDoc メッセージでさらに処理できます。IDoc ドキュメントは、SAP 以外のシステムと簡単に交換できるビジネストランザクションを表します。IDoc 宛先は、宛先データ と呼ばれる接続パラメーターのセットによって指定されます。
IDoc list 宛先エンドポイントは IDoc 宛先エンドポイントと似ていますが、処理するメッセージが IDoc ドキュメントの リスト で設定される点が異なります。
SAP IDoc list server endpoint リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
IDoc リストサーバーのエンドポイントは SAP からのインバウンド通信をサポートし、Camel ルートが SAP システムから IDoc ドキュメントのリストを受信できるようにします。IDoc リストサーバーは、サーバーデータ と呼ばれる接続パラメーターのセットによって指定されます。
メタデータリポジトリー リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
メタデータリポジトリーは、以下のようなメタデータを保存するために使用されます。
- 関数モジュールに関するインターフェイスの説明
- このメタデータは JCo および ABAP ランタイムによって使用され、RFC 呼び出しをチェックして、これらの呼び出しをディスパッチする前に通信パートナー間のデータタイプセーフ転送を確認します。リポジトリーにはリポジトリーデータが入力されます。リポジトリーデータは名前付き関数テンプレートのマップです。関数テンプレートには、すべてのパラメーターと関数モジュールとの間で渡される入力情報を記述するメタデータが含まれ、記述する関数モジュールの一意の名前があります。
- IDoc タイプの説明
- このメタデータは IDoc ランタイムにより使用され、IDoc ドキュメントが通信パートナーに送信される前に正しくフォーマットされていることを確認します。基本的な IDoc タイプは、名前、許可されたセグメントの一覧、セグメント間の階層関係の説明で設定されます。セグメントに追加の制約を課すことができます。セグメントは必須または任意にすることができます。また、各セグメントの最小/最大範囲を指定できます(そのセグメントの許可される繰り返し回数を定義します)。
そのため、SAP 宛先エンドポイントおよびサーバーエンドポイントでは、IDoc ドキュメントの送受信に RFC 呼び出しを送受信するためにリポジトリーへのアクセスが必要になります。RFC 呼び出しでは、エンドポイントによって呼び出しおよび処理されるすべての関数モジュールのメタデータはリポジトリー内に存在する必要があります。IDoc エンドポイントの場合は、すべての IDoc タイプおよび IDoc タイプの拡張機能のメタデータはリポジトリー内に存在する必要があります。宛先およびサーバーエンドポイントによって使用されるリポジトリーの場所は、宛先データおよびそれぞれの接続のサーバーデータで指定されます。
SAP 宛先エンドポイントの場合、使用するリポジトリーは通常 SAP システムに存在し、デフォルトで接続されている SAP システムになります。このデフォルトでは、宛先データに明示的な設定は必要ありません。さらに、宛先エンドポイントが実行するリモート関数呼び出しのメタデータは、呼び出す既存の関数モジュールのリポジトリーにすでに存在します。そのため、宛先エンドポイントによる呼び出しのメタデータには SAP コンポーネントでの設定は必要ありません。
一方、サーバーエンドポイントによって処理される関数呼び出しのメタデータは通常 SAP システムのリポジトリーに存在しず、代わりに SAP コンポーネントに存在するリポジトリーが提供する必要があります。SAP コンポーネントは、名前付きメタデータリポジトリーのマップを維持します。リポジトリーの名前は、メタデータを提供するサーバー名に対応します。