SAP アダプターのインストールに関する問題のトラブルシューティング
Microsoft BizTalk アダプター パックをインストールすると、コンピューターに製品バイナリがコピーされ、各アダプターのバインドが登録されます。 このセクションでは、インストール エラーを解決するためのトラブルシューティング手法について説明します。
セットアップ アクションのメッセージのログ記録
BizTalk アダプター パック セットアップ プログラムは、BizTalk アダプター パックをインストールする標準的なタスクを実行します。 さらに、セットアップでは、アダプター バインドの登録など、特定のカスタム アクションも実行されます。 セットアップで実行される標準アクションとカスタム アクションの両方のメッセージをログに記録できます。
BizTalk アダプター パックのセットアップでは、MSI を使用してアダプター固有のファイルがインストールされます。 そのため、セットアップのログ記録は標準の MSI ログです。
セットアップ プログラムが実行するカスタム アクションのログは、%TEMP%\adaptersetup.log で入手できます。 ログ ファイルへのトレースが失敗した場合、トレースはイベント ログでも使用できます。
アダプター バインドまたはデータ プロバイダーの登録に失敗する
問題
Microsoft BizTalk アダプター パックセットアップ ウィザードは、アダプター バインドまたは mySAP Business Suite 用の.NET Framework データ プロバイダーの登録に失敗しますが、アダプターのインストールを続行します。
原因
これは、Windows Communication Foundation (WCF) のインストール、Microsoft Windows Communication Foundation (WCF) 基幹業務 (LOB) アダプター SDK のインストール、または machine.config ファイルが破損していることが原因で発生する可能性があります。 アダプター バインドは、machine.config ファイルに書き込まれます。
解決策
SAP アダプター バインドまたは Data Provider for SAP を手動で登録する必要があります。
アダプター バインドまたはデータ プロバイダーを登録する
コンピューター上の machine.config ファイルに移動します。 たとえば、32 ビット プラットフォームでは、machine.config はシステム ドライブ>:\WINDOWS\Microsoft.NET\Framework\version>\<CONFIG で<使用できます。
このパスでは、<version> は.NET Frameworkのバージョンです。
テキスト エディターを使用してファイルを開きます。
SAP アダプター バインドを登録するには:
要素 "system.serviceModel" を検索し、その下に次を追加します。
<client> <endpoint binding="sapBinding" contract="IMetadataExchange" name="sap" /> </client>
system.serviceModel\extensions で要素 "bindingElementExtensions" を検索します。
不足している SAP アダプター バインドを探します。 "bindingElementExtensions" ノードの下に次のセクションを追加します。
SAP アダプターの場合は、次を追加します。
<add name="sapAdapter" type="Microsoft.Adapters.SAP.SAPAdapterExtensionElement,Microsoft.Adapters.SAP, Version=<version>, Culture=neutral, PublicKeyToken=<public key>" />
system.serviceModel\extensions で要素 "bindingExtensions" を検索します。
不足している SAP アダプター バインドを探します。 "bindingExtensions" ノードの下に次のセクションを追加します。
SAP アダプターの場合は、次を追加します。
<add name="sapBinding" type="Microsoft.Adapters.SAP.SAPAdapterBindingSection,Microsoft.Adapters.SAP, Version=<version>, Culture=neutral, PublicKeyToken=<public key>" />
Note
公開キーを決定する方法については、「 公開キーとバージョンの決定」を参照してください。
SAP のデータ プロバイダーを登録するには:
"system.data" ノードの下にある要素 "DbProviderFactories" を検索します。
不足している SAP 用データ プロバイダーを探します。 "DbProviderFactories" ノードの下に次のセクションを追加します。
[Data Provider for SAP]\(データ プロバイダー for SAP\) の場合は、次のように追加します。
<add name="SAPClient Data Provider" invariant="Microsoft.Data.SAPClient" description=".NET Framework Data Provider for mySAP Business Suite" type="Microsoft.Data.SAPClient.SAPClientFactory,Microsoft.Data.SAPClient, Version=<version>, Culture=neutral, PublicKeyToken=<public key>" />
machine.config ファイルを保存して閉じます。
公開キーとバージョンの決定
次の手順を実行して、SAP アダプターまたは Data Provider for SAP の公開キーを確認します。
Windows ディレクトリ (通常は C:\WINDOWS\assembly) に移動します。
公開キーが必要な DLL を右クリックし、[ プロパティ] を選択します。 次の表に、SAP アダプター用 DLL と DATA Provider for SAP の DLL の名前を示します。
アダプター/データ プロバイダー DLL の名前 SAP アダプター Microsoft.Adapters.SAP Data Provider 用 SAP Microsoft.Data.SAPClient [ 全般 ] タブの [公開キー トークン ] ラベルに対する値は、DLL の公開キーを指定します。 同様に、 Version ラベルに対する値は DLL のバージョン番号を指定します。
公開キーをコピーし、[ キャンセル] をクリックします。
有効なアダプターがインストールされていませんエラー
問題
64 ビット バージョンの BizTalk アダプター パックを実行している 64 ビット コンピューターで、Visual Studio からアダプター サービス参照 Visual Studio プラグインまたはアダプター サービス BizTalk プロジェクト アドインを使用すると、次のエラーが発生します。
No valid adapters are installed on this machine
原因
SAP アダプターは WCF カスタム バインドであり、machine.config ファイルの System.ServiceModel に登録されます。 64 ビット プラットフォームには 2 つの machine.config ファイルがあり、1 つは 32 ビット アプリケーションで使用され、もう 1 つは 64 ビット アプリケーションで使用されます。 そのため、BizTalk アダプター パックの 64 ビット バージョンをインストールすると、セットアップ ウィザードによって、machine.config ファイルの 64 ビット バージョンにバインドが登録されます。 ただし、Visual Studio は 32 ビット プロセスとして実行されるため、Visual Studio からアダプター サービス アドインを起動すると、プラグインは 32 ビット バージョンの machine.config ファイル内のバインドをチェックし、エラーが発生します。
解像度
BizTalk アダプター パックの 32 ビットバージョンと 64 ビット バージョンの両方を 64 ビット WCF LOB アダプター SDK インストールにインストールします。
重要
64 ビットの WCF LOB アダプター SDK のみをインストールする必要があります。 1 台のコンピューターでの 32 ビットおよび 64 ビット WCF LOB アダプター SDK のサイド バイ サイド インストールはサポートされていません。
SAP アダプター (librfc32u.dll など) のクライアント DLL の 32 ビットバージョンと 64 ビットバージョンの両方を PATH 変数に追加します。 32 ビット バージョンの DLL を C:\Windows\SysWow64 フォルダーに追加する必要があります。 64 ビット バージョンの DLL を C:\Windows\System32 フォルダーに追加する必要があります。
重要
アダプター (32 または 64 ビット) が 64 ビット オペレーティング システムを備えたコンピューターで実行されていて、アダプターを使用してアプリケーションを作成する場合は、アプリケーションをアダプターと同じ種類 (32 または 64 ビット) にマークする必要があります。 また、RFC SDK のバージョン (32 または 64 ビット) は、アダプターのバージョン (32 または 64 ビット) と同じである必要があります。
たとえば、64 ビット オペレーティング システムを搭載したコンピューターで 32 ビット アダプターが実行されている場合、アダプター クライアント アプリケーションは 32 ビットとしてマークする必要があります。
SAP クライアント DLL の詳細については、「 Data Provider for SAP のカスタム RFC をインストールする」を参照してください。
SAP アダプター ポートの構成中に無効なバインド エラーが発生しました
問題
BizTalk Server管理コンソールでアダプターのポートを構成しようとすると、次のエラーが表示されます。
"Unable to create binding configuration element for editing. Check the values of the BindingType and BindingConfiguration properties.
(Microsoft.Biztalk.Adapter.Wcf.Converters.CreateBindingException) Unable to get binding type for binding extension "sapBinding".
Verify the binding extension is registered in machine.config."
原因
SAP アダプターは WCF カスタム バインドであり、machine.config ファイルの System.ServiceModel に登録されます。 64 ビット プラットフォームには 2 つの machine.config ファイルがあり、1 つは 32 ビット アプリケーションで使用され、もう 1 つは 64 ビット アプリケーションで使用されます。 そのため、BizTalk アダプター パックの 64 ビット バージョンをインストールすると、セットアップ ウィザードによって、machine.config ファイルの 64 ビット バージョンにバインドが登録されます。 ただし、BizTalk Server管理コンソールは 32 ビット プロセスとして実行されるため、アダプターのポートを構成すると、machine.config ファイルの 32 ビット バージョンのバインドがチェックされ、エラーが発生します。
解像度
BizTalk アダプター パックの 32 ビットバージョンと 64 ビット バージョンの両方を 64 ビット WCF LOB アダプター SDK インストールにインストールします。
重要
64 ビットの WCF LOB アダプター SDK のみをインストールする必要があります。 1 台のコンピューターでの 32 ビットおよび 64 ビット WCF LOB アダプター SDK のサイド バイ サイド インストールはサポートされていません。
SAP アダプター (librfc32u.dll など) のクライアント DLL の 32 ビットバージョンと 64 ビットバージョンの両方を PATH 変数に追加します。 32 ビット バージョンの DLL を C:\Windows\SysWow64 フォルダーに追加する必要があります。 64 ビット バージョンの DLL を C:\Windows\System32 フォルダーに追加する必要があります。
重要
アダプター (32 または 64 ビット) が 64 ビット オペレーティング システムを備えたコンピューターで実行されていて、アダプターを使用してアプリケーションを作成する場合は、アプリケーションをアダプターと同じ種類 (32 または 64 ビット) にマークする必要があります。 また、RFC SDK のバージョン (32 または 64 ビット) は、アダプターのバージョン (32 または 64 ビット) と同じである必要があります。
たとえば、64 ビット オペレーティング システムを搭載したコンピューターで 32 ビット アダプターが実行されている場合、アダプター クライアント アプリケーションは 32 ビットとしてマークする必要があります。
SAP クライアント DLL の詳細については、「 Data Provider for SAP のカスタム RFC をインストールする」を参照してください。