我已将biztalk项目从Biztalk 2009迁移到Biztalk 2016和.NET 4.6.2。在旧版本中,一切正常,但在新版本中,我收到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,带有证书身份验证。
运行ssomanage工具,看到映射是BtsDeploymentProperties,而不是其他的GUID。这会导致错误吗?
C:\ Program Files \ Common Files \ Enterprise Single Sign-On> ssomanage.exe -listmappings tvn.Infra 使用SSO服务器:biztalk2016server
应用程序'tvn.Infra'的现有映射 -
(E)$ ConfigStore $ \ BtsDeploymentProperties:BtsDeploymentProperties
任何想法解决它是值得赞赏的。谢谢。
答案 0 :(得分:1)
您的问题不在于WCF适配器或端口,而是一些自定义代码尝试使用SSOSettingsFileReader
(来自BTDF)来读取SSO:
at DAP.IdentityModel.Selectors.ForwardingDAPClientCredentials..ctor()
我会查看你的构造函数代码,找出它试图找到的SSO应用程序名称和密钥,并从那里开始。您可能没有正确部署SSO配置存储 - 例如,从命令行(因为此时扩展在VS2015中不起作用):
MSBuild.exe <btdfproj file path> /nologo /p:Configuration=Debug /t:DeploySSO