EGL Development User Group

EGL Development User Group

EGL Development User Group

The EGL Development User Group is dedicated to sharing news, knowledge, and insights regarding the EGL language and Business Developer product. Consisting of IBMers, HCL, and users, this community collaborates to advance the EGL ecosystem.

 View Only
  • 1.  Cannot find EGL RUI Proxy error

    Posted Tue August 21, 2012 08:13 AM
    RBD 8.0.1.3
    EGL Rich UI & Dedicated Services -> WAS 7

    Several weeks ago we deployed our first EGL Rich UI app, it is a mobile app using dojo mobile widgets. Starting at about 2 days after we published our app to production we starting getting errors in our error log, they are service invocation exceptions that look like the snippet below most of the time:

    The application name is replaced by "appName" in the example below, Detail 1, 2, & 3 can vary slightly but the exception message is always the same for the most part

    An exception occurred: Message: [CRRUI3658E] An error occurred on proxy at '/appName/___proxy' while trying to invoke service on '' Message ID: CRRUI3658E Detail1: 500 Detail2: Internal Server Error Detail3: <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>500 Internal Server Error</title> </head><body> <h1>Internal Server Error</h1> <p>The server encountered an internal error or misconfiguration and was unable to complete your request.</p> <p>Please contact the server administrator, you@your.address and inform them of the time the error occurred, and anything you might have done that may have caused the error.</p> <p>More information about this error may be available in the server error log.</p> <hr> <address>IBM_HTTP_Server at *server address* Port 443</address> </body></html>


    In this RUI app all services are EGL dedicated services and they are called using the typical method for calling services in egl rui.

    What is interesting is that 2 things are apparently happening. First, the exception is generated (user clicks a button) which then causes the onException callback function to be triggered inside the RUI. In the onException callback function I call a service that logs the exception record to a DB2 table. To me this is confusing because it seems that the app tries to call the egl rui proxy, it fails, and then tries to do it again to call my error logging service, and that succeeds. Is it that the egl rui proxy is unreachable for just a moment? If so, what could cause this?

    We have done some testing and have not been able to track down the problem. Of course, I am not able to find anything regarding this issue online except for old posts with no answer as to how/why this could happen exactly.

    At this point I am not sure if the issue is related to Apache, WAS, DB2, or a clogged network, or a combination of things. Our app has been open for just over two weeks and we have had 7,000 users log in averaging about 55 users logging in per hour with peaks times being during the day reaching hundreads of users per hour. However, we see this error occur at all times of the day/night. We have even gone as far as setting up JMeter to load test and could not replicate the proxy error.

    Any help, ideas, or advise is greatly appreciated.

    Thanks,
    James
    JBASkeen


  • 2.  Re: Cannot find EGL RUI Proxy error

    Posted Wed August 22, 2012 12:30 PM
    Looks like HTTP server (or possibly WAS) issue. The answer (or at least better clues) should be in the HTTP server or WAS logs.

    --Dan
    dan_darnell


  • 3.  Re: Cannot find EGL RUI Proxy error

    Posted Wed August 22, 2012 12:46 PM
    Dan,

    Thanks for your reply. Unfortunately we have gone through every log available and there is not a single reference to this error, especially at the time it occurs. From a logging standpoint, everything looks normal.

    Any other ideas? Anyone? :)

    Thanks,

    James
    JBASkeen


  • 4.  Re: Cannot find EGL RUI Proxy error

    Posted Wed August 22, 2012 02:42 PM
    In general, when HTTP Server (in a WAS configuration) returns an error 500 is means that it failed to talk to WAS. Depending upon answers to the questions below we might be able to dig deeper and pinpoint a culprit.

    Tell me more about your hosting environment and clients. Are HTTP Server and WAS running on the same server? What kind of server is it? Are all Java and WAS service packs completely up to date? Are you using any load balancing components in WAS or in front of WAS? Is WAS a single node configuration or in a clustered environment?

    You mention mobile clients...are these generic Internet users with mobile devices or "captive" users that work for your company. If captive, are the mobile devices all the same? What are they?

    Are there any other network, server, or client components that I haven't asked about that you think might be playing a role?

    --Dan
    dan_darnell


  • 5.  Re: Cannot find EGL RUI Proxy error

    Posted Wed August 22, 2012 04:16 PM
    Dan,

    I am working on getting some of the details together that you previously asked about. Unfortunately I don't know all the answers since our sys admins take care of most server config/management and they keep us pretty separated. I will post those when I get them. But in general, we have a PowerBox that hosts the WAS 7 and Apache installs. We have a pretty big environment, we are a college so we manage almost all of our own resources. Our clients our mostly students and staff. Students are accessing this EGL RUI app from their mobile devices, we redirect them to our mobile student portal when they try to access the portal from a mobile device. Of course, we serve mostly iOS devices but lots of Android, these are the only types of devices that we currently redirect...no Blackberry, etc. I am deploying to WAS but remotely deploying an EAR, sometimes from the RBD workbench, sometimes through Jython. From what I see, the app servers and the http server are on the same node. Our DB2 installation is on a different box. As far as I know everything was up to date as of three weeks ago. My guess is that there is some type of configuration we are missing between WAS and Apache.

    Here are some new proxy errors that I am seeing in my log, have not seen these over the last two weeks. I am still trying to dig through everything to see what else I can find.

    An exception occurred: Message: EGL1539E An exception occurred while communicating with the service. URL:https://server.com/appName/___proxy EGL0001I The error occurred in EGL Rich UI Proxy. Message ID: EGL1539E Detail1: 500 Detail2: FAILED Detail3: java.net.SocketTimeoutException:Async operation timed out

    An exception occurred: Message: [CRRUI3657E]  Cannot find proxy at '/appName/___proxy' to make service calls Message ID: CRRUI3657E Detail1: 404 Detail2:  Detail3:

    An exception occurred: Message: [CRRUI3658E] An error occurred on proxy at '/appName/___proxy' while trying to invoke service on '' Message ID: CRRUI3658E Detail1: 504 Detail2: Gateway Time-out Detail3:


    Thanks,
    James
    JBASkeen


  • 6.  Re: Cannot find EGL RUI Proxy error

    Posted Wed August 22, 2012 04:53 PM
    Socket timeouts and gateway failures along with the internal server errors you were getting before...these are all network communication failures -- probably occurring between the HTTP Server and the WAS server.

    My only thought at this point is that you need to look at this from a networking point of view and by "look at" I mean ensure that your TCP/IP interfaces, routes, and domain are correctly configured on the Power box and then run communications traces to see where things are going astray.

    It is also common to find one or more firewalls in the mix (between the HTTP Server and the application server, on both sides of the HTTP server, etc.). We would have to understand your network topology in detail to determine whether additional elements (such as firewalls) might be in play. But again, at this point, I think you are looking at network issues that a local network tech is going to have to debug and fix.

    --Dan
    dan_darnell


  • 7.  Re: Cannot find EGL RUI Proxy error

    Posted Wed August 22, 2012 02:01 PM
    Hi James,

    Here are my observations, sorry I can't be more help.
    I agree with Dan the error appears to be occurring on the HTTP server:
    -the error message is HTML and and includes IBM_HTTP_Server
    -the message id is in the form CRRUIxxxxE, if the request failed in the proxy code the message id form would EGLxxxxE.

    I don't know enough about the HTTP server to help determine if the request failed before the HTTP server tried to access the EGL proxy on WebSphere or while the HTTP server was trying to access the EGL proxy.

    regards,
    Joe
    SystemAdmin


  • 8.  Re: Cannot find EGL RUI Proxy error

    Posted Fri August 24, 2012 03:52 PM
    Dan/Joe,

    Thanks for your responses. I am going to dig into this with our system guys over the next two weeks. Hopefully we can find something, certainly we have a large network full of routers, switches, and firewalls, none of which are my specialty.

    I will be sure to post a response if we find a resolution/cause.

    Thanks,
    James
    JBASkeen


  • 9.  Re: Cannot find EGL RUI Proxy error

    Posted Wed October 07, 2015 04:49 PM

    This issue is still bugging us, although it is less frequent. I am not positive ( no documented evidence) that our action helped to resolve the issue. However, it certainly reduced the frequency of occurrence. I will share our findings and actions anyway.  

    If anyone has found solution to this, please post it.

    Environment: Apache HTTP server --> WAS7.0 -->DB2/400.

    Apache is on a Linux box;  WAS7.0 is on As400; DB2/400 is on the same AS400 LPAR as the WAS.

    Finding: The message comes up when the application is idle for 'long' time. The 'long' possibly depends on the session timeouts set.

    Actions: Increase  Session timeout, in the web Container

     

    Cool_Anand