Biztalk:不同应用程序中的并排版本控制

时间:2015-06-10 12:53:41

标签: biztalk versioning biztalk-2013

我想部署两个应用程序,我使用BizTalk WCF服务发布向导将其发布到不同的端点。第二个应用程序是第一个应用程序的新版本。我在架构属性中更改了程序集版本和目标命名空间。应用程序和端口有不同的名称。

第一个应用程序在部署第二个应用程序之前有效。

然后第一个失败并显示以下消息:

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
 <s:Body>
  <s:Fault>
     <faultcode xmlns:a="http://schemas.microsoft.com/net/2005/12/windowscommunicationfoundation/dispatcher">a:InternalServiceFault</faultcode>
     <faultstring xml:lang="de-DE">&lt;?xml version="1.0"?>
 &lt;string>Unexpected error occured.&lt;/string></faultstring>
     <detail>
        <ExceptionDetail xmlns="http://schemas.datacontract.org/2004/07/System.ServiceModel" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
           <HelpLink i:nil="true"/>
           <InnerException i:nil="true"/>
           <Message>&lt;?xml version="1.0"?>
&lt;string>Unexpected error occured.&lt;/string></Message>
           <StackTrace>at Microsoft.BizTalk.Adapter.Wcf.Runtime.BizTalkServiceInstance.EndOperation(IAsyncResult result)
  at AsyncInvokeEndEndTwoWayMethod(Object , Object[] , IAsyncResult )
  at System.ServiceModel.Dispatcher.AsyncMethodInvoker.InvokeEnd(Object instance, Object[]&amp; outputs, IAsyncResult result)
  at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeEnd(MessageRpc&amp; rpc)
  at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage7(MessageRpc&amp; rpc)
  at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)</StackTrace>
           <Type>Microsoft.BizTalk.Adapter.Wcf.Runtime.BizTalkNackException</Type>
         </ExceptionDetail>
      </detail>
   </s:Fault>
 </s:Body>
</s:Envelope>

第二个应用程序运行正常。可能是什么原因?

1 个答案:

答案 0 :(得分:0)

MSDN recommends against doing this

尝试在BizTalk中进行并行版本控制引入了一个复杂的世界 - 版本被硬编码到绑定文件中,模式部署必须使用不同的命名空间,并且必须重做通过向导发布的Web服务。您的服务可能遇到此错误的原因有很多,修复一个可能会发现更多错误。如果你坚持走这条路,那就开始更仔细地查看EventLog条目而不是SOAP响应 - 这可能会让你更多地了解为什么它没有按预期工作。

最好为新的应用程序和工件提供一个新名称,并将它们部署为新的应用程序 - 即使这会导致两者之间重复代码。