0

次のように受信場所を有効にすると、例外 (アプリケーション ログにエラー) が発生します。

メッセージング エンジンは、受信場所「My-Receive-Location」を URL「jms://TestServer:1099/Queue/testQueue/TestClientId/receive/Text」でアダプタ「JNBridge JMS」に追加できませんでした。理由: 「'com.jnbridge.jnbcore.ObjectWrapper' の型初期化子が例外をスローしました。」.

JNBridge JMS アダプターに関する私の調査によると、com.jnbridge.jnbcore.ObjectWrapper多くの場合、より有益な InnerException がラップされます。

ただし、スローされたときにこの例外をキャッチする方法はないようです。

これまでの私の最善の試みは、次のようにコードで受信場所を有効にすることです ( http://msdn.microsoft.com/en-us/library/microsoft.biztalk.explorerom.receivelocation(v=bts.20).aspxから) :

private static void EnumerateReceiveLocations()
{
    BtsCatalogExplorer root = new BtsCatalogExplorer();
    try
    {
        root.ConnectionString = "Server=.;Initial Catalog=BizTalkMgmtDb;Integrated Security=SSPI;";

        //Enumerate the receive locations in each of the receive ports.
        foreach (ReceivePort receivePort in root.ReceivePorts)
        {
            Console.Out.WriteLine(receivePort.Name);
            //Enumerate the receive locations.
            foreach (ReceiveLocation location in
               receivePort.ReceiveLocations)
            {
                Console.Out.WriteLine(location.Name);
                if (location.Name == "My-Receive-Location")
                {
                    location.Enable = true;
                    root.SaveChanges();
                }
            }
        }
        Console.Read();
    }
    catch (Exception e)//If it fails, roll-back all changes.
    {
        throw e;
    }
}

ただし、これは実行中に例外をスローせず、Windows アプリケーション ログに同じエラーを発生させるだけです。

そのため、BizTalk 受信場所の有効化中にスローされた例外に関する詳細情報を取得する方法はありますか?

4

1 に答える 1

3

アダプタのトランスポートハンドラでエラーロギングを有効にするのはどうですか?ログファイルの名前/場所を指定し、必要に応じてエラーログのオンとオフを切り替えることができます。エラーログには、根本的な原因が見つかるすべてのネストされた内部例外が含まれます。ユーザーガイド、16ページのバージョン2.1を確認してください。アダプターの送信側と受信側の両方を使用している場合は、送信および受信トランスポート・ハンドラーでエラー・ロギングを構成して、同じファイルを指すようにします。

ウィリアム

于 2011-06-08T05:49:29.307 に答える