適用先
BizTalk Server 2013 Branch BizTalk Server 2013 Developer BizTalk Server 2013 Enterprise BizTalk Server 2013 Standard

現象

ItinerarySelectReceiveXML が表示されたら Microsoft BizTalk Server 2013年の ESB 2.2 で次の例外がスローされます (ESB BRI リゾルバーを使用して) 日程を動的に選択するビジネス ルール エンジンを呼び出すためにパイプラインが使用されます。

呼び出しのターゲットによって例外がスローされました。ソース: Microsoft.Practices.ESB.Resolver.ResolverMgrメソッド: System.Collections.Generic.Dictionary'2[System.String,System.String] (Microsoft.Practices.ESB.Resolver.ResolverInfo、Microsoft.BizTalk.Message.Interop.IBaseMessage、Microsoft.BizTalk.Component.Interop.IPipelineContext) を解決するにはエラーの発生元: mscorlibエラー TargetSite: System.Object InvokeMethod(System.Object, System.Object[], System.Signature, Boolean)エラーのスタック トレース: System.RuntimeMethodHandle.InvokeMethod (対象のオブジェクト、オブジェクトの引数、署名 sig、ブール型のコンス トラクター) でSystem.Reflection.RuntimeConstructorInfo.Invoke (BindingFlags invokeAttr、バインダー バインダー、オブジェクトのパラメーター、カルチャの CultureInfo) でSystem.RuntimeType.CreateInstanceImpl (BindingFlags トラクター バインダー バインダー、オブジェクトの引数、カルチャの CultureInfo オブジェクトの activationAttributes、StackCrawlMark & stackMark) でSystem.Activator.CreateInstance (型 BindingFlags トラクター、バインダー バインダー、オブジェクトの引数、カルチャの CultureInfo オブジェクトの activationAttributes) でSystem.Activator.CreateInstance (型、オブジェクトの引数) にMicrosoft.Practices.ESB.Resolver.ResolverFactory.Create (文字列キー) でMicrosoft.Practices.ESB.Resolver.ResolverMgr.GetResolver (ResolverInfo 情報) でMicrosoft.Practices.ESB.Resolver.ResolverMgr.Resolve (ResolverInfo 情報、メッセージを IBaseMessage、IPipelineContext pipelineContext) で

原因

ESB Toolkit 2.2 では、esb.config ファイルへの変更を必要とする Unity 2.0 を使用します。

解決策

この問題を解決するのには esb.config ファイルを更新する必要があります。これを行うには、元の esb.config のバックアップ コピーを保存します (既定の場所は、C:\Program Files (x86) \Microsoft BizTalk ESB Toolkit) の次の変更を行う前にします。Esb.config ファイルの変更で、ESB を使用しているプロセスのリサイクルを要求することに注意してください。次のように既存の esb.config ファイルを手動で変更します。

  1. < TypeConfig > 要素を削除します。

  2. < エイリアス > < typeAlias > 要素を変更します。

  3. < 登録 > < 種類 > 要素を変更します。

  4. < コンテナー > 要素を削除します。

  5. < 種類 > 要素を削除します。

  6. < TypeAliases > 要素を削除します。

  7. < パラメーター > 要素のパラメタ属性を削除します。

  8. 内の < 値 > 要素の type 属性を削除する < パラメーター名 ="overrideExistingItinerary">

