A friendly place for programming greenhorns!
Big Moose Saloon
Search
|
Java FAQ
|
Recent Topics
Register / Login
Win a copy of
Arduino in Action
this week in the
General Computing
forum!
A special promo:
Enter your blog post or vote on a blogger to be featured in an upcoming Journal
JavaRanch
»
Java Forums
»
Products
»
Websphere
Author
WAS7 cluster member: can't lookup from WSAD 5.1.2
Samuel Lima
Greenhorn
Joined: Sep 19, 2006
Posts: 7
posted
Feb 10, 2010 10:54:35
0
Hi,
I have a web application running on WSAD 5.1.2 in my local machine, and I want to "lookup" an
EJB
running on a remote WAS 7.
It's fine when the remote app (in WAS7) is in a single server (i.e. boostrap port of a non cluster member).
But when the remote app is in a cluster member, the lookup returns
ServiceUnavailableException
.
Checked with "dumpNameSpace.sh -url corbaloc:iiop:li201:2813/NameServiceServerRoot" (the bootstrap of a cluster member) which is fine.
Checked the remote SystemOut.log, but found no exceptions.
I Read WAS7 troubleshooting manual:
http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0//index.jsp?topic=/com.ibm.websphere.base.doc/info/aes/ae/rcli_troubleshoot.html
I followed the troubleshooting procedures, but none of the suggested causes were the causes.
I'm using the following code:
String jndiName = "ejb/ServicoCalculoSeguroHome"; Hashtable env = new Hashtable(); env.put(PROPS.JNDI_CACHE_OBJECT, PROPS.JNDI_CACHE_OBJECT_NONE); env.put(Context.PROVIDER_URL, "corbaloc:iiop:li201:2813/NameServiceServerRoot"); InitialContext ctx = new InitialContext(env); Object obj = ctx.lookup(jndiName); ServicoCalculoSeguroHome home = (ServicoCalculoSeguroHome)PortableRemoteObject.narrow(obj,ServicoCalculoSeguroHome.class); ServicoCalculoSeguro bean = home.create(); String retorno = bean.calcularSeguroXML("banana");
Can anyone help me, please?
The complete exception stack trace is:
[2010-02-08 14:20:20,750][error] ERROR com.porto.infra.jnditest.web.TestLocator javax.naming.ServiceUnavailableException: A communication failure occurred while attempting to obtain an initial context with the provider URL: "corbaloc::li201:2813/NameServiceServerRoot". Make sure that any bootstrap address information in the URL is correct and that the target name server is running. A bootstrap address with no port specification defaults to port 2809. Possible causes other than an incorrect bootstrap address or unavailable name server include the network environment and workstation network configuration. [Root exception is org.omg.CORBA.INTERNAL: Unable to create ClientSubcontract for scid:18 vmcid: IBM minor code: 59D completed: No] javax.naming.ServiceUnavailableException: A communication failure occurred while attempting to obtain an initial context with the provider URL: "corbaloc::li201:2813/NameServiceServerRoot". Make sure that any bootstrap address information in the URL is correct and that the target name server is running. A bootstrap address with no port specification defaults to port 2809. Possible causes other than an incorrect bootstrap address or unavailable name server include the network environment and workstation network configuration. Root exception is org.omg.CORBA.INTERNAL: Unable to create ClientSubcontract for scid:18 vmcid: IBM minor code: 59D completed: No at java.lang.Throwable.<init>(Throwable.java:59) at java.lang.Throwable.<init>(Throwable.java:73) at org.omg.CORBA.SystemException.<init>(SystemException.java:81) at com.ibm.rmi.SubcontractRegistry.getClientSubcontract(SubcontractRegistry.java:348) at com.ibm.rmi.iiop.CDRInputStream.newObjRef(CDRInputStream.java:1089) at com.ibm.rmi.iiop.CDRInputStream.read_Object(CDRInputStream.java:1055) at com.ibm.rmi.iiop.CDRInputStream.read_Object(CDRInputStream.java:990) at com.ibm.rmi.corba.IorURL.iorbytesToObjref(IorURL.java:105) at com.ibm.rmi.corba.IorURL.resolve(IorURL.java:93) at com.ibm.rmi.corba.ORB.objectURLToObject(ORB.java:3365) at com.ibm.CORBA.iiop.ORB.objectURLToObject(ORB.java:3237) at com.ibm.rmi.corba.ORB.string_to_object(ORB.java:3254) at com.ibm.ws.naming.util.WsnInitCtxFactory.stringToObject(WsnInitCtxFactory.java:1256) at com.ibm.ws.naming.util.WsnInitCtxFactory.getCosRootContext(WsnInitCtxFactory.java:774) at com.ibm.ws.naming.util.WsnInitCtxFactory.getRootContextFromServer(WsnInitCtxFactory.java:689) at com.ibm.ws.naming.util.WsnInitCtxFactory.getRootJndiContext(WsnInitCtxFactory.java:607) at com.ibm.ws.naming.util.WsnInitCtxFactory.getInitialContextInternal(WsnInitCtxFactory.java:482) at com.ibm.ws.naming.util.WsnInitCtx.getContext(WsnInitCtx.java:102) at com.ibm.ws.naming.util.WsnInitCtx.getContextIfNull(WsnInitCtx.java:408) at com.ibm.ws.naming.util.WsnInitCtx.lookup(WsnInitCtx.java:131) at javax.naming.InitialContext.lookup(InitialContext.java:360) at com.porto.infra.jnditest.web.TestLocator.testaJndiGenerico(TestLocator.java) at com.porto.infra.jnditest.web.TestLocator.executaServico(TestLocator.java:92) at com.porto.infra.jnditest.web.TestLocator.doGet(TestLocator.java:51) at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110) at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java:174) at com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServlet.java:313) at com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116) at com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:283) at com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42) at com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40) at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:983) at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:564) at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:200) at com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:119) at com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:276) at com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:71) at com.ibm.ws.webcontainer.cache.invocation.CacheableInvocationContext.invoke(CacheableInvocationContext.java:116) at com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:186) at com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java:334) at com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java:56) at com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:618) at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:439) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:672)
I agree. Here's the link:
http://ej-technologies/jprofiler
- if it wasn't for jprofiler, we would need to run our stuff on 16 servers instead of 3.
subject: WAS7 cluster member: can't lookup from WSAD 5.1.2
Similar Threads
initial context problem
Websphere - Datasource Connection communication failure
Calling EJB3.0 from EJB2.0 on a WAS7 cluster
JNDI exception
Datasource lookup on remote Websphere Application Server
All times are in JavaRanch time: GMT-6 in summer, GMT-7 in winter