Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Single sign on BizTalk解析SSO错误“;无法兑换票证,信息“中不存在票证”;_Single Sign On_Biztalk_Biztalk2006r2 - Fatal编程技术网

Single sign on BizTalk解析SSO错误“;无法兑换票证,信息“中不存在票证”;

Single sign on BizTalk解析SSO错误“;无法兑换票证,信息“中不存在票证”;,single-sign-on,biztalk,biztalk2006r2,Single Sign On,Biztalk,Biztalk2006r2,我正在使用BizTalk适配器包中的Oracle适配器(基于WCF的BTS 2006 R2)。在“请求-响应”发送端口的配置中,我使用了Oracle的用户名和密码连接到数据库 现在我想更改它并使用SSO。到目前为止,我已经创建了附属应用程序,并将BTS主机实例“用户id”映射到Oracle数据库用户详细信息 当我运行应用程序时,我不断地收到错误:“无法兑换票证,消息中不存在票证” 通过阅读BTS文档,我在“ms-help://MS.BTS.2006/BTS06CoreDocs/html/c7bf

我正在使用BizTalk适配器包中的Oracle适配器(基于WCF的BTS 2006 R2)。在“请求-响应”发送端口的配置中,我使用了Oracle的用户名和密码连接到数据库

现在我想更改它并使用SSO。到目前为止,我已经创建了附属应用程序,并将BTS主机实例“用户id”映射到Oracle数据库用户详细信息

当我运行应用程序时,我不断地收到错误:“无法兑换票证,消息中不存在票证”

通过阅读BTS文档,我在“ms-help://MS.BTS.2006/BTS06CoreDocs/html/c7bf755c-c37d-4b19-9817-a7f42e1e9656.htm": 在业务流程调用发送适配器的场景中,BizTalk消息引擎将消息发送到MessageBox数据库。业务流程应确保维护包含票证的消息的SSOTicket上下文属性和Microsoft.BizTalk.XLANGs.BTXEngine.OriginatorId上下文属性。当适配器从MessageBox数据库接收到此消息时,适配器使用加密的票证调用ReceiveTicket方法,以从SSO存储中检索后端凭据。设计业务流程的用户应专门将此属性复制到消息中

但是我通过SQL集成连接收到一条消息,它没有SSO票证


请帮助解决此问题?

您可以在发送端口的自定义管道组件中添加SSO票证。以下代码适用于我:

    public IBaseMessage Execute(IPipelineContext pContext, IBaseMessage pInMsg)
    {
        ISSOTicket ssoTicket = new ISSOTicket();
        pInMsg.Context.Write("SSOTicket", "http://schemas.microsoft.com/BizTalk/2003/system-properties", ssoTicket.IssueTicket(0));
        return pInMsg;
    }

这将为Biztalk主机实例服务帐户生成票证,因此您的Oracle附属应用程序映射应按预期工作。

您可能需要在SSO Administrator中“允许票证”到系统属性。否则,即使您允许向分支应用程序提供票证,它也无法工作。

不知道这是否有帮助:BizTalk SSO配置数据存储工具或codeplex中的其他工具,或者如果您不想编写自己的自定义管道,您可以使用BRE管道框架并使用BRE规则,创建SSO票证。