SAP システム接続 URI を作成する

Microsoft BizTalk Adapter for mySAP Business Suite 接続 URI には、アダプターが SAP システムへの接続を確立するために使用するプロパティが含まれています。

重要

既定では、SAP クライアント ライブラリ (librfc32u.dll) では、SAP システムへの最大 100 の接続がサポートされます。 この接続数を超えると、例外がスローされます。 このため、SAP アダプターが SAP システムで開こうとする接続の数を制限するには、 MaxConnectionsPerSystem バインド プロパティを設定する必要があります。または、CPIC_MAX_CONV環境変数を設定して、SAP クライアント ライブラリでサポートされる接続の数を増やします。 CPIC_MAX_CONVを変更した場合は、変更を有効にするためにコンピューターを再起動する必要があります。 SAP アダプターのバインド プロパティの詳細については、「 BizTalk Adapter for mySAP Business Suite のバインド プロパティについて」を参照してください。

このトピックでは、SAP 接続 URI に関する情報を提供し、さまざまなプログラミング シナリオで接続 URI を指定する方法を説明する他のトピックへのリンクも提供します。

SAP アダプターの接続 URI

一般的な WCF エンドポイント アドレス URI は、次のように表されます。

scheme://userinfoparams@hostinfoparams?query_string  

エンドポイント アドレス URI には、次のコンポーネントが含まれています。

  • scheme はスキーム名です。

  • userinfoparams は、エンドポイントによるユーザー認証に必要なパラメーターの名前と値のコレクションです。

  • hostinfoparams は、ホストへの接続を確立するために必要な情報です。たとえば、パスです。

  • query_stringは、疑問符 (?) で区切られたパラメーターの省略可能な名前と値のコレクションです。

    SAP アダプターが SAP システムに使用するエンドポイント アドレス URI は、SAP 接続 URI を使用して指定します。 SAP アダプターは、次のようにこの接続 URI を実装します。

sap://user=[USER_NAME];passwd=[PASSWORD];Client=[CLIENT];lang=[LANGUAGE];[UseSnc]=[True|False]@connectiontype/conndetail1/conndetail2?GwHost=[GWHOST]?GwServ=[GWSERV]?MsServ=[MSSERV]?Group=[GROUP]?ListenerDest=[LISTENERDEST]?ListenerGwHost=[LISTENERGWHOST]?ListenerGwServ=[LISTENERGWSERV]?ListenerProgramId=[LISTENERPROGRAMID]?RfcSdkTrace=[true/false]?AbapDebug=[true/false]  

接続 URI のコンポーネントについては、次のセクションで説明します。

SAP 接続 URI スキーム

SAP 接続 URI のスキームは "sap" です。

SAP 接続 URI のユーザー情報

SAP 接続 URI のユーザー情報 (userinfoparams) は、ユーザー認証、クライアント識別、および言語仕様に必要なパラメーターの名前と値のコレクションとして表されます。 次の表で、これらのパラメーターについて説明します。

プロパティ 説明
User SAP システムのユーザー名。この値では大文字と小文字が区別されます。 接続 URI でユーザー名とパスワードを指定するには、 AcceptCredentialsInUri バインド プロパティを true に設定する必要があります。 メモ: SAP アダプターは、SAP システムで接続を開いたときにユーザー名に入力した値の大文字と小文字を保持します。
Passwd SAP システム上のユーザーのパスワード。この値では大文字と小文字が区別されます。 接続 URI でユーザー名とパスワードを指定するには、 AcceptCredentialsInUri バインド プロパティを true に設定する必要があります。 メモ: SAP アダプターは、SAP システムで接続を開いたときにパスワードに入力した値の大文字と小文字を保持します。
Client SAP システム クライアント ID。
言語 言語:
UseSnc SAP Secure Network Communications (SNC) を有効にするかどうかを指定する省略可能なパラメーター。 値には True または False を指定できます。True の場合、SNC は有効になります。 既定値は False です

SNC を有効にする場合は、 SncPartnerName および SncLibrary バインド プロパティも設定 する 必要があります。 詳細については、「 BizTalk Adapter for mySAP Business Suite のバインド プロパティ」を参照してください。

