Sümptomid
Järgmine erand visatakse koos Microsoft BizTalk Server 2013 ESB 2.2 on ItinerarySelectReceiveXML saada konveieri kasutatakse helistamiseks Ärireeglite mootor (kasutades BRI ESB lahendaja) marsruuti dünaamiliselt valimiseks.
Erand on visatakse poolt kutsumise eesmärk.
Allikas: Microsoft.Practices.ESB.Resolver.ResolverMgr
Meetod: System.Collections.Generic.Dictionary'2[System.String,System.String] lahendada (Microsoft.Practices.ESB.Resolver.ResolverInfo, Microsoft.BizTalk.Message.Interop.IBaseMessage, Microsoft.BizTalk.Component.Interop.IPipelineContext)
Tõrke allikas: mscorlib
Tõrge TargetSite: System.Object InvokeMethod(System.Object, System.Object[], System.Signature, Boolean)
Tõrge StackTrace: kell System.RuntimeMethodHandle.InvokeMethod (objekti target, Object [] argumendid, allkirja sig, Boolean konstruktor)
at System.Reflection.RuntimeConstructorInfo.Invoke (BindingFlags invokeAttr, Binder binder, Object [] parameetreid, CultureInfo culture)
at System.RuntimeType.CreateInstanceImpl (BindingFlags bindingAttr, Binder binder, Object [] args, CultureInfo culture, Object [] activationAttributes, StackCrawlMark ja stackMark)
at System.Activator.CreateInstance (tüüp tüüp, BindingFlags bindingAttr, Binder binder, Object [] args, CultureInfo culture, Object [] activationAttributes)
at System.Activator.CreateInstance (Type type, objekti [] args)
at Microsoft.Practices.ESB.Resolver.ResolverFactory.Create (String võti)
at Microsoft.Practices.ESB.Resolver.ResolverMgr.GetResolver (ResolverInfo info)
at Microsoft.Practices.ESB.Resolver.ResolverMgr.Resolve (ResolverInfo info, IBaseMessage teade, IPipelineContext pipelineContext)
Põhjus
ESB Toolkit 2.2 kasutab ühtsuse 2.0, mis nõuab esb.config faili muudatusi.
Lahendus
Peate värskendama faili esb.config selle probleemi lahendamiseks. Selleks Salvesta varukoopia algse esb.config (vaikeasukoht on C:\Program Files (x86) \Microsoft BizTalki ESB tööriistakomplekt) enne muudatuste tegemist järgmised muudatused. Arvestage, et esb.config failis tehtud muudatuste on protsess, mis kasutab ESB prügikasti.
Käsitsi muuta olemasoleva esb.config faili:
-
Eemalda element < typeConfig >
-
Muuda element < typeAlias > < alias >
-
Muuda registreeruda < > < tüüp > element
-
< Ümbrised > elementide eemaldamiseks
-
< Tüübid > elementide eemaldamiseks
-
< TypeAliases > elementide eemaldamiseks
-
Eemaldage parameterType atribuudi < param > elemente.
-
Eemaldage < väärtus > element jooksul atribuudi type < param name = "overrideExistingItinerary" >
Kõik eespool nimetatud muutused toimuma esb.config faili sektsiooni < esb.resolver >. Allpool on < esb.resolver > jaotises kõik juba eespool kirjeldatud muudatused.
<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>
Lisateabe saamiseks
Lisateabe saamiseks ühtsuse 2.0 http://msdn.microsoft.com/en-us/library/ff660914(v=pandp.20).aspx