Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    Messaging Module Question

    We are running v11.0p_2016-03-31/PowerEdition Deployment with Real-Time Messaging. [COLOR=#263238]Apache is being used as a proxy in front of Tomcat. We are observing that occasionally a message we are sending using the messaging module does not appear to be received by the client. In cases where this is happening, a messaging request had been sent by the messaging module itself around this time. [/COLOR]
    The Tomcat log snippet shown below shows the messaging module call at 12:55:10. Oddly enough the line before it has a timestamp of 12:56:05.

    208.69.253.65 - - [31/Oct/2017:12:56:05 -0700] “GET /.../insertCharacteristics?reportId=ab3d3435-8c2c-4dee-a056-9e696877d776&startIndex=1&insertAtEnd=true&keys=50036__%3B__0 HTTP/1.1” 200 37 “https://.../” “Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36” “-”
    208.69.253.65 - - [31/Oct/2017:12:55:10 -0700] “GET /ifrs9/ThinClientModule/sc/messaging?ts=1509479710806&isc_noLog=1&type=connect&connectionID=isc_HiddenFrame_18&subscribedChannels=%7B%0A%20%20%20%20%223612F55AF08E4E3504DC1A4BF62758CA%22%3A%7B%0A%20%20%20%20

    We were wondering if there is any known issue around messaging that could cause a message to be lost in such an environment?

    #2
    No known issue of this kind, but you should nevertheless update to the latest patched version - no point in further investigation until you've done so.

    Comment


      #3
      I actually updated to the latest version from version 6.1. However, now I am getting the following exception:

      java.lang.RuntimeException: Attempt to use Messaging APIs without the optional Realtime Messaging module. Verify that your license includes this optional module and that you have included the necessary client and server-side components in your project.
      at Unknown.fillInStackTrace_0_g$(ThinClientModule-0.js@3:6639)
      at Unknown.Throwable_2_g$(ThinClientModule-0.js@8:6585)
      at Unknown.Exception_2_g$(ThinClientModule-0.js@18:20798)
      at Unknown.new RuntimeException_2_g$(ThinClientModule-0.js@18:99687)
      at Unknown.checkMessagingLoaded_0_g$(ThinClientModule-0.js@11:175311)

      Comment


        #4
        Have you taken the steps recommended by the error message? Please detail which things you have checked - since you haven't told us, right now our advice is the same as the error message's advice.

        Comment


          #5
          Yes, we are licensed for the Realtime Messaging module. isomorphic_realtime_messaging.jar, isomorphic_js_parser.jar and messaging.jar are in my project's dependencies and I've got

          <inherits name="com.smartgwt.RealtimeMessaging"/>

          in my module's gwt.xml file. This has been working in version 6.0 so no changes were made when upgrading to 6.1.
          Note that I was successfully able to run 6.1 from Tomcat. But there is still an issue when running from Eclipse.

          I am looking for guidance as to what I am doing wrong.

          Comment


            #6
            How are you loading the various ISC_*.js files? See the Debugging overview - depending on whether you are using SuperDevMode it may be manual or automatic. When updating the project perhaps you overwrote your host .html file and it no longer has a <script> tag for Messaging.

            If it works in Tomcat but not in your IDE you might also look for staleness in the IDE project. After changing .gwt.xml did you run a GWT compile? Clear the gwt unitCache? Restart the IDE?

            That error message could result if your IDE just hasn't moved the ISC_RealtimeMessaging.js file from inside the .jar into the deployment, so it can be loaded.

            Comment


              #7
              Thank you for your response. I've made sure to clean up gwtUnitCache and all other generated files.

              My gwt.xml file originally contained the line:

              <inherits name="com.smartgwt.RealtimeMessagingNoScript"/>

              I tried changing it to:

              <inherits name="com.smartgwt.RealtimeMessaging"/>

              and I saw the following output which may be helpful. The output only shows the lines related to messaging.

              Linking modules
              Bootstrap link for command-line module '...mymodule'
              Linking module 'mymodule'
              Invoking Linker Cross-Site-Iframe
              Ignoring the following script tags in the gwt.xml file
              sc/modules/ISC_RealtimeMessaging.js?isc_version=11.1p_2017-11-02.js

              Invoking Linker SmartGwtScriptInjector
              Creating loadScriptTagFiles.js to manually load the following script tags:
              sc/modules/ISC_RealtimeMessaging.js?isc_version=11.1p_2017-11-02.js
              Bootstrap link for command-line module 'mymodule'
              Linking module 'ThinClientModule'
              Invoking Linker Cross-Site-Iframe
              Ignoring the following script tags in the gwt.xml file
              sc/modules/ISC_RealtimeMessaging.js?isc_version=11.1p_2017-11-02.js

              Invoking Linker SmartGwtScriptInjector
              Creating loadScriptTagFiles.js to manually load the following script tags:
              sc/modules/ISC_RealtimeMessaging.js?isc_version=11.1p_2017-11-02.js

              Invoking Linker Cross-Site-Iframe
              Ignoring the following script tags in the gwt.xml file
              sc/modules/ISC_RealtimeMessaging.js?isc_version=11.1p_2017-11-02.js

              Invoking Linker SmartGwtScriptInjector
              Creating loadScriptTagFiles.js to manually load the following script tags:
              sc/modules/ISC_RealtimeMessaging.js?isc_version=11.1p_2017-11-02.js
              Link succeeded
              Linking succeeded -- 25.315s

              After this change I still get the exception regarding the Messaging API.

              Comment


                #8
                Those messages are "normal" in the sense that GWT inexplicably dropped support for script tags in .gwt.xml files and we had to add workarounds to re-enable the feature, and we have no way of suppressing these useless warnings.

                However, bigger picture you are headed in the wrong direction; if you were already using NoScript, that's preferred and avoids relying on the workaround. There is no reason to change now. Pick one or the other approach (as doc'd in the Debugging topic) and stick to it.

                The next basic thing to check on is whether there is actually a request to load ISC_RealtimeMessaging.js, and if it fails, why isn't the file there? Your GWT compile should have copied the file into your deployment.
                Last edited by Isomorphic; 15 Nov 2017, 03:24.

                Comment


                  #9
                  After some time away I'm still trying to understand this issue. I do see ISC_RealtimeMessaging.js copied into my deployment. However, I have noticed that in ISC_Core.js the RealtimeMessaging module indicates that it is not present. Could this be related to the problem? If so, how I can I fix it?

                  In ISC_Core.js: RealtimeMessaging:{present:"false",name:"RealtimeMessaging Module"}

                  Comment


                    #10
                    Still need to focus on very basic stuff rather than reverse engineering the licensing mechanism. As we just posted: do you see a request for ISC_RealtimeMessaging.js? Does it succeed?

                    Comment


                      #11
                      Sure, that makes sense. I think the request for ISC_RealtimeMessaging.js does succeed. I've attached an image from the developer console showing this.

                      Click image for larger version

Name:	Capture.JPG
Views:	158
Size:	154.9 KB
ID:	251991

                      Comment


                        #12
                        Next basic thing to check: is the load order correct? RealtimeMessaging should be last, after the other ISC_*.js files. You can clear your cache to see what a clean load looks like.

                        Comment


                          #13
                          Thanks. It does look like RealtimeMessaging in the last ISC_*.js file loaded.

                          Click image for larger version

Name:	Order.JPG
Views:	136
Size:	12.8 KB
ID:	252011

                          Comment


                            #14
                            Hi. I was wondering if there is any update on this. What is next for me to try?

                            Comment


                              #15
                              We're looking into it.

                              Comment

                              Working...
                              X