Struts2 Java中cxml Punchout中的会话问题

Struts2 Java中cxml Punchout中的会话问题,java,struts2,session-variables,Java,Struts2,Session Variables,我们已经创建了一个与ariba集成的punchout(cXML punchout)供应商站点。在谷歌chrome的frames环境中试用时,它运行良好,但在IE的frames环境中,它的会话不断丢失。当我们用url传递JsessionID时,它只对起始页起作用。如果我们使用其他链接导航,它将开始丢失会话。尽管正在为这些导航链接传递JsessionId,但我们还是访问了登录页面 这个网站是用JavaStruts2框架构建的。我们正在使用JBossV5.1服务器和Apache 如何在punchout

我们已经创建了一个与ariba集成的punchout(cXML punchout)供应商站点。在谷歌chrome的frames环境中试用时,它运行良好,但在IE的frames环境中,它的会话不断丢失。当我们用url传递JsessionID时,它只对起始页起作用。如果我们使用其他链接导航,它将开始丢失会话。尽管正在为这些导航链接传递JsessionId,但我们还是访问了登录页面

这个网站是用JavaStruts2框架构建的。我们正在使用JBossV5.1服务器和Apache


如何在punchout过程中保留会话?

punchout中的会话问题通过使用Apache中的P3P策略来解决,在IE中,第三方cookie被阻止,以便通过浏览器解除阻止。需要在web服务器中配置,并在页面标题中设置位

apache配置文件中的setHeader。=>

Header set P3P "policyref=\"example.com/w3c/p3p.xml\", CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\""
您还可以在项目母版页中放置setHeader或addheader代码(可选)

在此之前,创建一个P3P.xml文件(使用下面的示例,或者您可以使用生成器工具)并部署它

示例P3P.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<!-- Generated by http://www.webentrust.com on 05/25/2011 -->
<META xmlns="http://www.w3.org/2002/01/P3Pv1">

    <POLICY-REFERENCES>
        <POLICY-REF about="#Policy">
            <INCLUDE>/*</INCLUDE>
        </POLICY-REF>
    </POLICY-REFERENCES>

    <POLICIES xmlns="http://www.w3.org/2002/01/P3Pv1">
        <EXPIRY max-age="604800"/>
        <POLICY name="Policy" discuri="http://www.example.com/privacy.html" opturi="http://www.example.com/contact.html">
            <ENTITY>
                <DATA-GROUP>
                    <DATA ref="#business.name">example.com</DATA>
                    <DATA ref="#business.contact-info.online.email">privacy@example.com</DATA>
                </DATA-GROUP>
            </ENTITY>
            <ACCESS>
                <all/>
            </ACCESS>
            <DISPUTES-GROUP>
                <DISPUTES resolution-type="service" short-description="Privacy Disputes" service="http://example.com/contact.html">
                    <REMEDIES>
                        <CORRECT/>
                    </REMEDIES>
                    <LONG-DESCRIPTION>We will correct any privacy issues.</LONG-DESCRIPTION>
                </DISPUTES>
                <DISPUTES resolution-type="independent" short-description="Web Entrust" service="http://www.webentrust.com/sites/example.com.html">
                    <REMEDIES>
                        <CORRECT/>
                    </REMEDIES>
                    <LONG-DESCRIPTION>Web Entrust provides several active seals to represent increased trust, privacy and security. Public reviews provide accountability through an open review policy.</LONG-DESCRIPTION>
                    <IMG alt="Web Entrust Site Seals" src="http://www.webentrust.com/seals/trusted/example.com.png"/>
                </DISPUTES>
            </DISPUTES-GROUP>
            <STATEMENT>
                <CONSEQUENCE>Web server logs are maintained for this web-site.</CONSEQUENCE>
                <EXTENSION optional="yes">
                    <STATEMENT-GROUP name="Logging" xmlns="http://www.w3.org/2006/01/P3Pv11"/>
                </EXTENSION>
                <PURPOSE>
                    <current/>
                    <admin/>
                    <develop/>
                    <pseudo-analysis/>
                    <pseudo-decision/>
                    <tailoring/>
                </PURPOSE>
                <RECIPIENT>
                    <ours/>
                </RECIPIENT>
                <RETENTION>
                    <business-practices/>
                </RETENTION>
                <DATA-GROUP>
                    <DATA ref="#dynamic.clickstream"></DATA>
                    <DATA ref="#dynamic.clientevents"></DATA>
                    <DATA ref="#dynamic.http"></DATA>
                    <DATA ref="#dynamic.searchtext"></DATA>
                </DATA-GROUP>
            </STATEMENT>
        </POLICY>
    </POLICIES>
</META>

/*
example.com
privacy@example.com

  • internet explorer
  • 要验证隐私策略xml文件,请执行以下操作:


    1.

    您是否在您的框架中使用不同的域?是的,(我们的域正在被框架环境中的客户端访问,我想主域将是ARIBA)谢谢您,它已获得回报。。。。。。。。