SNC が有効で、接続 URI に資格情報が含まれている場合、アダプターは例外をスローします。 メモ: UseSnc 接続パラメーターは、接続の種類 A と B にのみ適用されます。さまざまな接続の種類とその重要性については、このトピックの後半で詳しく説明します。

Note

SAP 接続 URI でクライアントと言語を指定する必要があります。

SAP アダプターは AcceptCredentialsinUri バインド プロパティを表示するため、接続 URI で SAP システム資格情報を指定できるかどうかを制御できます。 これは、資格情報が接続 URI のプレーン テキストとして表され、固有のセキュリティ リスクが発生するためです。 既定では、 AcceptCredentialsInUri バインド プロパティは false であり、接続 URI に資格情報が指定されている場合、アダプターは例外をスローします。

接続 URI で資格情報を指定する必要があるシナリオがいくつかあります。たとえば、WCF サービス モデルまたは WCF チャネル モデルを使用するときに SAP システムから受信操作を受信する場合です。 これらのシナリオでは、 AcceptCredentialsInUri プロパティを true に設定できます。 ただし、接続 URI に資格情報を直接指定しないようにすることをお勧めします。 SAP 接続の資格情報をより安全に提供する方法の詳細については、「 SAP アプリケーションをセキュリティで保護する」を参照してください。

重要

UseSnc パラメーターを true に設定して Secure Network Communications (SNC) を有効にすると、アダプターは例外をスローします。

SAP 接続 URI のホスト情報

SAP ホスト情報 (hostinfoparams) は、SAP 接続 URI の 次の要素によって表されます: connectiontype/conndetail1/conndetail2。 これらのパラメーターは、SAP システムへのクライアント接続に関する詳細を指定します。 SAP クライアント接続に関するその他の詳細、および SAP RFC 宛先へのリスナーとしての接続を確立する詳細は、query_stringで指定できます。 SAP アダプターでは、SAP 接続 URI で次のクライアント接続の種類がサポートされています。

  • A: 接続 URI で、SAP アダプターが SAP に接続するアプリケーション サーバーを指定する、アプリケーション ホスト ベースの接続。

  • B: 接続 URI で、SAP アダプターが SAP に接続するメッセージ サーバーを指定する負荷分散接続。

  • D: 接続 URI が、SAP の接続パラメーターを含む saprfc.ini ファイル内の宛先を指定する宛先ベースの接続。

    次の表では、これらの接続を SAP 接続 URI で指定する方法について説明します。

接続の種類 Conndetail1 Conndetail2 説明
A ASHOST (Application Server Host) SYSNR (SAP システム番号) アプリケーション ホストベースの接続を指定します。 アプリケーション ホストベースの接続の場合は、オプションのゲートウェイ ホストとゲートウェイ サービスをquery_stringで指定できます。
B MSHOST (メッセージ サーバー ホスト) R3NAME (SAP R3 名) メッセージ サーバーを介した負荷分散接続を指定します。 負荷分散接続の場合は、オプションのサーバー グループとメッセージ サービスをquery_stringで指定できます。
D DEST (saprfc.ini ファイル内の接続パラメーターを含む宛先) -- 宛先ベースの接続を指定します。 SAP 接続パラメーターは、saprfc.ini ファイル内の指定した宛先に含まれています。 宛先には、A 型接続と B 型接続のみを指定できます。

Note

saprfc.ini ファイルで接続値を指定する場合は、ファイルにアクセスする .exe と同じフォルダー、または SAP システムの必要に応じて標準の場所にファイルが配置されていることを確認します。 詳しくは、SAP のドキュメントをご覧ください。

SAP 接続 URI のクエリ情報

SAP 接続 URI のクエリ情報 (query_string) には、次を指定するために含めることができる省略可能なパラメーターが含まれています。

  • アプリケーション ホストベースの接続 (A) の追加の接続の詳細。

  • 負荷分散接続の追加の接続の詳細 (B)。

  • SAP システムで RFC、TRFC、および IDoc を SAP アダプターに送信できる SAP システムの RFC 宛先を指定するリスナーの詳細。

  • SAP Secure Network Communications (SNC) を有効にするかどうか。

  • デバッグ構成を指定する詳細。

    クエリ パラメーターは省略可能です。ただし、SAP アダプターが RFC サーバーとして機能するには、リスナーの詳細を指定する必要があります。

    次の表では、クエリ パラメーターについて説明し、有効な SAP 接続の種類を示します。

