ESB Toolkit BRE gezi programı Çözümleyicisi özel bir durumla başarısız

Belirtiler

ItinerarySelectReceiveXML aldığınızda, Microsoft BizTalk Server 2013 ESB 2.2 ile aşağıdaki istisnası atılır potansiyel Business Rules Engine dinamik olarak (ESB BRI çözümleyici kullanarak) bir yolculuk programı seçmek için çağırmak için kullanılır.


Bir çağırma hedefi tarafından özel durum oluşturuldu.

Kaynak: Microsoft.Practices.ESB.Resolver.ResolverMgr

Yöntem: System.Collections.Generic.Dictionary'2[System.String,System.String] (Microsoft.Practices.ESB.Resolver.ResolverInfo, Microsoft.BizTalk.Message.Interop.IBaseMessage, Microsoft.BizTalk.Component.Interop.IPipelineContext) çözmek

Hata kaynağı: mscorlib

Hata TARGETSITE: System.Object InvokeMethod(System.Object, System.Object[], System.Signature, Boolean)

Hata StackTrace: System.RuntimeMethodHandle.InvokeMethod (hedef nesne, nesne [] bağımsız değişkenler, imza SIG, Boole Oluşturucu) at
System.Reflection.RuntimeConstructorInfo.Invoke at (BindingFlags invokeAttr, Cilt cilt, nesne [] parametreleri, CultureInfo kültür)
System.RuntimeType.CreateInstanceImpl at (BindingFlags bindingAttr, Cilt cilt, nesne [] args, CultureInfo kültür, nesne [] activationAttributes, StackCrawlMark & stackMark)
System.Activator.CreateInstance (türü, BindingFlags bindingAttr, Cilt cilt, nesne [] args, CultureInfo kültür, nesne [] activationAttributes)
System.Activator.CreateInstance (türü, nesne [] args)
Microsoft.Practices.ESB.Resolver.ResolverFactory.Create (String anahtar)
at Microsoft.Practices.ESB.Resolver.ResolverMgr.GetResolver (ResolverInfo bilgisi)
Microsoft.Practices.ESB.Resolver.ResolverMgr.Resolve at (ResolverInfo bilgisi, iletiyi IBaseMessage, IPipelineContext pipelineContext)



Neden

ESB Toolkit 2.2 esb.config dosyaya değişiklikleri gerektiren Unity 2.0 kullanır.

Çözüm

Bu sorunu gidermek için esb.config dosyasını güncelleştirmeniz gerekiyor. Bunu yapmak için özgün esb.config yedek kopyasını kaydedin (varsayılan konum C:\Program Files (x86) \Microsoft BizTalk ESB araç seti olan) aşağıdaki değişiklikleri yapmadan önce. ESB.config dosya değişikliklerini geri dönüşüm işleminin ESB kullanarak gerektiğini unutmayın.

Varolan bir esb.config dosyasını el ile aþaðýdaki gibi deðiþtirin:

  1. < TypeConfig > öge kaldırma

  2. < Ad > < typeAlias > öğesine değiştirme

  3. < Kaydetmek için > < türü > öğesi değiştirmek

  4. < Kapsayıcılar > öğeleri kaldırma

  5. < Türü > öğeleri kaldırma

  6. < TypeAliases > öğeleri kaldırma

  7. ParameterType özniteliğini < param > öğeleri kaldırın.

  8. < Değer > öğesi içinde türü özniteliğini kaldırmak < param adı "overrideExistingItinerary" = >

Yukarıdaki tüm değişiklikleri esb.config dosyasının < esb.resolver > bölümü içinde gerçekleşir. Zaten uygulanan tüm yukarıdaki değişiklikleri < esb.resolver > bölümü aşağıdadır.

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


Daha fazla bilgi

At Unity 2.0 hakkında daha fazla bilgi bulmak http://msdn.microsoft.com/en-us/library/ff660914(v=pandp.20).aspx

Daha fazla yardıma mı ihtiyacınız var?

Yeteneklerinizi geliştirin
Eğitimleri keşfedin
Yeni özellikleri ilk olarak siz edinin
Microsoft Insider 'a katılın

Bu bilgi yardımcı oldu mu?

Geri bildiriminiz için teşekkür ederiz!

Geri bildiriminiz için teşekkürler! Office destek temsilcilerimizden biriyle görüşmeniz yararlı olabilir.

×