如何避免重复的基于HTTP的FlexSessions错误

时间:2018-04-06 11:34:43

标签: java spring flex jboss blazeds

在我的应用程序中配置ssl后出现以下错误.SSL配置已正确安装。但是当我尝试使用https访问我的应用程序时,

我收到了以下错误。

    (mx.messaging.messages::ErrorMessage)#0
    body = (null)
    clientId = (null)
    correlationId = "90BAAFC1-3E18-767C-33EB-9803004A8945"
    destination = "flexUIService"
    extendedData = (null)
    faultCode = "Server.Processing.DuplicateSessionDetected"
    faultDetail = (null)
    faultString = "Detected duplicate HTTP-based FlexSessions, generally due to the remote host disabling session cookies. Session cookies must be enabled to manage the client connection correctly."
    headers = (Object)#1
    messageId = "B51F5573-710D-ADA2-870D-774343C7A22B"
    rootCause = (null)
    timestamp = 1522968756481
    timeToLive = 0

有没有办法避免这个问题。  我的应用程序环境  flex 3.0,java,spring,message broker,jboss as 7.1。

**here is my service-config.xml file**

<?xml version="1.0" encoding="UTF-8"?>
<services-config>

    <services>
        <service-include file-path="remoting-config.xml" />
        <service-include file-path="proxy-config.xml" />
        <service-include file-path="messaging-config.xml" />

        <default-channels>
            <channel ref="my-secure-amf">
    <serialization>
      <log-property-errors>true</log-property-errors>
    </serialization>
  </channel>
  <channel ref="my-amf">
    <serialization>
      <log-property-errors>true</log-property-errors>
    </serialization>
  </channel>
        </default-channels>
    </services>


    <security>
        <login-command class="flex.messaging.security.TomcatLoginCommand" server="JBoss"/>
        <!-- Uncomment the correct app server
        <login-command class="flex.messaging.security.TomcatLoginCommand" server="JBoss">
        <login-command class="flex.messaging.security.JRunLoginCommand" server="JRun"/>
        <login-command class="flex.messaging.security.WeblogicLoginCommand" server="Weblogic"/>
        <login-command class="flex.messaging.security.WebSphereLoginCommand" server="WebSphere"/>
        -->

        <!--
        <security-constraint id="basic-read-access">
            <auth-method>Basic</auth-method>
            <roles>
                <role>guests</role>
                <role>accountants</role>
                <role>employees</role>
                <role>managers</role>
            </roles>
        </security-constraint>
         -->
    </security>

    <channels>

      <channel-definition id="my-amf" class="mx.messaging.channels.AMFChannel">
            <endpoint url="http://{server.name}:{server.port}/{context.root}/spring/messagebroker/amf" class="flex.messaging.endpoints.AMFEndpoint"/>
        </channel-definition>

        <channel-definition id="my-secure-amf" class="mx.messaging.channels.SecureAMFChannel">
            <endpoint url="https://{server.name}:{server.port}/{context.root}/messagebroker/amfsecure" class="flex.messaging.endpoints.AMFEndpoint"/>
            <properties>
                <add-no-cache-headers>false</add-no-cache-headers>
            </properties>
        </channel-definition>

        <channel-definition id="my-polling-amf" class="mx.messaging.channels.AMFChannel">
            <endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/amfpolling" class="flex.messaging.endpoints.AMFEndpoint"/>
            <properties>
                <polling-enabled>true</polling-enabled>
                <polling-interval-seconds>8</polling-interval-seconds>
            </properties>
        </channel-definition>

        <!-- Add By Narendar -->
       <channel-definition id="my-streaming-amf" class="mx.messaging.channels.StreamingAMFChannel">
          <endpoint url="http://{server.name}:{server.port}/{context.root}/spring/messagebroker/streamingamf" class="flex.messaging.endpoints.StreamingAMFEndpoint" />
         <properties>
              <idle-timeout-minutes>0</idle-timeout-minutes>
              <max-streaming-clients>10</max-streaming-clients>
              <server-to-client-heartbeat-millis>5000</server-to-client-heartbeat-millis>
             <user-agent-settings>
                  <user-agent match-on="MSIE" kickstart-bytes="2048" max-streaming-connections-per-session="3" />
                  <user-agent match-on="Firefox" kickstart-bytes="2048" max-streaming-connections-per-session="3" />
              </user-agent-settings>
        </properties>
      </channel-definition>

  <!--

       <channel-definition id="my-http" class="mx.messaging.channels.HTTPChannel">
            <endpoint url="http://localhost:8080/JCampusLynx/messagebroker/http" class="flex.messaging.endpoints.HTTPEndpoint"/>
        </channel-definition>


        <channel-definition id="my-http" class="mx.messaging.channels.HTTPChannel">
            <endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/http" class="flex.messaging.endpoints.HTTPEndpoint"/>
        </channel-definition>


        <channel-definition id="my-secure-http" class="mx.messaging.channels.SecureHTTPChannel">
            <endpoint url="https://{server.name}:{server.port}/{context.root}/messagebroker/httpsecure" class="flex.messaging.endpoints.SecureHTTPEndpoint"/>
            <properties>
                <add-no-cache-headers>false</add-no-cache-headers>
            </properties>
        </channel-definition>
        -->
    </channels>
    <logging>
        <target class="flex.messaging.log.ConsoleTarget" level="error">
            <properties>
                <prefix>[BlazeDS] </prefix>
                <includeDate>true</includeDate>
                <includeTime>true</includeTime>
                <includeLevel>true</includeLevel>
                <includeCategory>true</includeCategory>
            </properties>
            <filters>
                <pattern>Endpoint.*</pattern>
                <pattern>Service.*</pattern>
                <pattern>Configuration</pattern>
            </filters>
        </target>
    </logging>

    <system>
        <redeploy>
            <enabled>false</enabled>
            <!--
            <watch-interval>20</watch-interval>
            <watch-file>{context.root}/WEB-INF/flex/services-config.xml</watch-file>
            <watch-file>{context.root}/WEB-INF/flex/proxy-config.xml</watch-file>
            <watch-file>{context.root}/WEB-INF/flex/remoting-config.xml</watch-file>
            <watch-file>{context.root}/WEB-INF/flex/messaging-config.xml</watch-file>
            <watch-file>{context.root}/WEB-INF/flex/data-management-config.xml</watch-file>
            <touch-file>{context.root}/WEB-INF/web.xml</touch-file>
             -->
        </redeploy>
    </system>

</services-config>

0 个答案:

没有答案