我们很少有biztalk 2010应用程序。为了连接oracle,我们使用wcf-oracledb适配器。我正在尝试实现企业SSO以连接oracle。我通过创建联盟应用程序并将其分配给管道来配置SSO。运行界面时出现错误
错误详细信息:System.Runtime.InteropServices.COMException(0x80004005):无法兑换故障单,消息中不存在故障单。 在Microsoft.BizTalk.Interop.IBTSTicket.ValidateAndRedeemTicket(对象消息,字符串applicationName,Int32标志,字符串& externalUserName) 在Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient
2.ApplyClientCredentials(ClientCredentials clientCredentials, IBaseMessage message) at Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient
2.CreateChannelFactory [TChannel](IBaseMessage bizTalkMessage) 在Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient2.GetChannel[TChannel](IBaseMessage bizTalkMessage, ChannelFactory
1& cachedFactory) 在Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient`2.SendMessage(IBaseMessage bizTalkMessage)"
我在配置中遗漏了什么吗?如何解决此错误?
答案 0 :(得分:2)
答案 1 :(得分:2)
选项A:如果您尝试将呼叫者从接收位置映射到发送端口,则需要信任您的主机。
选项B:如果您使用SSO Affiliate存储要使用的BizTalk凭据,则需要在消息中创建SSO票证。
最快捷的方法是使用BizTalk Business Rules Engine并使用CreateSSOTicketContextProperty
操作。
让我解释为什么这是必要的。 SSO会员打算使用的是您让呼叫者针对接收位置进行身份验证(例如,Web服务),并且呼叫者的凭据将被传递到SSO票证中的发送端口,然后映射到该端口使用SSO Affiliate用户映射。将主机标记为可信时会发生这种情况。
更新:我的一位同事也说你需要确认在SSO管理中的联盟应用程序上启用了票证