2017-03-13 62 views
1

雖然試圖通過AS2協議發送EDIFACT信息我得到在事件日誌中關於簽名如下條目:的BizTalk 2013 - AS2自簽名

廣告1)

Source: BizTalk Server EDI
Event ID: 8132
General: A BTS MIME error was encountered when attempting to encode a message. Error: Exception of type 'Microsoft.BizTalk.Component.MIMEException' was thrown., HResult:-1061152225

廣告2)

Source: BizTalk Server
Event ID: 5720
General: There was a failure executing the send pipeline: "Microsoft.BizTalk.EdiInt.DefaultPipelines.AS2Send, Microsoft.BizTalk.Edi.EdiIntPipelines, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Source: "AS2 encoder" Send Port: "001HCC.SndPort.AS2-OW.TEST" URI: " https://ourPartner.com/receiveas22017/BTSHTTPReceive.dll " Reason: The MIME encoder failed to sign the message because the certificate has private key protection turned on or the private key does not exist. Please disable private key protection to allow BizTalk to use a certificate for signing.

廣告3)

Source: BizTalk Server
Event ID: 5754
General: A message sent to adapter "HTTP" on send port "001HCC.SndPort.AS2-OW.TEST" with URI "https:// ourPartner.com/receiveas22017/BTSHTTPReceive.dll" is suspended. Error details: There was a failure executing the send pipeline: "Microsoft.BizTalk.EdiInt.DefaultPipelines.AS2Send, Microsoft.BizTalk.Edi.EdiIntPipelines, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Source: "AS2 encoder" Send Port: "001HCC.SndPort.AS2-OW.TEST" URI: "https:// ourPartner.com/receiveas22017/BTSHTTPReceive.dll" Reason: The MIME encoder failed to sign the message because the certificate has private key protection turned on or the private key does not exist. Please disable private key protection to allow BizTalk to use a certificate for signing.
MessageId: {A53EB31E-34B4-4489-8809-C3CF0AA4E1FD} InstanceID: {C09270AF-5A27-4449-A89B-CF6F149D7714}

廣告4)

Source: XLANG/s
Event ID: 10001
General: xlang/s engine event log entry: Failed while creating a qbq.quibis.Generic.Processes.AcknowledgementGenerator service.

Exception type: ServiceCreationException The following is a stack trace that identifies the location where the exception occured at Microsoft.BizTalk.XLANGs.BTXEngine.BTXSession._serviceCreator(Guid& instanceId, Object objCurrMsg) at Microsoft.XLANGs.Core.ResourceContainer._allocateResource(Guid& key, UInt32 hashKey, ResourceCreator resCreator, Object creationContext) at Microsoft.XLANGs.Core.ResourceContainer.Dispense(Guid& key, ResourceCreator resCreator, Object creationContext) at Microsoft.BizTalk.XLANGs.BTXEngine.BTXSession._dispenseService(Guid& instanceId, IBTMessage currMsg) at Microsoft.BizTalk.XLANGs.BTXEngine.BTXSession._tryReceiveOneMessage(Boolean& loggedError, Guid& instanceId, IBTMessage currMsg) at Microsoft.BizTalk.XLANGs.BTXEngine.BTXSession._receiveOneMessage(Guid& instanceId, Guid& serviceId, IBTMessage currentMsg) at Microsoft.BizTalk.XLANGs.BTXEngine.BTXSession.ReceiveMessages(IBTMessage[] messages, Int32 firstIdx, Int32 count) at Microsoft.BizTalk.XLANGs.BTXEngine.AppDomains.AppDomainRoot.Microsoft.XLANGs.BizTalk.ProcessInterface.IAppDomainStub.ReceiveMessages(Object objMsg) at Microsoft.XLANGs.BizTalk.CrossProcess.AppDomainStubProxy.Microsoft.XLANGs.BizTalk.ProcessInterface.IAppDomainStub.ReceiveMessages(Object msgs) Additional error information: Could not load file or assembly 'qbq.quibis.Generic.Processes, Version=1.0.0.0, Culture=neutral, PublicKeyToken=d7f6a42d27d4b3ed' or one of its dependencies. The system cannot find the file specified.

Exception type: FileNotFoundException
Source: mscorlib
Target Site: Void GetTypeByName(System.String, Boolean, Boolean, Boolean, System.Runtime.CompilerServices.StackCrawlMarkHandle, IntPtr, Boolean, System.Runtime.CompilerServices.ObjectHandleOnStack) The following is a stack trace that identifies the location where the exception occured at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMarkHandle stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName, ObjectHandleOnStack type) at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean loadTypeFromPartialName) at System.RuntimeType.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark) at System.Type.GetType(String typeName, Boolean throwOnError) at Microsoft.BizTalk.XLANGs.BTXEngine.BTXServiceStaticState.Resolve() at Microsoft.BizTalk.XLANGs.BTXEngine.BTXSession._createNewService(Guid& serviceId, Guid& instanceId, BTXServiceStaticState staticState) at Microsoft.BizTalk.XLANGs.BTXEngine.BTXSession._createOrRehydrateRealService(Guid& instanceId, IBTMessage currMsg)

消息從一個發送到另一個服務器上的測試環境。

第一個環境由Windows Server 2012 R2 64x,IIS7,BizTalk v。3.11.266.2,最後一個Adapter Pack R2 CU4(KB 3167705)組成。另一個由Windows Server 2008 R2 64x,IIS7,BizTalk v。3.10.350.2,最後一個Adapter Pack CU4(KB 3185629)組成。

應用程序池IIS設置在IIS上啓用32位,加載用戶配置文件:True。這些消息使用Party發送,其中包括在Windows Server 2008中使用SHA256生成的SelfSigned證書V3。在導入強證書保護功能時,已關閉了以下設置:本地安全策略>本地策略>安全選項>系統加密:強制存儲在計算機上的用戶密鑰的強密鑰保護>不需要用戶輸入(... )

是否有可能找到這些錯誤信息的原因?你能提出一些可以幫助我解決問題的指導方針嗎?

回答

0

問題是:「MIME編碼器未能簽名,因爲證書已打開私鑰保護或私鑰不存在。請禁用私鑰保護以允許BizTalk使用證書進行簽名。」

導入私鑰時會出現一個複選框,提示「需要密碼」。這一定不能被檢查。

+0

「雖然導入強證書保護被關閉......」 此複選框未被選中。 – LoginName

0

這可能是因爲您沒有私人證書設置。您需要創建證書並獲取私鑰和​​公鑰。將公鑰發送給您的貿易伙伴。您可以使用OpenSSL來創建您的證書。