Siebel アダプターに関する操作上の問題のトラブルシューティング
このセクションでは、Microsoft BizTalk Adapter for Siebel eBusiness Applications の使用時に発生する可能性のある運用上の問題に関する情報を一元的に提供します。
トレースの有効化
Siebel アダプターでのトレースのサポートについては、「 Siebel アダプターの診断トレースとメッセージ ログ」を参照してください。
の既知の問題
Siebel アダプターの使用中に発生する可能性のあるいくつかの問題と推奨される解決策を次に示します。
アダプター バインドの読み込み中にエラーが発生しました
問題
アダプター サービス参照の追加 Visual Studio プラグインまたはアダプター サービス BizTalk プロジェクト アドインを起動しようとすると、GUI で次のエラーが発生します。
There was an error loading the binding, <binding name>, from your system configuration.
ConfigurationErrorsException: Exception has been thrown by the target of an invocation.
原因
アダプター サービス参照の追加プラグインまたはアダプター サービスアドインの使用を開始すると、WCF は、インストールされているすべてのアダプターのアダプター バインドを読み込みます。 さらに、アダプター のバインドは、特定のエンタープライズ アプリケーション クライアント ソフトウェアに依存します。 そのため、次の理由のいずれかまたは両方でこの問題に直面する可能性があります。
アダプターをインストールしたコンピューターに、必要な LOB クライアント ソフトウェアがインストールされていません。
BizTalk アダプター パック内のすべてのアダプターをインストールするアダプターの "標準" または "完了" インストールを行いました。 ただし、クライアント ライブラリは、1 つのエンタープライズ アプリケーションにのみインストールできます。 その結果、GUI は他のアダプターのバインドの読み込みに失敗します。
解決策
BizTalk アダプター パックをインストールしたコンピューターに、必要なクライアント バージョンがインストールされていることを確認します。
必要なアダプターのみをインストールするには、アダプターのカスタム インストールを行ってください。
Siebel アダプターが、BizTalk Server管理コンソールのアダプターの一覧に表示されない
問題
BizTalk Server付属のアダプターの以前のバージョンとは異なり、BizTalk アダプター パックに付属の Siebel アダプターは、BizTalk Server管理コンソールのアダプターの一覧に表示されません。
原因
最新の Siebel アダプターは、WCF カスタム バインドです。 そのため、BizTalk Server管理コンソールには WCF-Custom アダプターが表示されますが、WCF カスタム バインドは表示されないため、WCF ベースの Siebel アダプターは表示されません。
解像度
BizTalk Server管理コンソールに Siebel アダプターを明示的に追加するには、「Siebel アダプターを管理コンソールに追加する」で説明されている手順BizTalk Server従います。
Siebel システムへの接続中にエラーが発生しました
問題
アダプター サービス参照の追加プラグインまたはアダプター サービスアドインを使用すると、Siebel システムに接続しようとすると、次のエラーが表示されます。
Connecting to the system LOB has failed. Retrieving the COM class factory for component with CLSID {ID} failed due to the following error: 80040154
原因
Siebel Web クライアントがコンピューターにインストールされていない可能性があります。
解像度
サポートされているバージョンの Siebel Web クライアントがコンピューターにインストールされていることを確認します。 Siebel でサポートされているクライアントとサーバーのバージョンについては、インストール ガイドを参照してください。 インストール ガイドは、システム ドライブ>:\Program Files\Microsoft BizTalk Adapter Pack\Documents で<入手できます。
65536 ノードを超える XML の取得中にエラーが発生しました
問題
アダプターでは、65536 ノードを超える XML 出力を取得するときに、次のエラーが発生します。
Maximum number of items that can be serialized or deserialized in an object graph is '65536'.
Change the object graph or increase the MaxItemsInObjectGraph quota.
原因
アダプターは、65536 項目を超えるオブジェクトをシリアル化および逆シリアル化できません。
解像度
この問題は、 パラメーターを maxItemsInObjectGraph
設定することで修正できます。 これは、次の 2 つの方法のいずれかで設定できます。
サービス クラスの 属性の パラメーターを
maxItemsInObjectGraph
変更して、ServiceBehavior
このパラメーターを設定します。アプリケーションの app.config ファイルに次を追加します。
<behaviors> <endpointBehaviors> <behavior name="NewBehavior"> <dataContractSerializer maxItemsInObjectGraph="65536000" /> </behavior> </endpointBehaviors> </behaviors>
サンプル app.config は次のようになります。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior name="NewBehavior">
<dataContractSerializer maxItemsInObjectGraph="65536000" />
</behavior>
</endpointBehaviors>
</behaviors>
<client>
<endpoint behaviorConfiguration="NewBehavior" binding="siebelBinding"
contract="IOutboundContract" name="siebel_ICalculator" />
</client>
</system.serviceModel>
</configuration>
BizTalk で WCF-Custom ポートの接続 URI を指定中にエラーが発生しました
問題
BizTalk Server、Siebel システムに接続する接続 URI を指定すると、次のエラーが発生します。
Error saving properties.
(System.ArgumentException) The specified address is invalid.
(System.ArgumentException) Invalid address;
"<connection URI>" is not a well-formed absolute uri.
原因
接続 URI は、標準のエンコード形式に準拠していません。 たとえば、パラメーターの値にスペースが含まれている場合があります。
解像度
指定する接続 URI が標準のエンコード形式に準拠していることを確認します。 たとえば、空白は "%20" に置き換える必要があります。
Siebel システムでの操作の実行中にエラーが発生しました
問題
BizTalk Serverを使用して Siebel システムで操作を実行すると、アダプターによって次のエラーが発生します。
BizTalk Serverの場合
System.ArgumentNullException: Value cannot be null.
原因
メッセージの WCF アクションが指定されていません。 WCF では、すべての操作に対して SOAP アクションを指定する必要があります。これにより、LOB アプリケーションで実行される操作についてアダプターに通知されます。
解像度
送信ポートで SOAP アクションを指定するか、BizTalk オーケストレーションのメッセージ コンテキスト プロパティとして指定します。 手順については、「 Siebel の SOAP アクションを構成する」を参照してください。 各操作のアクションの一覧については、「 メッセージとメッセージ スキーマ 」を参照してください。
指定したアクションの操作名が正しくないための XmlReaderParsingException
問題
BizTalk Server管理コンソールでは、Siebel システムにメッセージを送信するときに次のエラーが表示されます。
Microsoft.ServiceModel.Channels.Common.XmlReaderParsingException: Invalid argument:
<BtsActionMapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Operation Name="<operation_name>" Action="<action>" />
</BtsActionMapping>
原因
アダプター サービス BizTalk プロジェクト アドインを使用して作成したポート バインド ファイルをインポートして WCF-Custom ポートを構成する場合、ポートのアクションは次の形式で指定されます。
<BtsActionMapping>
<Operation Name="Op1" Action="http://MyService/Svc/Op1" />
</BtsActionMapping>
前の形式では、操作名はスキーマの生成中に選択した操作によって制御されます。 たとえば、Siebel ビジネス コンポーネントに対して Query 操作のスキーマを生成した場合、アクションの操作名は "Query" になります。 ただし、Visual Studio の BizTalk オーケストレーションで作成された論理ポートの操作名は異なる場合があります。
解像度
論理ポート (Visual Studio の BizTalk オーケストレーション内) と物理ポート (BizTalk Server管理コンソール) の両方の操作名が同じであることを確認します。
Siebel アダプターを使用するアプリケーションが終了しない
問題
Siebel クライアント バージョン 7.5 で Siebel アダプターを使用するアプリケーションは終了しません。
原因
これは、Siebel サーバーからログオフするときにプロセスが終了しない Siebel クライアントの問題が原因です。
解決策
Siebel サーバー用のパッチ 7.5.3.17 とクイック修正プログラム QF0H05 がインストールされていることを確認します。
Siebel サーバーが再起動された場合、Siebel アダプターがハングする可能性がある
問題
Siebel アダプターが を使用して Siebel サーバーにメッセージを送信しているときに Siebel サーバーを再起動すると、Siebel アダプターがハングする可能性があります。
解像度
BizTalk アプリケーション ホスト インスタンスを再起動します。 BizTalk Server管理コンソールからこれを行うには、コンソール ツリーで [BizTalk グループ] を展開し、[プラットフォームの設定] を展開して、[ホスト インスタンス] をクリックします。 右側のウィンドウでホスト名を右クリックし、[再起動] を選択 します。
アダプター サービスアドインによって生成されたバインド ファイルを使用してポートを作成した場合でも、アダプターは物理ポートでのアクションを認識しません
問題
アダプター サービス アドインを使用して Siebel システム上の特定の操作のスキーマを生成すると、アドインによってポート バインド ファイルも作成されます。 BizTalk Server管理コンソールを使用して、このバインド ファイルをインポートして、BizTalk Serverに物理ポートを作成できます。 ただし、このようなポートを使用して Siebel システムにメッセージを送信すると、アダプターはポートで指定されたアクションを理解できず、次のようなエラーが発生します。
Microsoft.ServiceModel.Channels.Common.UnsupportedOperationException: Incorrect Action
<BtsActionMapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Operation Name="<op_name>" Action="<action>" />
</BtsActionMapping>. Correct the specified Action, or refer to the documentation on the allowed formats for the Actions.
原因
BizTalk オーケストレーションで論理ポートを作成する場合は、それらのポートに対する操作に特定の名前を指定するか、Operation_1、Operation_2などの既定の名前を使用します。ただし、アダプター サービス アドインの使用によって生成されるバインド ファイルでは、操作名はメタデータを生成する操作の名前と同じです。 たとえば、アカウント ビジネス コンポーネントに対する挿入操作のメタデータを生成すると、アクションは次のように設定されます。
<Operation Name="Insert" Action="http://Microsoft.LobServices.Siebel/2007/03/BusinessObjects/Account/Account/Insert" />
バインド ファイルをインポートすると、物理ポートで同じアクションが設定されます。 そのため、論理ポートの操作名 (Operation_1、Operation_2など) は、物理ポートのアクションで指定された操作名と一致しないため、エラーが発生します。
解決策
論理ポートの操作名が、物理ポートのアクションの一部として指定された操作名と同じであることを確認します。 次のいずれかの操作を行います。
BizTalk オーケストレーションの論理ポートの操作名を、Operation_1などからメタデータを生成する操作 (Insert など) に変更します。
物理ポートのアクションの操作名を論理ポートの操作名に変更します。 たとえば、物理ポートのアクションを次のように変更できます。
<Operation Name="Operation_1" Action="http://Microsoft.LobServices.Siebel/2007/03/BusinessObjects/Account/Account/Insert" />
Siebel アダプターは、名前に XML でエンコードされた文字列を含む Siebel オブジェクトを処理しません
問題
Siebel アダプターは、名前に XML でエンコードされた文字列を含む Siebel オブジェクト (ビジネス オブジェクト、ビジネス コンポーネント、ビジネス サービス、ピックリスト、メソッド、フィールド、引数など) を含む操作を実行できません。 たとえば、Siebel アダプターは、Time_x0020_Stampという名前のビジネス サービス メソッドを呼び出すことができるようになります。
解像度
Siebel オブジェクトの名前に XML エンコード文字列が含まれていないことを確認します。
BizTalk プロジェクトでの RootNode TypeName のエラー
問題
Visual Studio の BizTalk プロジェクトで、アダプター サービス アドインの使用から生成されたスキーマに 、RootNode TypeName プロパティの無効な文字または予約語が含まれている場合、プロジェクトのコンパイル中に次のエラーが発生します。
Node <node reference> - Specify a valid .NET type name for this root node.
The current .NET type name of this root node is invalid (it is a reserved BizTalk Keyword or is an invalid C# identifier).
解像度
エラーで参照されているルード ノードを右クリックし、[プロパティ] を選択 します。
RootNode TypeName プロパティの場合は、無効な文字や予約語 (ドット (.) など) を削除します。
Visual Studio でアダプターを使用するときのバインド警告が無効です
問題
アダプターを使用して Visual Studio でアプリケーションを作成し、アダプターによって生成された構成ファイル (app.config) を開くと、次のような警告が表示されます。
The element 'bindings' has invalid child element 'siebelBinding'. List of possible elements expected: 'basicHttpBinding, customBinding, ...
原因
この警告が表示されるのは、Siebel アダプター バインド である は、 siebelBinding
Windows Communication Foundation (WCF) に付属している標準のバインドではありません。
解決策
この警告は無視してかまいません。