2

我已将 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

任何解决它的想法都值得赞赏。谢谢你。

4

1 回答 1

1

您的问题不在于 WCF 适配器或端口,而在于一些尝试使用SSOSettingsFileReader(来自 BTDF)读取 SSO 的自定义代码:

在 DAP.IdentityModel.Selectors.ForwardingDAPClientCredentials..ctor()

我会在那里查看您的构造函数代码,找出它试图查找的 SSO 应用程序名称和密钥,然后从那里开始。您可能没有正确部署 SSO 配置存储 - 例如,从命令行(因为此时扩展在 VS2015 中不起作用):

MSBuild.exe <btdfproj file path> /nologo /p:Configuration=Debug /t:DeploySSO
于 2017-02-17T20:21:51.690 回答