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

증상

ItinerarySelectReceiveXML는 받으면 ESB 2.2 Microsoft BizTalk Server 2013에 다음과 같은 예외가 throw 됩니다 파이프라인 프로그램 일정표 (ESB BRI 해결 프로그램을 사용 하 여)를 동적으로 선택 하 여 비즈니스 규칙 엔진을 호출 하는 데 사용 됩니다.

호출의 대상에서 예외가 throw 되었습니다.원본: 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)StackTrace 오류: System.RuntimeMethodHandle.InvokeMethod (예: 대상 개체, 개체 인수, 서명 sig, 부울 생성자)에System.Reflection.RuntimeConstructorInfo.Invoke (BindingFlags invokeAttr, 바인더 바인더, 매개 변수 개체, CultureInfo culture)에System.RuntimeType.CreateInstanceImpl (BindingFlags bindingAttr, 바인더 바인더, Object args, CultureInfo culture, StackCrawlMark 및 stackMark 개체 activationAttributes)에System.Activator.CreateInstance (type, BindingFlags bindingAttr, 바인더 바인더, Object args, CultureInfo culture, 개체 activationAttributes)에System.Activator.CreateInstance (type, Object args)에Microsoft.Practices.ESB.Resolver.ResolverFactory.Create (String 키)에Microsoft.Practices.ESB.Resolver.ResolverMgr.GetResolver (ResolverInfo 정보)에서Microsoft.Practices.ESB.Resolver.ResolverMgr.Resolve (ResolverInfo 정보, IBaseMessage 메시지, IPipelineContext pipelineContext)에서

원인

ESB Toolkit 2.2 사용 Unity 2.0 esb.config 파일을 수정 해야 합니다.

해결 방법

이 문제를 해결 하려면 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. < Param > 요소의 입력 특성을 제거 합니다.

  8. 내에서 < 값 > 요소의 type 특성을 제거 합니다. < param 이름을 "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

도움이 더 필요하세요?

더 많은 옵션을 원하세요?

구독 혜택을 살펴보고, 교육 과정을 찾아보고, 디바이스를 보호하는 방법 등을 알아봅니다.

커뮤니티를 통해 질문하고 답변하고, 피드백을 제공하고, 풍부한 지식을 갖춘 전문가의 의견을 들을 수 있습니다.