有効な接続の種類 説明
GwHost A アプリケーション ホストベースの接続で、オプションのゲートウェイ ホストの名前を指定します。
GwServ A アプリケーション ホストベースの接続でオプションのゲートウェイ サービスの名前を指定します。
MsServ B 負荷分散接続のオプションのメッセージ サービスの名前を指定します。
Group B 負荷分散接続内のアプリケーション サーバーのオプション のグループを指定します。
ListenerDest (R) rfc サーバー接続の saprfc.ini ファイル内のオプションの宛先を指定します。 変換先では、R 型の接続を指定する必要があります。
ListenerGwHost (R) rfc サーバー接続のゲートウェイ ホストを指定します。 このパラメーターは省略可能です。ただし、rfc サーバー接続が必要で、LISTENERDEST が指定されていない場合、または saprfc.ini ファイル内の宛先によってゲートウェイ ホストが指定されていない場合は、LISTENERGWHOST に有効なゲートウェイ ホストが含まれている必要があります。
ListenerGwServ (R) rfc サーバー接続のゲートウェイ サービスを指定します。 このパラメーターは省略可能です。ただし、rfc サーバー接続が必要で、LISTENERDEST が指定されていない場合、または saprfc.ini ファイル内の宛先によってゲートウェイ サービスが指定されていない場合は、LISTENERGWSERV に有効なゲートウェイ サービスが含まれている必要があります。
ListenerProgramId (R) rfc サーバー接続のプログラム ID を指定します。 このパラメーターは省略可能です。ただし、rfc サーバー接続が必要で、LISTENERDEST が指定されていない場合、または saprfc.ini ファイル内の宛先によってゲートウェイ サービスが指定されていない場合は、LISTENERPROGRAMID に有効なゲートウェイ サービスが含まれている必要があります。
RfcSdkTrace すべて RFC ライブラリ トレースが有効かどうかを指定する省略可能なパラメーター。 値には True または False を指定できます。True の場合、RFC ライブラリトレースが有効になります。 既定値は False です。

RfcSdkTrace パラメーターによって有効になるトレースのレベルは、環境変数RFC_TRACEによって異なります。

- RFC_TRACE存在しない場合、または 0 に設定されている場合は、トレースの最小レベルが有効になります。
- RFC_TRACEを 1 または 2 に設定すると、トレースのレベルを上げることができます。
AbapDebug すべて Visual Studio からの ABAP デバッグを有効にするかどうかを指定する省略可能なパラメーター。 値には True または False を指定できます。True の場合、ABAP デバッグが有効になります。 既定値は False です。 AbapDebug が True の場合、SAP GUI が開きます。
SAPROUTER すべて ファイアウォール経由の接続に SAProuter を使用する場合の省略可能なパラメーター。 このパラメーターは、ホスト名とサービス名/ポート番号の一覧です。形式は /H/hostname/S/portnumber です。

クエリ文字列のパラメーターは SAP パラメーターであり、それらの値は SAP によって定義されます。 これらのパラメーターの詳細については、SAP ドキュメントを参照してください。

アプリケーション ホストベースの接続の接続 URI の例を次に示します。

sap://Client=800;lang=EN@A/YourSAPHOST/00  

[アダプターの構成] ダイアログ ボックスの接続 URI プロパティ

アダプター サービス BizTalk プロジェクト アドインの使用またはアダプター サービス参照の追加 Visual Studio プラグインを使用して SAP システムに接続する場合は、[アダプターの構成] ダイアログ ボックスの [URI のプロパティ] タブから接続 URI パラメーターを設定します。 次の表は、URI プロパティ シートでの URI プロパティ の表示方法を示しています。 (URI プロパティは、URI プロパティ シートに表示される順序でグループ別に一覧表示されます)。

