Applet Accessing RMI or TCP located on another server

<[email protected]> Wed, 3 May 2006 11:34:58 -0400
Newsgroups gmane.comp.java.openjms.user
Message-ID <09E0CDFDDA417041A7761FD6C990630503543D@apatlittmail07.ittl.gtri.org>
I know there have many discussions about trying to get around the
firewall so the client can connect to the server.  However, I'm still
confused.

 

I created an applet that accesses the openJMS server with these
followings properties:

Hashtable properties = new Hashtable();

properties.put(Context.INITIAL_CONTEXT_FACTORY,

                "org.exolab.jms.jndi.InitialContextFactory");

properties.put(Context.PROVIDER_URL, "tcp://localhost:3035/");

....

// create the JNDI initial context.

context = new InitialContext(properties);

 

Now, the applet works if I open it from computer,
C:\java\jms\new_openJMS\web\anew\4newhtml.html.

However, when I run this page from my webserver at,
http://localhost:8084/new_openJMS/anew/4newhtml.html, I get the
following error:

 

javax.naming.CommunicationException: Failed to get registry service for
URL: tcp://localhost:1035/ [Root exception is
java.rmi.ConnectIOException: Failed to create connection; nested
exception is: 

org.exolab.jms.net.connector.ConnectException: Failed to connect to
localhost:1035]

I changed my URL to rmi://localhost:3035.  Again, the local copy of the
applet is able to connect to openJMS but the applet that is ran from my
web server doesn't work.

 

Here's my full stack trace:

 

basic: Registered modality listener

liveconnect: Invoking JS method: document

liveconnect: Invoking JS method: URL

basic: Referencing classloader: sun.plugin.ClassLoaderInfo@1321f5,
refcount=1

basic: Added progress listener: sun.plugin.util.GrayBoxPainter@15c2843

basic: Loading applet ...

basic: Initializing applet ...

basic: Starting applet ...

network: Connecting
http://localhost:8084/new_openJMS/anew/jndi.properties with proxy=DIRECT

network: Connecting
http://localhost:8084/new_openJMS/anew/commons-logging.properties with
proxy=DIRECT

network: Connecting
http://localhost:8084/new_openJMS/anew/META-INF/services/org.apache.comm
ons.logging.LogFactory with proxy=DIRECT

network: Connecting http://localhost:8084/new_openJMS/anew/log4j.xml
with proxy=DIRECT

network: Connecting http://localhost:8084/new_openJMS/anew/log4j.xml
with proxy=DIRECT

network: Connecting
http://localhost:8084/new_openJMS/anew/org/apache/log4j/PatternLayoutBea
nInfo.class with proxy=DIRECT

network: Connecting
http://localhost:8084/new_openJMS/anew/org/apache/log4j/PatternLayoutBea
nInfo.class with proxy=DIRECT

network: Connecting
http://localhost:8084/new_openJMS/anew/org/apache/log4j/LayoutBeanInfo.c
lass with proxy=DIRECT

network: Connecting
http://localhost:8084/new_openJMS/anew/org/apache/log4j/LayoutBeanInfo.c
lass with proxy=DIRECT

network: Connecting socket://localhost:1035 with proxy=DIRECT

javax.naming.CommunicationException: Failed to get registry service for
URL: tcp://localhost:1035/ [Root exception is
java.rmi.ConnectIOException: Failed to create connection; nested
exception is: 

      org.exolab.jms.net.connector.ConnectException: Failed to connect
to localhost:1035]

      at
org.exolab.jms.jndi.InitialContextFactory.getInitialContext(InitialConte
xtFactory.java:146)

      at javax.naming.spi.NamingManager.getInitialContext(Unknown
Source)

      at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)

      at javax.naming.InitialContext.init(Unknown Source)

      at javax.naming.InitialContext.<init>(Unknown Source)

      at Example_AWT.Send_n_Browse(Example_AWT.java:108)

      at Example_AWT.btnOK_actionPerformed(Example_AWT.java:84)

      at Example_AWT$1.actionPerformed(Example_AWT.java:64)

      at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)

      at javax.swing.AbstractButton$Handler.actionPerformed(Unknown
Source)

      at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown
Source)

      at javax.swing.DefaultButtonModel.setPressed(Unknown Source)

      at
javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)

      at java.awt.Component.processMouseEvent(Unknown Source)

      at javax.swing.JComponent.processMouseEvent(Unknown Source)

      at java.awt.Component.processEvent(Unknown Source)

      at java.awt.Container.processEvent(Unknown Source)

      at java.awt.Component.dispatchEventImpl(Unknown Source)

      at java.awt.Container.dispatchEventImpl(Unknown Source)

      at java.awt.Component.dispatchEvent(Unknown Source)

      at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown
Source)

      at java.awt.LightweightDispatcher.processMouseEvent(Unknown
Source)

      at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)

      at java.awt.Container.dispatchEventImpl(Unknown Source)

      at java.awt.Component.dispatchEvent(Unknown Source)

      at java.awt.EventQueue.dispatchEvent(Unknown Source)

      at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown
Source)

      at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown
Source)

      at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

      at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

      at java.awt.EventDispatchThread.run(Unknown Source)

Caused by: java.rmi.ConnectIOException: Failed to create connection;
nested exception is: 

      org.exolab.jms.net.connector.ConnectException: Failed to connect
to localhost:1035

      at org.exolab.jms.net.orb.Locator.getProxy(Locator.java:137)

      at org.exolab.jms.net.orb.Locator.getRegistry(Locator.java:103)

      at
org.exolab.jms.net.orb.DefaultORB.getRegistry(DefaultORB.java:267)

      at
org.exolab.jms.client.net.SharedORB.getRegistry(SharedORB.java:121)

      at
org.exolab.jms.jndi.InitialContextFactory.getInitialContext(InitialConte
xtFactory.java:144)

      ... 30 more

Caused by: org.exolab.jms.net.connector.ConnectException: Failed to
connect to localhost:1035

      at
org.exolab.jms.net.socket.SocketManagedConnection.createSocketProtected(
SocketManagedConnection.java:266)

      at
org.exolab.jms.net.socket.SocketManagedConnection.createSocket(SocketMan
agedConnection.java:182)

      at
org.exolab.jms.net.socket.SocketManagedConnection.<init>(SocketManagedCo
nnection.java:114)

      at
org.exolab.jms.net.tcp.TCPManagedConnection.<init>(TCPManagedConnection.
java:75)

      at
org.exolab.jms.net.tcp.TCPManagedConnectionFactory.createManagedConnecti
on(TCPManagedConnectionFactory.java:98)

      at
org.exolab.jms.net.connector.DefaultConnectionPool.createManagedConnecti
on(DefaultConnectionPool.java:221)

      at
org.exolab.jms.net.connector.AbstractConnectionManager.allocateConnectio
n(AbstractConnectionManager.java:140)

      at
org.exolab.jms.net.connector.AbstractConnectionFactory.getConnection(Abs
tractConnectionFactory.java:167)

      at
org.exolab.jms.net.connector.AbstractConnectionManager.getConnection(Abs
tractConnectionManager.java:208)

      at org.exolab.jms.net.orb.Locator.getProxy(Locator.java:131)

      ... 34 more

network: Connecting socket://10.50.14.221:1099 with proxy=DIRECT

 

I know the solution may involve signing the applet, but I don't know how
to do that.  Thanks, any help is appreciated.

 

 

Ms. Akilah McIntyre