2 Replies Latest reply on Sep 4, 2007 4:50 AM by dkane

    Javascript error using Seam Remoting (JMS subscription)

    dkane

      Dear colleagues,

      Web-page is subscribed to JMS topic.
      I have configured debug=true for Remoting, and when page is being loaded first time xml envelopes starts to run in pop-up window. So I conclude that JMS subscription itself is ok.

      But when I click button on this page (form submission), Javascript error occures. FireBug provides the following details :

      [Exception... "Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE)
      [nsIXMLHttpRequest.status]" nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)" location:
      "JS frame :: http://localhost:8080/traceadm/seam/resource/remoting/resource/remote.js :: anonymous :: line 608" data: no]
      
      remote.js (line 608):
      if (req.status == 200)
      


      My UI is template-based. template.xhtml :


      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
      
       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml"
       xmlns:ui="http://java.sun.com/jsf/facelets"
       xmlns:h="http://java.sun.com/jsf/html"
       xmlns:f="http://java.sun.com/jsf/core">
      <head>
       <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
       <title>Terminal control</title>
       <link href="css/screen.css" rel="stylesheet" type="text/css" />
      </head>
      
      <body id="pgMainMenu">
       <div id="document">
       <div id="header"><span>Terminal control</span></div>
       <div id="nav">
       <ui:insert name="topnav">
       TODO: Navigation menu
       </ui:insert>
       </div>
      
       <div id="container">
       <div id="sidebar">
       <ui:insert name="sidebar">
       TODO : Login form
       </ui:insert>
       </div>
      
       <div id="errors">
       <ui:insert name="errors">
       <h:messages globalOnly="true"
       layout="table"
       styleClass="cntError" />
       </ui:insert>
       </div>
      
       <div id="content">
       <ui:debug hotkey="D"/>
       <ui:insert name="body">
       PAGE BODY
       </ui:insert>
       </div>
       </div>
       </div>
      
      
       <script type="text/javascript" src="seam/resource/remoting/resource/remote.js"></script>
       <script type="text/javascript">
       //<![CDATA[
       function subscriptionCallback(message)
       {
       Seam.Remoting.log('Got the message !!! ');
       }
      
       Seam.Remoting.subscribe("CommandTraceTopic", subscriptionCallback);
       // ]]>
       </script>
      
      
      </body>
      </html>
      



      The html page in question contains form in <ui:insert name="body"> tag above. Submission of that form causes the error.

      Thank you in advance for ideas.



        • 1. Re: Javascript error using Seam Remoting (JMS subscription)
          shane.bryzak

          Is it possible for you to test with the latest CVS version of Seam? I just recently made a change to fix out-of-scope references with Ajax callbacks, which I suspect fixes your error also.

          • 2. Re: Javascript error using Seam Remoting (JMS subscription)
            dkane

             

            "shane.bryzak@jboss.com" wrote:
            Is it possible for you to test with the latest CVS version of Seam? I just recently made a change to fix out-of-scope references with Ajax callbacks, which I suspect fixes your error also.


            Thank you for your reply.

            I've already discovered that error happens when page reload causes Seam.Remoting.subscribe(...) to be called second time.
            I added Seam.Remoting.unsubscribe(...) right before Seam.Remoting.subscribe(...) and this solved the problem.

            We would like to finish this project on 1.2.1GA and upgrade after that.