上記の変更をすべて実行 esb.config ファイルの < esb.resolver > セクション内にあります。既に実装されている上記の変更のすべての < esb.resolver > セクションを次に示します。

  <esb.resolver xmlns="http://schemas.microsoft.com/practices/2010/unity>">      <!-- Lifetime manager types -->      <alias alias="singleton" type="Microsoft.Practices.Unity.ContainerControlledLifetimeManager, Microsoft.Practices.Unity, Version=2.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />      <!-- std type providers -->    <alias alias="string" type="System.String, mscorlib"/>    <alias alias="int" type="System.Int32, mscorlib"/>    <alias alias="bool" type="System.Boolean, mscorlib"/>      <!-- repository providers -->    <alias alias="IRepositoryProvider" type="Microsoft.Practices.ESB.Resolver.Itinerary.Facts.Repository.IRepositoryProvider, Microsoft.Practices.ESB.Resolver.Itinerary.Facts, Version=2.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>    <alias alias="SqlRepositoryProvider" type="Microsoft.Practices.ESB.Resolver.Itinerary.DataAccess.SqlRepositoryProvider, Microsoft.Practices.ESB.Resolver.Itinerary.DataAccess, Version=2.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>      <!-- fact providers -->    <alias alias="IFactProvider" type="Microsoft.Practices.ESB.Resolver.Facts.IFactProvider, Microsoft.Practices.ESB.Resolver.Facts, Version=2.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>    <alias alias="IFactTranslator" type="Microsoft.Practices.ESB.Resolver.Facts.IFactTranslator, Microsoft.Practices.ESB.Resolver.Facts, Version=2.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>    <alias alias="ItineraryFactProvider" type="Microsoft.Practices.ESB.Resolver.Itinerary.Facts.ItineraryFactProvider, Microsoft.Practices.ESB.Resolver.Itinerary.Facts, Version=2.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>    <alias alias="ItineraryStaticFactProvider" type="Microsoft.Practices.ESB.Resolver.Itinerary.Facts.ItineraryStaticFactProvider, Microsoft.Practices.ESB.Resolver.Itinerary.Facts, Version=2.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>    <alias alias="ItineraryHeaderFactProvider" type="Microsoft.Practices.ESB.Resolver.Itinerary.Facts.ItineraryHeaderFactProvider, Microsoft.Practices.ESB.Resolver.Itinerary.Facts, Version=2.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>   <alias alias="ItineraryContentsFactProvider" type="Microsoft.Practices.ESB.Resolver.Itinerary.Facts.ItineraryContentsFactProvider, Microsoft.Practices.ESB.Resolver.Itinerary.Facts, Version=2.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>    <alias alias="ResolutionFactProvider" type="Microsoft.Practices.ESB.Resolver.Itinerary.Facts.ResolutionFactProvider, Microsoft.Practices.ESB.Resolver.Itinerary.Facts, Version=2.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>    <alias alias="DefaultFactTranslator" type="Microsoft.Practices.ESB.Resolver.Facts.DefaultFactTranslator, Microsoft.Practices.ESB.Resolver.Facts, Version=2.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>    <alias alias="ItineraryFactTranslator" type="Microsoft.Practices.ESB.Resolver.Itinerary.Facts.ItineraryFactTranslator, Microsoft.Practices.ESB.Resolver.Itinerary.Facts, Version=2.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>    <alias alias="ItineraryContentsFactTranslator" type="Microsoft.Practices.ESB.Resolver.Itinerary.Facts.ItineraryContentsFactTranslator, Microsoft.Practices.ESB.Resolver.Itinerary.Facts, Version=2.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>      <!-- resolve providers -->    <alias alias="IResolveProvider" type="Microsoft.Practices.ESB.Resolver.IResolveProvider, Microsoft.Practices.ESB.Resolver, Version=2.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>    <alias alias="ItineraryResolveProvider" type="Microsoft.Practices.ESB.Resolver.Itinerary.BREItineraryResolverContainer,Microsoft.Practices.ESB.Resolver.Itinerary, Version=2.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 "/>    <alias alias="StaticItineraryResolveProvider" type="Microsoft.Practices.ESB.Resolver.Itinerary.StaticItineraryResolveContainer,Microsoft.Practices.ESB.Resolver.Itinerary, Version=2.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35 "/>    <!-- test containers -->      <container name="BRI">          <register type="IResolveProvider" mapTo="ItineraryResolveProvider" />        <register type="IFactProvider" mapTo="ItineraryFactProvider" name="ItineraryFactProvider">            <lifetime type="singleton" />          </register>        <register type="IRepositoryProvider" mapTo="SqlRepositoryProvider" name="CurrentRepositoryProvider">            <lifetime type="singleton" />              <constructor>                <param name="connectionStringName">                  <value value="ItineraryDb"/>                </param>                <param name="cacheManagerName">                  <value value="Itinerary Cache Manager"/>                </param>                <param name="cacheTimeout">                  <value value="120" />                </param>              </constructor>          </register>        <register type="IFactTranslator" mapTo="DefaultFactTranslator" name="DefaultFactTranslator">            <lifetime type="singleton" />          </register>        <register type="IFactTranslator" mapTo="ItineraryFactTranslator" name="ItineraryFactTranslator">            <lifetime type="singleton" />              <constructor>                <param name="repositoryProvider">                  <dependency name="CurrentRepositoryProvider"/>                </param>              </constructor>          </register>      </container>      <container name="ITINERARY">        <register type="IResolveProvider" mapTo="StaticItineraryResolveProvider" />        <register type="IRepositoryProvider" mapTo="SqlRepositoryProvider" name="CurrentRepositoryProvider">            <lifetime type="singleton" />              <constructor>                <param name="connectionStringName">                  <value value="ItineraryDb"/>                </param>                <param name="cacheManagerName">                  <value value="Itinerary Cache Manager"/>                </param>                <param name="cacheTimeout">                  <value value="120" />                </param>              </constructor>          </register>        <register type="IFactProvider" mapTo="ResolutionFactProvider" name="ResolutionFactProvider"  />    <register type="IFactProvider" mapTo="ItineraryHeaderFactProvider" name="HeaderFactProvider"  />        <register type="IFactProvider" mapTo="ItineraryStaticFactProvider" name="StaticFactProvider"  />        <register type="IFactProvider" mapTo="ItineraryContentsFactProvider" name="ItineraryContentsFactProvider"  />        <register type="IFactTranslator" mapTo="DefaultFactTranslator" name="DefaultFactTranslator">            <lifetime type="singleton" />          </register>            <register type="IFactTranslator" mapTo="ItineraryFactTranslator" name="ItineraryFactTranslator">            <lifetime type="singleton" />              <constructor>                <param name="repositoryProvider">                  <dependency name="CurrentRepositoryProvider"/>                </param>              </constructor>          </register>        <register type="IFactTranslator" mapTo="ItineraryContentsFactTranslator" name="ItineraryContentsFactTranslator">    <lifetime type="singleton" />      <constructor>       <param name="overrideExistingItinerary">        <value value="False"/>       </param>      </constructor>    </register>    </container>  </esb.resolver>

詳細

Unity 2.0 の詳細についてhttp://msdn.microsoft.com/en-us/library/ff660914(v=pandp.20).aspx

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。