Applies ToBizTalk Server 2013 Branch BizTalk Server 2013 Developer BizTalk Server 2013 Enterprise BizTalk Server 2013 Standard

Symptomer

Den følgende unntak med ESB 2.2 på Microsoft BizTalk Server 2013 når mottar ItinerarySelectReceiveXML rørledning brukes til å kalle motoren Business regler for å velge en reiserute (med ESB BRI Resolver) dynamisk.

Unntak er registrert av målet for et anrop.Kilde: Microsoft.Practices.ESB.Resolver.ResolverMgrMetode: System.Collections.Generic.Dictionary'2[System.String,System.String] løse (Microsoft.Practices.ESB.Resolver.ResolverInfo, Microsoft.BizTalk.Message.Interop.IBaseMessage, Microsoft.BizTalk.Component.Interop.IPipelineContext)Feilkilde: mscorlibFeil TargetSite: System.Object InvokeMethod(System.Object, System.Object[], System.Signature, Boolean)Feil StackTrace: på System.RuntimeMethodHandle.InvokeMethod (objekt mål, Object [] argumenter, signatur sig, boolsk konstruktør)på System.Reflection.RuntimeConstructorInfo.Invoke (BindingFlags invokeAttr, dokumentordneren dokumentordneren, Object [] Parametere, CultureInfo kultur)på System.RuntimeType.CreateInstanceImpl (BindingFlags bindingAttr, dokumentordneren dokumentordneren, Object [] args, CultureInfo kultur, Object [] activationAttributes, StackCrawlMark & stackMark)på System.Activator.CreateInstance (Type type, BindingFlags bindingAttr, dokumentordneren dokumentordneren, Object [] args, CultureInfo kultur, Object [] activationAttributes)på System.Activator.CreateInstance (type som, Object [] args)ved Microsoft.Practices.ESB.Resolver.ResolverFactory.Create (String-key)på Microsoft.Practices.ESB.Resolver.ResolverMgr.GetResolver (ResolverInfo info)på Microsoft.Practices.ESB.Resolver.ResolverMgr.Resolve (informasjon om ResolverInfo, IBaseMessage-melding, IPipelineContext pipelineContext)

Årsak

ESB Toolkit 2.2 bruker Unity 2.0 som krever endringer i filen esb.config.

Oppløsning

Du må oppdatere filen esb.config for å løse dette problemet. Hvis du vil gjøre dette, kan du lagre en sikkerhetskopi av den opprinnelige esb.config (standardplasseringen er C:\Program Files (x86) \Microsoft BizTalk ESB Toolkit) før du gjør noe av følgende endringer. Vær oppmerksom på at esb.config endres krever resirkulering av prosessen som bruker ESB.Manuelt endre den eksisterende esb.config-filen som følger:

  1. Fjern elementet < typeConfig >

  2. Endre < typeAlias >-elementet til < alias >

  3. Endre < type >-elementet til < registrere >

  4. Fjerne elementene < beholdere >

  5. Fjerne elementene < typer >

  6. Fjerne elementene < typeAliases >

  7. Fjern attributtet ParameterSkriv inn < param > elementer.

  8. Fjern type-attributtet med < verdi >-elementet i < param name = "overrideExistingItinerary" >

Alle ovenfor endringene foretas i < esb.resolver >-delen av filen esb.config. Nedenfor er < esb.resolver >-delen med alle allerede implementert over endringene.

  <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>

Hvis du vil ha mer informasjon

Du finner mer informasjon om Unity 2.0 på http://msdn.microsoft.com/en-us/library/ff660914(v=pandp.20).aspx

Trenger du mer hjelp?

Vil du ha flere alternativer?

Utforsk abonnementsfordeler, bla gjennom opplæringskurs, finn ut hvordan du sikrer enheten og mer.

Fellesskap hjelper deg med å stille og svare på spørsmål, gi tilbakemelding og høre fra eksperter med stor kunnskap.