Java Remoting over AMF channel slow from internet

Hi
We have a Flex app that uses an AMF channel to call a Java object on LCDS. The LCDS is a default 2.5.1 install on windows, running the built in JBOSS server.
When we run the flex client on the lan, response is excellent. When we call it from outside the firewall, we get a 5 to 7 second delay on the all Java calls. The app also uses SQL assember, but we dont see any perfomance issue with the data service calls.
The LCSD server is behind our firewall, and we are doing simple port forwarding of 8700 and 2038 to enable access from outside teh firewall.
To test, I set up a very simple java method, and if I call it from a pc on the lan I get an instant response. If I call it via the internet, I get a 5 second delay. This shows that bandwidth is not the issue.
My suspicion is that the problem is with polling on a simple amf channel. I tried to setup a streamingAMFchannel, but got a class not found error. I set up long polling, but got the same result.
Here is more background:
I created a simple java method:
    public String ping() {
        Calendar cal = Calendar.getInstance();
        String time = cal.getTime().toString();
        fLogger.info("Ping Received at "+time);
        return time;
I call this from a form
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300">
      <mx:RemoteObject
            id="testBed" 
            destination="testBed">
          <mx:method name="ping" result="pingHandler(event.result)"/>
      </mx:RemoteObject>
            <mx:Script><![CDATA[
            private function ping():void {
                  var date:Date = new Date();
                  msgBox.text=msgBox.text+"Calling ping  at "+date.toLocaleTimeString()+" "+date.getMilliseconds()+"\n"
                  testBed.ping()
                  date = new Date();
                  msgBox.text=msgBox.text+"Ping  called  at "+date.toLocaleTimeString()+" "+date.getMilliseconds()+"\n"
            private function pingHandler(result):void {
                  var date:Date = new Date();
                  msgBox.text=msgBox.text+"Ping returned at "+date.toLocaleTimeString()+" "+date.getMilliseconds()+"\n"
                  msgBox.text=msgBox.text+"Ping returned   :"+result+"\n"
            }     ]]>   </mx:Script>
            <mx:Button x="35" y="268" label="Ping" id="pingButton" click="ping()"/>
            <mx:TextArea x="19" y="10" width="371" height="250" id="msgBox" text=""/>
</mx:Canvas>
When I run over the net I get
Calling ping  at 04:19:11 PM 593
Ping  called  at 04:19:11 PM 593
Ping returned at 04:19:16 PM 562
Which is a 5 second delay
I have attached my config files.
Any suggestions would be appreciated.
Cheers
James

Can you give a little more information on the architecture of your application layers and where do they run?
Do you use ADF BC? Are they running on the client machine or on a server through EJB?
Also does running a form that doesn't connect to the DB also slow on the remote clients?
You can try to use the profiler in JDeveloper to monitor your application and see which events takes place when.

Similar Messages

  • WD Java Remote Debug problem: Release Process from debugging

    Hi Community,
    when I used to debug Web Dynpro Java from the SAP Developer Studio (eclipse) to a remote host (Portal AS NW Java), it works fine for the first run. After disconnecting the remote debug session (server0), I changed the coding and try to debug again with the effect that the old coding is still used from the server process (server0) even though the parameter "Create and Deploy archive" is set (enabled) in the debug configuration. Furthermore the funktionality of "Relase process from debugging" option in the J2EE Engine dosn't react / work.
    I think that the debug session is still running and the Developer Studio is not able to send any "Kill" statement to the server process for ending this session.
    I tried following:
    A. Rebuild Project and Deploy the archive on the "normal" way
    B. Reopen the Developer Studio itself
    C. Start the Project in debugmode again and chose the option "Terminate All"
    ...all without any success.
    The only way is to restart the whole server process server0 again with the same trouble after the first debug.
    Did any of you have a clue or experience to clear or kill the debugsession from the process so that next debugsessions can be started, please reply.
    Thanks
    Used Basic Manuell
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/849170e3-0601-0010-d59e-ddfce735fac5

    So, I'm having the same issue, but it's like I'm chasing down a port. The first time I got these error messages
    Connecting to the database DEV.
    Executing PL/SQL: ALTER SESSION SET PLSQL_DEBUG=TRUE
    Executing PL/SQL: CALL DBMS_DEBUG_JDWP.CONNECT_TCP( '555.12.18.288', '5950' )
    ORA-30683: failure establishing connection to debugger
    ORA-12535: TNS:operation timed out
    ORA-06512: at "SYS.DBMS_DEBUG_JDWP", line 68
    ORA-06512: at line 1
    Process exited.
    Disconnecting from the database DEV.Our network staff found a bunch of other denials in the firewall logs
    /5185
    /5200
    /5236
    /5815
    /5950 Now that they've those allowed, I tried to start debug again, and this time I got
    Connecting to the database DEV.
    Executing PL/SQL: ALTER SESSION SET PLSQL_DEBUG=TRUE
    Executing PL/SQL: CALL DBMS_DEBUG_JDWP.CONNECT_TCP('555.12.18.288', '6266' )
    ORA-30683: failure establishing connection to debugger
    ORA-12535: TNS:operation timed out
    ORA-06512: at "SYS.DBMS_DEBUG_JDWP", line 68
    ORA-06512: at line 1
    Process exited.
    Disconnecting from the database DEV.What gives? Do I just keep trying until I get all of the ports allowed?
    Thanks,
    ---=Chuck

  • VNC remote my computer from Internet via time capsule

    I have several computers connected with Airport via time capsule to Internet.
    When I am out of office, how can I remote one of the computers from the Ipad? I use Mocha VNC
    I´ve been trying but impossible to find the complete IP or DNS name, my IPAD do not find any of the computers if connected via Time Capsule
    I have no prob when connecting one computer to modem directly , It works fine If I write the IP on my IPAD.
    Back to my mac and VNC password settings seems correct.

    Try locking the wireless channels for 2.4ghz.. instead of auto use 1, 6 or 11. Test each in turn.
    I would also suggest using a SMB name.. ie short, no spaces.. pure alphanumeric.
    Did you happen to upgrade to latest iOS?? People are experiencing some bugs.. which is no real suprise.
    Has the phone worked before and stopped working after some change you made.. or have you never been able to connect using this phone.

  • Remote access VPN clients connected to Internet from VPN

    Greetings,
    I need to let remote VPN clients to connect to Internet from the same ASA VPN server
    " client connects to ASA through VPN tunnel from outside interface then access Internet from the same ASA from outside interface again
    thanks

    you'll need to configure 'same-security-traffic permit intra-interface' on the ASA .
    Also, need to setup the corresponding nat statements for your clients pool range.
    i.e.
    global (outside) 1 interface
    nat (outside) 1 access-list anyconnectacl
    where anyconnectacl is the pool for your clients:
    access-list anyconnectacl permit ip 172.16.1.0 255.255.255.0 any

  • How to access SSRS in cloud remotely over internet

    How to access SSRS in cloud remotely over internet. How authentication and authorization of reports based on user roles can be managed over internet.
    Thanks in advance for your help.
    Bala

    this is resolved

  • "java.io.IOException: Write Channel Closed" starting AdminServer from WLST

    Hi,
    I am trying to start the admin server through WLST.
    Per "Oracle® Fusion Middleware WebLogic Scripting Tool Command Reference 11g Release 1 (10.3.2)" I tried it both ways - online and offline.
    When online
    wls:/nm/ClassicDomain> startServer('AdminServer','ClassicDomain','t3://10.110.90.156:7002','weblogic','<password>','/u0/app/oracle/product/middleware/user_projects/domains')
    I am getting
    Starting server AdminServer ...
    Traceback (innermost last):
    File "<console>", line 1, in ?
    File "<iostream>", line 412, in startServer
    at com.certicom.tls.record.WriteHandler.write(Unknown Source)
    at com.certicom.io.OutputSSLIOStreamWrapper.write(Unknown Source)
    at sun.nio.cs.StreamEncoder.writeBytes(StreamEStarting server AdminServer ...
    Traceback (innermost last):
    File "<console>", line 1, in ?
    File "<iostream>", line 412, in startServer
    at com.certicom.tls.record.WriteHandler.write(Unknown Source)
    at com.certicom.io.OutputSSLIOStreamWrapper.write(Unknown Source)
    at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:202)
    at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:272)
    at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:276)
    at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:122)
    at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:212)
    at java.io.BufferedWriter.flush(BufferedWriter.java:236)
    at weblogic.nodemanager.common.DataFormat.writeCommand(DataFormat.java:243)
    at weblogic.nodemanager.client.NMServerClient.sendCmd(NMServerClient.java:320)
    at weblogic.nodemanager.client.NMServerClient.sendServer(NMServerClient.java:265)
    at weblogic.nodemanager.client.NMServerClient.start(NMServerClient.java:94)
    at weblogic.management.scripting.NodeManagerService.nmStart(NodeManagerService.java:368)
    at weblogic.management.scripting.LifeCycleHandler.startSvr(LifeCycleHandler.java:887)
    at weblogic.management.scripting.WLScriptContext.startSvr(WLScriptContext.java:384)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    java.io.IOException: java.io.IOException: Write Channel Closed
    and the node manager log shows:
    WARNING: Uncaught exception in server handlerjava.io.IOException: Bad properties data format
    java.io.IOException: Bad properties data format
    at weblogic.nodemanager.common.DataFormat.readProperties(DataFormat.java:44)
    at weblogic.nodemanager.server.Handler.handleStart(Handler.java:537)
    at weblogic.nodemanager.server.Handler.handleCommand(Handler.java:118)
    at weblogic.nodemanager.server.Handler.run(Handler.java:70)
    at java.lang.Thread.run(Thread.java:619)
    And if I try it offline
    wls:/offline> startServer('AdminServer','ClassicDomain','t3://10.110.90.156:7002','weblogic','<passwd>','/u0/app/oracle/product/middleware/user_projects/domains');
    I am getting a big stack below. Can anybody through an idea?
    Thank you
    Anatoliy
    Offline stack:
    Starting weblogic server ...
    WLST-WLS-1273604718586: <May 11, 2010 3:05:19 PM EDT> <Info> <WebLogicServer> <BEA-000377> <Starting WebLogic Server with BEA JRockit(R) Version R27.6.5-32_o-121899-1.6.0_14-20091001-2113-linux-ia32 from BEA Systems, Inc.>
    WLST-WLS-1273604718586: <May 11, 2010 3:05:20 PM EDT> <Info> <Management> <BEA-140013> </u0/app/oracle/product/middleware/user_projects/domains/config/config.xml not found>
    WLST-WLS-1273604718586: <May 11, 2010 3:05:20 PM EDT> <Info> <Management> <BEA-141254> <Generating new domain directory in /u0/app/oracle/product/middleware/user_projects/domains>
    ...WLST-WLS-1273604718586: <May 11, 2010 3:05:27 PM EDT> <Critical> <WebLogicServer> <BEA-000362> <Server failed. Reason:
    WLST-WLS-1273604718586:
    WLST-WLS-1273604718586: There are 1 nested errors:
    WLST-WLS-1273604718586:
    WLST-WLS-1273604718586: weblogic.management.ManagementException: Failure during domain creation
    WLST-WLS-1273604718586: at weblogic.management.internal.DomainDirectoryService.generateDomain(DomainDirectoryService.java:229)
    WLST-WLS-1273604718586: at weblogic.management.internal.DomainDirectoryService.ensureDomainExists(DomainDirectoryService.java:152)
    WLST-WLS-1273604718586: at weblogic.management.internal.DomainDirectoryService.start(DomainDirectoryService.java:72)
    WLST-WLS-1273604718586: at weblogic.t3.srvr.ServerServicesManager.startService(ServerServicesManager.java:461)
    WLST-WLS-1273604718586: at weblogic.t3.srvr.ServerServicesManager.startInStandbyState(ServerServicesManager.java:166)
    WLST-WLS-1273604718586: at weblogic.t3.srvr.T3Srvr.initializeStandby(T3Srvr.java:749)
    WLST-WLS-1273604718586: at weblogic.t3.srvr.T3Srvr.startup(T3Srvr.java:488)
    WLST-WLS-1273604718586: at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:446)
    WLST-WLS-1273604718586: at weblogic.Server.main(Server.java:67)
    WLST-WLS-1273604718586: Caused by: com.bea.plateng.domain.script.ScriptException: The domain location must have write permission.
    WLST-WLS-1273604718586: at com.bea.plateng.domain.script.ScriptExecutor.writeDomain(ScriptExecutor.java:723)
    WLST-WLS-1273604718586: at com.bea.plateng.domain.script.ScriptParserClassic$StateMachine.processWrite(ScriptParserClassic.java:575)
    WLST-WLS-1273604718586: at com.bea.plateng.domain.script.ScriptParserClassic$StateMachine.execute(ScriptParserClassic.java:431)
    WLST-WLS-1273604718586: at com.bea.plateng.domain.script.ScriptParserClassic.parseAndRun(ScriptParserClassic.java:150)
    WLST-WLS-1273604718586: at com.bea.plateng.domain.script.ScriptParserClassic.doExecute(ScriptParserClassic.java:112)
    WLST-WLS-1273604718586: at com.bea.plateng.domain.script.ScriptParser.execute(ScriptParser.java:73)
    WLST-WLS-1273604718586: at com.bea.plateng.domain.DomainInfoHelper.executeSilentScript(DomainInfoHelper.java:858)
    WLST-WLS-1273604718586: at com.bea.plateng.domain.DomainInfoHelper.createDefaultDomain(DomainInfoHelper.java:1762)
    WLST-WLS-1273604718586: at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    WLST-WLS-1273604718586: at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    WLST-WLS-1273604718586: at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    WLST-WLS-1273604718586: at java.lang.reflect.Method.invoke(Method.java:597)
    WLST-WLS-1273604718586: at weblogic.management.internal.DomainDirectoryService.generateDomain(DomainDirectoryService.java:224)
    WLST-WLS-1273604718586: ... 8 more
    WLST-WLS-1273604718586:
    WLST-WLS-1273604718586: >
    WLST-WLS-1273604718586: <May 11, 2010 3:05:27 PM EDT> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to FAILED>
    WLST-WLS-1273604718586: <May 11, 2010 3:05:27 PM EDT> <Error> <WebLogicServer> <BEA-000383> <A critical service failed. The server will shut itself down>
    WLST-WLS-1273604718586: <May 11, 2010 3:05:27 PM EDT> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to FORCE_SHUTTING_DOWN>
    WLST-WLS-1273604718586: Stopped draining WLST-WLS-1273604718586
    WLST-WLS-1273604718586: Stopped draining WLST-WLS-1273604718586 .............................................Could not connect to the server to verify that it has started. The error returned is: javax.naming.CommunicationException [Root exception is java.net.ConnectException: t3://10.110.90.156:7002: Destination unreachable; nested exception is:
            java.net.ConnectException: Connection refused; No available router to destination] Traceback (innermost last):
    File "<console>", line 1, in ?
    File "<iostream>", line 432, in startServer
    File "<iostream>", line 618, in raiseWLSTException
    WLSTException: Error occured while performing startServer : Could not start the server, the process might have timed out or there is an Error starting the server. Please refer to the log files for more details.

    Hi,
    Thank you for the quick response.
    I tried that, I can connect so wls:/offline> nmConnect('weblogic','password','10.110.90.156','5556','ClassicDomain','/u0/app/oracle/product/middleware/user_projects/domains/ClassicDomain');
    Connecting to Node Manager ...
    Successfully Connected to Node Manager.
    wls:/nm/ClassicDomain>
    but on
    nmStart(serverName="AdminServer",domainDir="/u0/app/oracle/product/middleware/user_projects/domains/ClassicDomain")
    Starting server AdminServer ...
    Error Starting server AdminServer: weblogic.nodemanager.NMException: Exception while starting server 'AdminServer'
    wls:/nm/ClassicDomain> nmStart(serverName="AdminServer",domainDir="/u0/app/oracle/product/middleware/user_projects/domains/ClassicDomain")
    Starting server AdminServer ...
    Error Starting server AdminServer: weblogic.nodemanager.NMException: Exception while starting server 'AdminServer'
    wls:/nm/ClassicDomain>
    And the AdminServer log shows security authentication error. Wondering why since I am not entering password when I do nmStart?
    Do you have an idea?
    Thank you
    Anatoliy

  • A new tab now appears over my home page which is set correctly; the same tab appears when I want to print from internet and I CAN'T PRINT.

    A new tab has suddenly appears over my home page when I go online. I don't know where this came from; is it a Mozilla Firefox thing? Even worse, when I try to print from internet, this page appears instead of my printer box and I am unable to print what I want.

    You may have an unwanted extension that is modifying sites (or the toolbar area). Try this:
    Disable ALL nonessential or unrecognized extensions on the Add-ons page. Either:
    * Ctrl+Shift+a
    * orange Firefox button (or Tools menu) > Add-ons
    In the left column, click Extensions. Then, if in doubt, disable.
    Usually a link will appear above at least one disabled extension to restart Firefox. You can complete your work on the tab and click one of the links as the last step.
    Does that flush the tab?
    Please report back on anything suspicious you find so others can learn about its bad behavior.

  • Play music from internet over aiport express connected speakers

    I am playing my Itunes music via Airport Express over connected speakers successfully. Is it also possible to play music from internet over these airport express connected speakers? For example playing the sounds of a video over the speakers which are connected to the Airport Express? Thx in advance for any helpfull suggestions.

    Does Airfoil do what you want?
    (48253)

  • Browsing to Internet is slow from 10.5

    browsing to Internet is very slow from 10.5
    Dual 2.7 GHz PowerPC G5
    8 GB DDR SDRAM
    Thanks

    Hello Ahmed,
    TenFourFox is the most up to date browser for our PPCs, they even have G4 & G5 optimized versions...
    http://www.floodgap.com/software/tenfourfox/
    I'd avoid vesrion 24 though, as it no longer supports plug-ins like Flash.
    SeaMonkey seems pretty fast also, with many options...
    http://www.seamonkey-project.org/
    http://www.seamonkey-project.org/releases/
    Might also look into iCab & OmniWeb versions.
    For slow page loading, try this...
    For 10.5/10.6/10.7/10.8/10.9 > Network Pref Pane, highlight Interface you connect with>Advanced button>DNS tab>little + icon.
    Try putting these numbers in...
    208.67.222.222
    208.67.220.220

  • Can the time machine be accessed remotely over the internet?

    Hi, I am thinking about purchasing the time machine. Can the hard drive on the time machine be accessed remotely over the internet?

    Do you realize that if you store some of your Mac's data (photos, music, etc.) ONLY  on the external Time Capsule, AND also  store your "Time Machine" app "system backups" on the Time Capsule,then if the Time Capsule hard drive ever fails you will have lost the " original" and the "backup" copies of all that data  (photos, music, etc.)?  They will be gone forever.  NOT recommended!

  • Time machine: remote backup from internet to my Time Capsule

    Hi,
    I don't know how configure my TC and my icluod account in order to have backup of my mac on TC by internet. In my local network all is working fine but from internet I can access to my time capsule but when I try to backup there is a error message: backup disk is not available.
    Do you have any idea?
    tnx

    before I was able to do it...after remove of TC (iCloud version) by TM I cannot
    There might be a very good reason for it.
    Try using it without iCloud.. link directly to the TC using AFP over internet.
    See example here for how to setup with TC behind a router.
    http://gigaom.com/2009/05/14/access-your-time-capsule-over-the-internet/
    Even easier if the TC is the main router.. just turn on wan access for AFP.
    But you are going to need to run a computer to locate the TC via dyndns if you don't pay the extra for static IP from your ISP.

  • My favorites didn't transfer over when I downloaded firefox. how to import favorites from internet explorer 9 to firefox 4.1

    None of my favorites from internet explorer transferred to firefox when I downloaded firefox. How can I get my old favorites into bookmarks in firefox 4.1? Thank you.

    Please see here: [[Importing favorites and other data from Internet Explorer]]

  • Retrieving the remote IP when using Flex Remoting over RTMP

    Hello,
    I am trying to retrieve the IP address of a user making a Java call to my service defined in remoting-config.xml
    If i setup an AMF channel I can use the folllowing to retrieve the remote IP address:
    String ip = FlexContext.getHttpRequest().getRemoteAddr();
    But when i try to do the same over a RTMP channel I get a Java exception because the object that RTMP uses to fake a httprequest doesn't implement that function.
    How do i retrieve the IP of the user making the call in this case? It has to be somewhere or the server wouldn't be able to send a reply to the client, but i haven't been able to find it.
    Constantijn Visinescu

    I tried all of your ideas and still no luck (see below). One thing I forgot to mention was that when using Internet Exploier to view the web page on another computer I can see the document title (AKA- VI name) and the header I typed in. But where the vi should be I have the missing picture Icon (the one you see when a web page has a bad link to an image). Image will show up on sever computer when I click preview web page. Is there anything that the receiving computer needs to have other than the run time code?
    TST – I have found that the start web sever button will gray out if  you goto tools options web server configuration then manual check the enable web server check box. So that wasn’t it.
    Soroush- I set up computer to be a server using control panel (I didn’t know you could do that) thank for the ini file I will update mine
    Thoskins- I change port number and the still didn’t work
    HTML code created using Labview web publishing code  (everything looked go to me???)
    var obj = '<OBJECT ID="LabVIEWControl" CLASSID="CLSID:A40B0AD4-B50E-4E58-8A1D-8544233807AC" WIDTH=1019 HEIGHT=716 CODEBASE="ftp://ftp.ni.com/support/labview/runtime/windows/7.1';
    if (lng.indexOf("fr") != -1) { obj = obj + '/French'; }
    else if (lng.indexOf("de") != -1) { obj = obj + '/German'; }
    else if (lng.indexOf("ja") != -1) { obj = obj + '/Japanese'; }
    obj = obj + '/LVRunTimeEng.exe">';
    document.write(obj);
    // --></SCRIPT>
    <PARAM name="LVFPPVINAME" value="390Troubleshoot.vi">
    <PARAM name="REQCTRL" value=false>
    <EMBED SRC=".LV_FrontPanelProtocol.rpvi71" LVFPPVINAME="390Troubleshoot.vi" REQCTRL=false TYPE="application/x-labviewrpvi71" WIDTH=1019 HEIGHT=716  PLUGINSPAGE="http://digital.ni.com/express.nsf/express?openagent&code=ex3e33&"></EMBED>
    </OBJECT>
    </TD></TR></TABLE>
    </HTML>

  • AMF channel return object format

    Hey,
    I am working with BlazeDS and JBoss 5.
    In Jboss I have AuthentificationFilter  before  Remote Objects... So each request must pass throw this filter.
    On server side:
    In the filter I am checking login session data and if it is ok ,it passes to Remote Object.
    If not I make following :
    httpResponse.getWriter().write("Session Invalid");
    On flex side :
    I get fault result from server, and I don't see "Session invalid" string. I have the fault of Bad Version, because  it is not AMF Channel , I quess.
    The question is how can I get String from this filter ???
    Thanks a lot!

    Hello,
    I wanted to start a new post but when reading this post, I think it is the same kind of issue I am facing for a few days now.
    I am using WebSphere (v6.1) and Java (EJB 2...) with Flex 3.4 as the frontend talking to BlazeDS.
    In some cases based on properties, my application (EJBs) should still be available but the UI (Flex) should be disabled.
    Throwing java exception in the (java) services methods works just fine since you can get the exception in Flex through the fault rootCause but I need/want to block the Flex app/calls before that...
    To do so, I thought that a (java) ServletFilter added in the web.xml would be the right place to process this check.
    If the properties says that the UI should not be accessed before launching the application frontend it is working just great. Indeed I am calling a servlet that will display the flash <object ...> but the filter is able to return an HTML information page...
    if the properties are set later on, when the flex app is already running, I am facing the issue!
    I tried several things but I can't get a usable message on flex side...
    In my "doFilter" method, I did try this:
    public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain)
              throws IOException, ServletException {
         // Cast the request & response
         HttpServletRequest request = (HttpServletRequest) req;
         HttpServletResponse response = (HttpServletResponse) res;
         // Try to send an exception that I could catch/match (at least the message) on the flex side...
         response.resetBuffer();
         response.setContentType("application/x-amf");
         MessageException me = new MessageException("Application closed");
         ErrorMessage em = me.getErrorMessage();
         FlexClient flexClient = FlexContext.getFlexClient();
         em.setClientId(flexClient.getId());
         Amf3Output amfOutput = new Amf3Output(SerializationContext.getSerializationContext()); 
         amfOutput.setOutputStream(response.getOutputStream()); 
         amfOutput.writeObject(em);
         amfOutput.flush(); 
         amfOutput.close(); 
         return;
    When doing so, I get an "Unsupported AMF version 2689" in Flashbug/Firebug under Firefox.
    And I first tried a much more simple thing (in the "doFilter" method) such as :
    throw new UnavailableException("Application closed");
    or
    res.sendError(HttpServletResponse.SC_TEMPORARY_REDIRECT);
    return;
    and I get this error :
    faultCode:Client.Error.DeliveryInDoubt faultString:'Channel disconnected'
    faultDetail:'Channel Disconnected before an acknowledement was received'
    I really hope someone will be able to help us since it does not look like a crazy use case.
    I have also tried to override the MessageBrokerServlet but I am facing the same issues...
    Thank you very much for your help and keep on doing great job on BlazeDS!!!

  • Predefined (subscriptions) channel, which is: INTERNET

    I had been getting the following error messages when trying to set up subscriptions for documents in KM:
    <b>Notificator-Thread: task error while sending to MHug! Notificaton: error creating message while getting xsl producer
    Missing resource! com.sapportals.wcm.WcmException: Missing resource!
         at com.sapportals.wcm.service.pipeline.producer.ProducerFromResource.<init>(ProducerFromResource.java:51)
         at com.sapportals.wcm.service.notificator.AbstractNotification.getXslProducer(AbstractNotification.java:341)
         at com.sapportals.wcm.service.notificator.AbstractNotification.createMessage(AbstractNotification.java:181)
         at com.sapportals.wcm.service.notificator.AbstractNotification.getContent(AbstractNotification.java:444)
         at com.sapportals.wcm.service.notificator.wcm.NotificatorService$Sender.run(NotificatorService.java:644)
         at java.lang.Thread.run(Thread.java:534)
    </b>
    This led me to find SAP Note <a href="https://service.sap.com/~form/handler?_APP=01100107900000000342&_EVENT=REDIR&_NNUM=880578&_NLANG=E">880578</a>, which while not completely helpful did lead me to remove the INTERNET channel from the Notificator service.  After doing this, now the emails are sent successfully after making updates to the document for the subscription, <b>but</b> there is now a new message:
    <b>SubscriptionManager: Successfully found default channel: EMAIL. Notification will be send, but not over predefined (subscriptions) channel, which is: INTERNET</b>
    Where is this "predefined" subscriptions channel configured?  As far as I know, the only channel I have configured for this is EMAIL.
    Aso, it's fantastic that this subscription now sends the emails, but as a result of this I am now unable to edit the subscription!   Not exactly useful behavior.  When I choose "Edit Subscription" from the folder "Details" area, I get the following:
    <b>
    Portal Runtime Error
    An exception occurred while processing a request for :
    iView : com.sap.km.cm.uidetails
    Component Name : com.sap.km.cm.uidetails
    The exception was logged. Inform your system administrator..
    Exception id: 10:43_29/11/06_0002_9436550
    See the details for the exception ID in the log file</b>
    The only thing that is different is that I removed the INTERNET channel from the Notificator service.  According to note <a href="https://service.sap.com/~form/handler?_APP=01100107900000000342&_EVENT=REDIR&_NNUM=808756&_NLANG=E">808756</a>, the INTERNET channel is not required for subscriptions.
    Can someone out there shed some light on what heck is going on here?
    The questions are:
    <b>1.  Why aren't emails correctly sent when the INTERNET channel is associated with the Notificator service?
    2.  When the INTERNET channel is removed from the Notificator service, why are emails successfully sent but yet trying to edit the subscription leads to a Portal Runtime Error?</b>
    We are running
    J2EE Engine                                   6.40 PatchLevel 100627.313
    Portal                                             6.0.15.0.0
    KnowledgeManagementCollaboration 6.0.15.0.0 (NW04 SPS15)
    Thanks
    Rob

    I had been getting the following error messages when trying to set up subscriptions for documents in KM:
    <b>Notificator-Thread: task error while sending to MHug! Notificaton: error creating message while getting xsl producer
    Missing resource! com.sapportals.wcm.WcmException: Missing resource!
         at com.sapportals.wcm.service.pipeline.producer.ProducerFromResource.<init>(ProducerFromResource.java:51)
         at com.sapportals.wcm.service.notificator.AbstractNotification.getXslProducer(AbstractNotification.java:341)
         at com.sapportals.wcm.service.notificator.AbstractNotification.createMessage(AbstractNotification.java:181)
         at com.sapportals.wcm.service.notificator.AbstractNotification.getContent(AbstractNotification.java:444)
         at com.sapportals.wcm.service.notificator.wcm.NotificatorService$Sender.run(NotificatorService.java:644)
         at java.lang.Thread.run(Thread.java:534)
    </b>
    This led me to find SAP Note <a href="https://service.sap.com/~form/handler?_APP=01100107900000000342&_EVENT=REDIR&_NNUM=880578&_NLANG=E">880578</a>, which while not completely helpful did lead me to remove the INTERNET channel from the Notificator service.  After doing this, now the emails are sent successfully after making updates to the document for the subscription, <b>but</b> there is now a new message:
    <b>SubscriptionManager: Successfully found default channel: EMAIL. Notification will be send, but not over predefined (subscriptions) channel, which is: INTERNET</b>
    Where is this "predefined" subscriptions channel configured?  As far as I know, the only channel I have configured for this is EMAIL.
    Aso, it's fantastic that this subscription now sends the emails, but as a result of this I am now unable to edit the subscription!   Not exactly useful behavior.  When I choose "Edit Subscription" from the folder "Details" area, I get the following:
    <b>
    Portal Runtime Error
    An exception occurred while processing a request for :
    iView : com.sap.km.cm.uidetails
    Component Name : com.sap.km.cm.uidetails
    The exception was logged. Inform your system administrator..
    Exception id: 10:43_29/11/06_0002_9436550
    See the details for the exception ID in the log file</b>
    The only thing that is different is that I removed the INTERNET channel from the Notificator service.  According to note <a href="https://service.sap.com/~form/handler?_APP=01100107900000000342&_EVENT=REDIR&_NNUM=808756&_NLANG=E">808756</a>, the INTERNET channel is not required for subscriptions.
    Can someone out there shed some light on what heck is going on here?
    The questions are:
    <b>1.  Why aren't emails correctly sent when the INTERNET channel is associated with the Notificator service?
    2.  When the INTERNET channel is removed from the Notificator service, why are emails successfully sent but yet trying to edit the subscription leads to a Portal Runtime Error?</b>
    We are running
    J2EE Engine                                   6.40 PatchLevel 100627.313
    Portal                                             6.0.15.0.0
    KnowledgeManagementCollaboration 6.0.15.0.0 (NW04 SPS15)
    Thanks
    Rob

Maybe you are looking for