biztalk 2010 WCF-oracleDB适配器

时间:2016-04-06 09:35:41

标签: single-sign-on biztalk biztalk-2010

我们很少有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.WcfClient 2.GetChannel[TChannel](IBaseMessage bizTalkMessage, ChannelFactory 1& cachedFactory)      在Microsoft.BizTalk.Adapter.Wcf.Runtime.WcfClient`2.SendMessage(IBaseMessage bizTalkMessage)"

我在配置中遗漏了什么吗?如何解决此错误?

2 个答案:

答案 0 :(得分:2)

您需要一个自定义管道来将sso票证附加到您的邮件中。

参考这篇文章:

http://blog.csdn.net/cnzee/article/details/7994243

(披露:这是我的博客文章)

答案 1 :(得分:2)

选项A:如果您尝试将呼叫者从接收位置映射到发送端口,则需要信任您的主机。

选项B:如果您使用SSO Affiliate存储要使用的BizTalk凭据,则需要在消息中创建SSO票证。

最快捷的方法是使用BizTalk Business Rules Engine并使用CreateSSOTicketContextProperty操作。

让我解释为什么这是必要的。 SSO会员打算使用的是您让呼叫者针对接收位置进行身份验证(例如,Web服务),并且呼叫者的凭据将被传递到SSO票证中的发送端口,然后映射到该端口使用SSO Affiliate用户映射。将主机标记为可信时会发生这种情况。

更新:我的一位同事也说你需要确认在SSO管理中的联盟应用程序上启用了票证

enter image description here