users@glassfish.java.net

Re: Problem connecting to a remote SessionBean deployed on Glassfish from Tomcat

From: Wouter van Reeven <wouter_at_van.reeven.nl>
Date: Sun, 22 Oct 2006 14:54:28 +0200

Hi Cheng,


Thanks a lot for your reply. I have searched this and other mailinglists before
I sent my email so the links you sent me I already had visited.
When I try to connect to Glassfish using a very simple client, I get these
messages:

Oct 22, 2006 2:49:55 PM com.sun.appserv.naming.RoundRobinPolicy
getEndpointForProviderURL
WARNING: NAM1001: No Endpoints selected in com.sun.appserv.iiop.endpoints
property. Using JNDI Provider URL iiop://galaxy:3700 instead
GroupInfoServiceBase(main): .addObserver->:
com.sun.appserv.naming.GroupInfoServiceObserverImpl_at_14384c2
GroupInfoServiceBase(main): .addObserver<-:
com.sun.appserv.naming.GroupInfoServiceObserverImpl_at_14384c2 true
Oct 22, 2006 2:49:59 PM com.sun.appserv.naming.RoundRobinPolicy
getEndpointForProviderURL
WARNING: NAM1001: No Endpoints selected in com.sun.appserv.iiop.endpoints
property. Using JNDI Provider URL iiop://galaxy:3700 instead
Oct 22, 2006 2:49:59 PM com.sun.appserv.naming.RoundRobinPolicy
getAddressPortList
WARNING: NAM1003 : Bad host:port entry: 2001:888:141d:0:201:3ff:fe14:80a1:3700
Exception thrown : Nonnumeric port number:
2001:888:141d:0:201:3ff:fe14:80a1:3700

The IP address in the final line is an IPv6 IP address. I guess this is why
everything has been failing so far. I'll switch off IPv6 on my machine and see
if that slves my issues.


Thanks, Wouter

On Sat, Oct 21, 2006 at 04:41:06PM -0400, Cheng Fang wrote:
> Hi Wouter van Reeven,
>
> There was extensive discussion on this topic in glassfish ejb email
> alias in August 2006. You may want to check it out, if you haven't:
>
> https://glassfish.dev.java.net/issues/show_bug.cgi?id=920
>
> A related issue in glassfish issue track:
> https://glassfish.dev.java.net/issues/show_bug.cgi?id=920
>
> I also added a comment in glassfish forum:
> http://forums.java.net/jive/thread.jspa?threadID=18774&tstart=0
>
> -cheng
>
> On Sat, 2006-10-21 at 02:59 +0200, Wouter van Reeven wrote:
> > Hi everyone,
> >
> >
> > Recently I wrote a weblog about how to connect from Tomcat to a SessionBean
> > deployed on Glassfish. Please see
> >
> > http://technology.amis.nl/blog/?p=1368
> >
> > Unfortunately I found that this approach only works when I try to connect from
> > Tomcat running on the same machine as Glassfish. According to the Glassfish EJB
> > FAQ, I need to set these parameters
> >
> > props.setProperty("org.omg.CORBA.ORBInitialHost", <host>);
> > props.setProperty("org.omg.CORBA.ORBInitialPort", <port>);
> >
> > and I assume that both <host> is the hostname of the machine that Glassfish is
> > running on and the <port> is the port that the Glassfish IIOP is listening on
> > (which defaults to 3700).
> > However, no matter what I set ORBInitialHost to, creating the InitialContext
> > goes ok, but when I try to lookup the Remote SessionBean, I always get this
> > error message in the Tomcat logs
> >
> > com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl <init>
> > WARNING: "IOP00410201: (COMM_FAILURE) Connection failure: socketType:
> > IIOP_CLEAR_TEXT; hostname: localhost; port: 3700"
> > org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 201 completed: No
> > at com.sun.corba.ee.impl.logging.ORBUtilSystemException.connectFailure(ORBUtilSystemException.java:2348)
> > at com.sun.corba.ee.impl.logging.ORBUtilSystemException.connectFailure(ORBUtilSystemException.java:2369)
> > at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:215)
> > at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:228)
> > at com.sun.corba.ee.impl.transport.SocketOrChannelContactInfoImpl.createConnection(SocketOrChannelContactInfoImpl.java:104)
> > at com.sun.corba.ee.impl.protocol.CorbaClientRequestDispatcherImpl.beginRequest(CorbaClientRequestDispatcherImpl.java:166)
> > at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.request(CorbaClientDelegateImpl.java:156)
> > at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.is_a(CorbaClientDelegateImpl.java:296)
> > at org.omg.CORBA.portable.ObjectImpl._is_a(ObjectImpl.java:112)
> > at org.omg.CosNaming.NamingContextHelper.narrow(NamingContextHelper.java:69)
> > at com.sun.enterprise.naming.SerialContext.narrowProvider(SerialContext.java:110)
> > at com.sun.enterprise.naming.SerialContext.getProvider(SerialContext.java:164)
> > at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:309)
> > at javax.naming.InitialContext.lookup(InitialContext.java:351)
> > at web.MyServlet.processRequest(MyServlet.java:47)
> > at web.MyServlet.doGet(MyServlet.java:62)
> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> > at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
> > at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> > at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)
> > at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
> > at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
> > at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
> > at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
> > at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
> > at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
> > at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
> > at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
> > at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
> > at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
> > at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
> > at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
> > at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
> > at java.lang.Thread.run(Thread.java:595)
> > Caused by: java.lang.RuntimeException: java.net.ConnectException: Connection refused
> > at com.sun.enterprise.iiop.IIOPSSLSocketFactory.createSocket(IIOPSSLSocketFactory.java:356)
> > at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.<init>(SocketOrChannelConnectionImpl.java:194)
> > ... 32 more
> >
> > In other words, for some reason a JNDI lookup seems to be done on localhost,
> > rather than the server that Glassfish is running on. Can someone please help me
> > resolve this issue or tell me what I am doing wrong?
> >
> >
> > Many thanks in advance.
> >
> > Wouter van Reeven
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_glassfish.dev.java.net
> For additional commands, e-mail: users-help_at_glassfish.dev.java.net
>
-- 
People: "If she weighs the same as a Duck, she's made of wood!"
Sir Bedevere: "And therefore...?"