カテゴリ URI プロパティ URI パーツ
アプリケーション サーバー アプリケーション サーバー ホスト Conndetail1 (ホスト情報接続タイプ A)
アプリケーション サーバー ゲートウェイ ホスト GwHost (クエリ文字列)
アプリケーション サーバー ゲートウェイ サービス GwServ (クエリ文字列)
アプリケーション サーバー システム番号 Conndetail2 (ホスト情報接続タイプ A)
宛先 宛先名 Conndetail1 (ホスト情報接続タイプ D)
診断 RFC トレース RfcSdkTrace (クエリ文字列)
診断 ABAP デバッグ AbapDebug (クエリ文字列)
ログイン情報 Client クライアント (userinfoparams)
ログイン情報 言語 言語 (userinfoparams)
メッセージ サーバー アプリケーション サーバー グループ名 グループ (クエリ文字列)
メッセージ サーバー メッセージ サーバー ホスト Conndetail1 (ホスト情報接続タイプ B)
メッセージ サーバー メッセージ サーバー サービス MsServ (クエリ文字列)
メッセージ サーバー R/3 システム名 Conndetail2 (ホスト情報接続タイプ B)
その他 接続の種類 接続の種類 (ホスト情報: A、B、または D)
その他 SAP ルーター SAPROUTER (クエリ文字列)
RFC サーバー 宛先名 ListenerDest (クエリ文字列)
RFC サーバー ゲートウェイ ホスト ListenerGwHost (クエリ文字列)
RFC サーバー ゲートウェイ サービス ListenerGwServ (クエリ文字列)
RFC サーバー プログラム ID ListenerProgramId (クエリ文字列)
SNC UseSnc UseSnc (ユーザー情報)

RFC サーバー接続の接続 URI を指定する方法。

SAP アダプターが RFC サーバーとして機能するエンドポイント アドレスを作成するには、SAP システムの RFC 変換先に対応する SAP プログラム ID、SAP ゲートウェイ ホスト、および SAP ゲートウェイ サービスを指定する必要があります。 SAP で RFC 変換先を設定する方法については、「RFC、 RFC 変換先を作成し、SAP から RFC を送信する」を参照してください。

接続 URI には、次の 2 つの方法のいずれかで、プログラム ID、ゲートウェイ ホスト、ゲートウェイ サービスを指定できます。

  • ListenerGwHost、ListenerGwServ、ListenerProgramId のクエリ パラメーターを設定する

  • ListenerDest クエリ パラメーターを、R 型接続を指定する saprfc.ini ファイル内の宛先に設定します。

Note

saprfc.ini ファイルで接続値を指定する場合は、ファイルにアクセスする .exe と同じ場所、または SAP システムの必要に応じて標準の場所にファイルが存在することを確認します。 詳しくは、SAP のドキュメントをご覧ください。

RFC サーバー接続の接続 URI を指定するには、次の例のように、クエリ文字列で指定された RFC 宛先を使用して通常のクライアント接続を指定します。

sap://Client=800;lang=EN@A/YourSAPHOST/00?ListenerGwHost=YourSAPHOST&ListenerGwServ=SAPGW00&ListenerProgramId=MyProgramId  

SAP アダプターは、接続 URI の userinfoparams および hostinfoparams 部分に含まれる情報を使用して SAP システムからメタデータを取得し、クエリ文字列の Listener パラメーターによって提供される情報を使用して、それ自体を SAP RFC 宛先のリスナーとして登録します。

接続 URI での予約文字の使用

SAP アダプターでは、どのパラメーター値にも特殊文字を含む接続 URI の指定はサポートされていません。 接続パラメーターの値に特殊文字が含まれている場合は、次のいずれかの操作を行ってください。

  • [アダプター サービス参照プラグインの追加] または [アダプター サービス アドインの使用] を使用して Visual Studio で URI を指定する場合は、[ URI のプロパティ ] タブで、つまりエスケープ文字を使用せずにそのまま指定する必要があります。 [ URI の構成 ] フィールドで URI を直接指定し、接続パラメーターに予約文字が含まれている場合は、適切なエスケープ文字を使用して接続パラメーターを指定する必要があります。

  • BizTalk Server管理コンソールで送受信ポートを作成するときに URI を指定し、接続パラメーターに予約文字が含まれている場合は、適切なエスケープ文字を使用して接続パラメーターを指定する必要があります。

接続 URI を使用して SAP システムに接続する

次の場合に SAP システムへの接続を確立する方法について説明します。

参照

SAP システムへの接続を作成する