我已经迁移了一个从Biztalk 2009到Biztalk 2016和.NET 4.6.2的BizTalk项目。在旧版本中,一切正常,但是在新版本中,我会使用WCF-Custom适配器出错。
A message sent to adapter "WCF-Custom" on send port "PhySndGuiExportResponsePort" with URI "net.msmq://serviceserver/private/EwrServicesInQueue" is suspended.
Error details: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Runtime.InteropServices.COMException: The mapping does not exist. For Config Store applications, the config info has not been set.
at Microsoft.BizTalk.SSOClient.Interop.ISSOConfigStore.GetConfigInfo(String applicationName, String identifier, Int32 flags, IPropertyBag properties)
at SSOSettingsFileManager.SSOHelper.GetConfigInfo(String affiliateApplication, Boolean enableRemoteAccess)
at SSOSettingsFileManager.SSOSettingsManager.GetSettings(String affiliateApplication, Boolean enableRemoteAccess)
at SSOSettingsFileManager.SSOSettingsFileReader.Read(String affiliateApplication, Boolean enableRemoteAccess)
at SSOSettingsFileManager.SSOSettingsFileReader.ReadString(String affiliateApplication, String valueName)
at DAP.IdentityModel.Selectors.ForwardingDAPClientCredentials..ctor()
--- End of inner exception stack trace ---
at Microsoft.BizTalk.Adapter.Wcf.Converters.BehaviorFactory.ApplyEndpointBehavior(ServiceEndpoint serviceEndpoint, String wcfExtensions, String endpointBehaviorConfiguration)
at Microsoft.BizTalk.Adapter.Wcf.Config.CustomTLConfig.ApplyEndpointBehavior(ServiceEndpoint serviceEndpoint)
at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient`2.CreateChannelFactory[TChannel](IBaseMessage bizTalkMessage)
at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient`2.InitializeValues(IBaseMessage message)
at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient`2..ctor(IBaseMessage message, WcfTransmitter`2 transmitter)
at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfTransmitter`2.GetClientFromCache(String spid, IBaseMessage message)
at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfAsyncBatch`2.BatchWorker(List`1 messages)
MessageId: {DC4E26FC-B65B-4AE6-B2F3-01AFC5B85D6F}
InstanceID: {94A91D61-D8BE-4F74-8B06-1B4C58B36CEA}
sendport physndguiexportresponseport正在使用PassThrotransmit发送管道,运输类型WCF-CUSTOM带有证书身份验证。
运行ssomage工具请参阅映射是btsdeploymentproperties,而不是其他映射。这会导致错误吗?
c: program Files Common Files Enterprise单签名> ssomanage.exe -listMappings tvn.infra使用SSO服务器:BizTalk2016Server
应用程序'tvn.infra'的现有映射 -
(e)$ configstore $ btsdeploymentproperties:btsdeploymentproperties
任何解决方案的想法都将不胜感激。谢谢。
您的问题与WCF适配器或端口有关,它具有一些自定义代码,试图使用SSOSettingsFileReader
(来自BTDF)读取SSO:
在dap.indistitymodel.selectors.forwardingdapclientcredentials..ctor()
我会在那里查看您的构造函数代码,找出它试图找到的SSO应用程序名称和键,然后从那里延伸。您可能没有正确部署SSO配置存储 - 例如,从命令行中(由于此时扩展名在VS2015中不起作用):
MSBuild.exe <btdfproj file path> /nologo /p:Configuration=Debug /t:DeploySSO