Calling remote EJB from Weblogic 8.1 to websphere 5.1
Hi, I'm trying to get a connection from my weblogic 8.1 to a EJB in a websphere 5.1
I'm connecting via IIOP without seurity, first I have a problem with the connection, in the server log appears:
<b>java.net.UnknownHostException: remoteDNS:remoteDNS</b>
but, it appears not at the beginning the connection, it appears when the EJB I've called, returns me the method I invoked and my weblogic didn't recognize the remote server because it have to return a DNS or IP: port and it doesn't occour, I'm not behind a FW.
Then I made modifications to the sever I register some websphere jars in the classpath but when I made this another problem become, the log shows me a message that says that the initialcontext class could not be loaded, and when I modified the classpath to recognize this the other parts of my site breakdown because their initialcontext were different.
Basically, I want some help in How to make the connection to websphere via IIOP or another protocol and what are the requeriments that I need to modify in my Weblogic, and in my class of connection.
I almost tried to make a network channel to comunicate to the websphere but it didn't work.
Can anybody give me suggestions on what to try??
Thanks
Valentin Rangel del Rosal <> writes:
I believe there is a document that describes this.
Java EE 4 interop requires that you do not need to put WebSphere
ORB/ICF classes in your WLS classpath and vice versa. You should
simply be able to make EJB refs to the remote side using an
appropriate corbaloc URL.
Can you post your EJB config and code?
andy
Hi, I'm trying to get a connection from my weblogic 8.1 to a EJB in a websphere 5.1
I'm connecting via IIOP without seurity, first I have a problem with the connection, in the server log appears:
<b>java.net.UnknownHostException: remoteDNS:remoteDNS</b>
but, it appears not at the beginning the connection, it appears when the EJB I've called, returns me the method I invoked and my weblogic didn't recognize the remote server because it have to return a DNS or IP: port and it doesn't occour, I'm not behind a FW.
Then I made modifications to the sever I register some websphere jars in the classpath but when I made this another problem become, the log shows me a message that says that the initialcontext class could not be loaded, and when I modified the classpath to recognize this the other parts of my site breakdown because their initialcontext were different.
Basically, I want some help in How to make the connection to websphere via IIOP or another protocol and what are the requeriments that I need to modify in my Weblogic, and in my class of connection.
I almost tried to make a network channel to comunicate to the websphere but it didn't work.
Can anybody give me suggestions on what to try??
Thanks
Similar Messages
-
Error when calling remote EJB from my application
hi
I am getting the following error when i am trying to call a remote EJB from my application.
Can any help me out regarding this issue
javax.naming.ConfigurationException: COS Name Service not registered with ORB under the name 'NameService'. Root exception is org.omg.CORBA.ORBPackage.InvalidName: NameService:org.omg.CORBA.COMM_FAILURE: purge_calls:1500 reason=1 state=5 vmcid: IBM minor code: 306 completed: Maybe
at com.ibm.rmi.corba.InitialReferenceClient.resolve_initial_references(InitialReferenceClient.java:218)
at com.ibm.rmi.corba.ORB.resolve_initial_references(ORB.java:4428)
at com.ibm.rmi.iiop.ORB.resolve_initial_references(ORB.java:654)
at com.ibm.CORBA.iiop.ORB.resolve_initial_references(ORB.java:3363)
at com.sun.jndi.cosnaming.CNCtx.setOrbAndRootContext(CNCtx.java:387)
at com.sun.jndi.cosnaming.CNCtx.initUsingIiopUrl(CNCtx.java:330)
at com.sun.jndi.cosnaming.CNCtx.initUsingUrl(CNCtx.java:285)
at com.sun.jndi.cosnaming.CNCtx.initOrbAndRootContext(CNCtx.java:236)
at com.sun.jndi.cosnaming.CNCtx.<init>(CNCtx.java:84)
at com.sun.jndi.cosnaming.CNCtxFactory.getInitialContext(CNCtxFactory.java:50)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:675)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:257)
at javax.naming.InitialContext.init(InitialContext.java:233)
at javax.naming.InitialContext.<init>(InitialContext.java:209)
at com.ibm._jsp._invoke._jspService(_invoke.java:89)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:91)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1572)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:762)
at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:121)
at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.handleRequest(JSPExtensionServletWrapper.java:204)
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3071)
at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:236)
at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:210)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1958)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:109)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:472)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:411)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:288)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminaters(NewConnectionInitialReadCallback.java:207)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:109)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:566)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:619)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:952)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1039)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1471)
Caused by: org.omg.CORBA.COMM_FAILURE: purge_calls:1500 reason=1 state=5 vmcid: IBM minor code: 306 completed: Maybe
at com.ibm.rmi.iiop.Connection.purge_calls(Connection.java:1499)
at com.ibm.rmi.iiop.Connection.doReaderWorkOnce(Connection.java:2702)
at com.ibm.rmi.transport.ReaderThread.run(ReaderPoolImpl.java:137)
[4/26/07 19:35:11:727 IST] 00000053 SystemErr R at com.ibm.rmi.corba.InitialReferenceClient.resolve_initial_references(InitialReferenceClient.java:218)
[4/26/07 19:35:11:727 IST] 00000053 SystemErr R at com.ibm.rmi.corba.ORB.resolve_initial_references(ORB.java:4428)
[4/26/07 19:35:11:727 IST] 00000053 SystemErr R at com.ibm.rmi.iiop.ORB.resolve_initial_references(ORB.java:654)
[4/26/07 19:35:11:727 IST] 00000053 SystemErr R at com.ibm.CORBA.iiop.ORB.resolve_initial_references(ORB.java:3363)
[4/26/07 19:35:11:727 IST] 00000053 SystemErr R at com.sun.jndi.cosnaming.CNCtx.setOrbAndRootContext(CNCtx.java:387)
[4/26/07 19:35:11:727 IST] 00000053 SystemErr R at com.sun.jndi.cosnaming.CNCtx.initUsingIiopUrl(CNCtx.java:330)
[4/26/07 19:35:11:727 IST] 00000053 SystemErr R at com.sun.jndi.cosnaming.CNCtx.initUsingUrl(CNCtx.java:285)
[4/26/07 19:35:11:727 IST] 00000053 SystemErr R at com.sun.jndi.cosnaming.CNCtx.initOrbAndRootContext(CNCtx.java:236)
[4/26/07 19:35:11:727 IST] 00000053 SystemErr R at com.sun.jndi.cosnaming.CNCtx.<init>(CNCtx.java:84)
[4/26/07 19:35:11:727 IST] 00000053 SystemErr R at com.sun.jndi.cosnaming.CNCtxFactory.getInitialContext(CNCtxFactory.java:50)
[4/26/07 19:35:11:727 IST] 00000053 SystemErr R at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:675)
[4/26/07 19:35:11:727 IST] 00000053 SystemErr R at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:257)
[4/26/07 19:35:11:727 IST] 00000053 SystemErr R at javax.naming.InitialContext.init(InitialContext.java:233)
[4/26/07 19:35:11:727 IST] 00000053 SystemErr R at javax.naming.InitialContext.<init>(InitialContext.java:209)
[4/26/07 19:35:11:727 IST] 00000053 SystemErr R at com.ibm._jsp._invoke._jspService(_invoke.java:89)
[4/26/07 19:35:11:727 IST] 00000053 SystemErr R at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:91)
[4/26/07 19:35:11:727 IST] 00000053 SystemErr R at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
[4/26/07 19:35:11:727 IST] 00000053 SystemErr R at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1572)
[4/26/07 19:35:11:727 IST] 00000053 SystemErr R at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:762)
[4/26/07 19:35:11:727 IST] 00000053 SystemErr R at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:121)
[4/26/07 19:35:11:727 IST] 00000053 SystemErr R at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.handleRequest(JSPExtensionServletWrapper.java:204)
[4/26/07 19:35:11:727 IST] 00000053 SystemErr R at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3071)
[4/26/07 19:35:11:727 IST] 00000053 SystemErr R at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:236)
[4/26/07 19:35:11:727 IST] 00000053 SystemErr R at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:210)
[4/26/07 19:35:11:727 IST] 00000053 SystemErr R at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1958)
[4/26/07 19:35:11:727 IST] 00000053 SystemErr R at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:109)
[4/26/07 19:35:11:727 IST] 00000053 SystemErr R at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:472)
[4/26/07 19:35:11:727 IST] 00000053 SystemErr R at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:411)
[4/26/07 19:35:11:727 IST] 00000053 SystemErr R at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:288)
[4/26/07 19:35:11:727 IST] 00000053 SystemErr R at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminaters(NewConnectionInitialReadCallback.java:207)
[4/26/07 19:35:11:727 IST] 00000053 SystemErr R at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:109)
[4/26/07 19:35:11:727 IST] 00000053 SystemErr R at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:566)
[4/26/07 19:35:11:727 IST] 00000053 SystemErr R at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:619)
[4/26/07 19:35:11:727 IST] 00000053 SystemErr R at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:952)
[4/26/07 19:35:11:727 IST] 00000053 SystemErr R at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1039)
[4/26/07 19:35:11:727 IST] 00000053 SystemErr R at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1471)
[4/26/07 19:35:11:727 IST] 00000053 SystemErr R Caused by: org.omg.CORBA.COMM_FAILURE: purge_calls:1500 reason=1 state=5 vmcid: IBM minor code: 306 completed: Maybe
[4/26/07 19:35:11:727 IST] 00000053 SystemErr R at com.ibm.rmi.iiop.Connection.purge_calls(Connection.java:1499)
[4/26/07 19:35:11:727 IST] 00000053 SystemErr R at com.ibm.rmi.iiop.Connection.doReaderWorkOnce(Connection.java:2702)
[4/26/07 19:35:11:727 IST] 00000053 SystemErr R at com.ibm.rmi.transport.ReaderThread.run(ReaderPoolImpl.java:137)
[4/26/07 19:35:11:727 IST] 00000054 SystemErr R javax.naming.ConfigurationException: COS Name Service not registered with ORB under the name 'NameService'. Root exception is org.omg.CORBA.ORBPackage.InvalidName: NameService:org.omg.CORBA.COMM_FAILURE: purge_calls:1500 reason=1 state=5 vmcid: IBM minor code: 306 completed: Maybe
at com.ibm.rmi.corba.InitialReferenceClient.resolve_initial_references(InitialReferenceClient.java:218)
at com.ibm.rmi.corba.ORB.resolve_initial_references(ORB.java:4428)
at com.ibm.rmi.iiop.ORB.resolve_initial_references(ORB.java:654)
at com.ibm.CORBA.iiop.ORB.resolve_initial_references(ORB.java:3363)
at com.sun.jndi.cosnaming.CNCtx.setOrbAndRootContext(CNCtx.java:387)
at com.sun.jndi.cosnaming.CNCtx.initUsingIiopUrl(CNCtx.java:330)
at com.sun.jndi.cosnaming.CNCtx.initUsingUrl(CNCtx.java:285)
at com.sun.jndi.cosnaming.CNCtx.initOrbAndRootContext(CNCtx.java:236)
at com.sun.jndi.cosnaming.CNCtx.<init>(CNCtx.java:84)
at com.sun.jndi.cosnaming.CNCtxFactory.getInitialContext(CNCtxFactory.java:50)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:675)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:257)
at javax.naming.InitialContext.init(InitialContext.java:233)
at javax.naming.InitialContext.<init>(InitialContext.java:209)
at com.ibm._jsp._invoke._jspService(_invoke.java:89)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:91)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1572)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:762)
at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:121)
at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.handleRequest(JSPExtensionServletWrapper.java:204)
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3071)
at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:236)
at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:210)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1958)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:109)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:472)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:411)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:288)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminaters(NewConnectionInitialReadCallback.java:207)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:109)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:566)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:619)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:952)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1039)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1471)
Caused by: org.omg.CORBA.COMM_FAILURE: purge_calls:1500 reason=1 state=5 vmcid: IBM minor code: 306 completed: Maybe
at com.ibm.rmi.iiop.Connection.purge_calls(Connection.java:1499)
at com.ibm.rmi.iiop.Connection.doReaderWorkOnce(Connection.java:2702)
at com.ibm.rmi.transport.ReaderThread.run(ReaderPoolImpl.java:137)
[4/26/07 19:35:11:742 IST] 00000054 SystemErr R at com.ibm.rmi.corba.InitialReferenceClient.resolve_initial_references(InitialReferenceClient.java:218)
[4/26/07 19:35:11:742 IST] 00000054 SystemErr R at com.ibm.rmi.corba.ORB.resolve_initial_references(ORB.java:4428)
[4/26/07 19:35:11:742 IST] 00000054 SystemErr R at com.ibm.rmi.iiop.ORB.resolve_initial_references(ORB.java:654)
[4/26/07 19:35:11:742 IST] 00000054 SystemErr R at com.ibm.CORBA.iiop.ORB.resolve_initial_references(ORB.java:3363)
[4/26/07 19:35:11:742 IST] 00000054 SystemErr R at com.sun.jndi.cosnaming.CNCtx.setOrbAndRootContext(CNCtx.java:387)
[4/26/07 19:35:11:742 IST] 00000054 SystemErr R at com.sun.jndi.cosnaming.CNCtx.initUsingIiopUrl(CNCtx.java:330)
[4/26/07 19:35:11:742 IST] 00000054 SystemErr R at com.sun.jndi.cosnaming.CNCtx.initUsingUrl(CNCtx.java:285)
[4/26/07 19:35:11:742 IST] 00000054 SystemErr R at com.sun.jndi.cosnaming.CNCtx.initOrbAndRootContext(CNCtx.java:236)
[4/26/07 19:35:11:742 IST] 00000054 SystemErr R at com.sun.jndi.cosnaming.CNCtx.<init>(CNCtx.java:84)
[4/26/07 19:35:11:742 IST] 00000054 SystemErr R at com.sun.jndi.cosnaming.CNCtxFactory.getInitialContext(CNCtxFactory.java:50)
[4/26/07 19:35:11:742 IST] 00000054 SystemErr R at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:675)
[4/26/07 19:35:11:742 IST] 00000054 SystemErr R at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:257)
[4/26/07 19:35:11:742 IST] 00000054 SystemErr R at javax.naming.InitialContext.init(InitialContext.java:233)
[4/26/07 19:35:11:742 IST] 00000054 SystemErr R at javax.naming.InitialContext.<init>(InitialContext.java:209)
[4/26/07 19:35:11:742 IST] 00000054 SystemErr R at com.ibm._jsp._invoke._jspService(_invoke.java:89)
[4/26/07 19:35:11:742 IST] 00000054 SystemErr R at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:91)
[4/26/07 19:35:11:742 IST] 00000054 SystemErr R at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
[4/26/07 19:35:11:742 IST] 00000054 SystemErr R at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1572)
[4/26/07 19:35:11:742 IST] 00000054 SystemErr R at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:762)
[4/26/07 19:35:11:742 IST] 00000054 SystemErr R at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:121)
[4/26/07 19:35:11:742 IST] 00000054 SystemErr R at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.handleRequest(JSPExtensionServletWrapper.java:204)
[4/26/07 19:35:11:742 IST] 00000054 SystemErr R at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3071)
[4/26/07 19:35:11:742 IST] 00000054 SystemErr R at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:236)
[4/26/07 19:35:11:742 IST] 00000054 SystemErr R at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:210)
[4/26/07 19:35:11:742 IST] 00000054 SystemErr R at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1958)
[4/26/07 19:35:11:742 IST] 00000054 SystemErr R at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:109)
[4/26/07 19:35:11:742 IST] 00000054 SystemErr R at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:472)
[4/26/07 19:35:11:742 IST] 00000054 SystemErr R at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:411)
[4/26/07 19:35:11:742 IST] 00000054 SystemErr R at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:288)
[4/26/07 19:35:11:742 IST] 00000054 SystemErr R at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminaters(NewConnectionInitialReadCallback.java:207)
[4/26/07 19:35:11:742 IST] 00000054 SystemErr R at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:109)
[4/26/07 19:35:11:742 IST] 00000054 SystemErr R at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:566)
[4/26/07 19:35:11:742 IST] 00000054 SystemErr R at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:619)
[4/26/07 19:35:11:742 IST] 00000054 SystemErr R at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:952)
[4/26/07 19:35:11:742 IST] 00000054 SystemErr R at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1039)
[4/26/07 19:35:11:742 IST] 00000054 SystemErr R at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1471)
[4/26/07 19:35:11:742 IST] 00000054 SystemErr R Caused by: org.omg.CORBA.COMM_FAILURE: purge_calls:1500 reason=1 state=5 vmcid: IBM minor code: 306 completed: Maybe
[4/26/07 19:35:11:742 IST] 00000054 SystemErr R at com.ibm.rmi.iiop.Connection.purge_calls(Connection.java:1499)
[4/26/07 19:35:11:742 IST] 00000054 SystemErr R at com.ibm.rmi.iiop.Connection.doReaderWorkOnce(Connection.java:2702)
[4/26/07 19:35:11:742 IST] 00000054 SystemErr R at com.ibm.rmi.transport.ReaderThread.run(ReaderPoolImpl.java:137)
[4/26/07 19:37:22:758 IST] 00000052 SystemErr R javax.naming.ConfigurationException: COS Name Service not registered with ORB under the name 'NameService'. Root exception is org.omg.CORBA.ORBPackage.InvalidName: NameService:org.omg.CORBA.COMM_FAILURE: purge_calls:1500 reason=1 state=5 vmcid: IBM minor code: 306 completed: Maybe
at com.ibm.rmi.corba.InitialReferenceClient.resolve_initial_references(InitialReferenceClient.java:218)
at com.ibm.rmi.corba.ORB.resolve_initial_references(ORB.java:4428)
at com.ibm.rmi.iiop.ORB.resolve_initial_references(ORB.java:654)
at com.ibm.CORBA.iiop.ORB.resolve_initial_references(ORB.java:3363)
at com.sun.jndi.cosnaming.CNCtx.setOrbAndRootContext(CNCtx.java:387)
at com.sun.jndi.cosnaming.CNCtx.initUsingIiopUrl(CNCtx.java:330)
at com.sun.jndi.cosnaming.CNCtx.initUsingUrl(CNCtx.java:285)
at com.sun.jndi.cosnaming.CNCtx.initOrbAndRootContext(CNCtx.java:236)
at com.sun.jndi.cosnaming.CNCtx.<init>(CNCtx.java:84)
at com.sun.jndi.cosnaming.CNCtxFactory.getInitialContext(CNCtxFactory.java:50)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:675)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:257)
at javax.naming.InitialContext.init(InitialContext.java:233)
at javax.naming.InitialContext.<init>(InitialContext.java:209)
at com.ibm._jsp._invoke._jspService(_invoke.java:89)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:91)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1572)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:762)
at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:121)
at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.handleRequest(JSPExtensionServletWrapper.java:204)
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3071)
at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:236)
at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:210)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1958)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:109)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:472)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:411)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:288)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminaters(NewConnectionInitialReadCallback.java:207)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:109)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:566)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:619)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:952)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1039)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1471)
Caused by: org.omg.CORBA.COMM_FAILURE: purge_calls:1500 reason=1 state=5 vmcid: IBM minor code: 306 completed: Maybe
at com.ibm.rmi.iiop.Connection.purge_calls(Connection.java:1499)
at com.ibm.rmi.iiop.Connection.doReaderWorkOnce(Connection.java:2702)
at com.ibm.rmi.transport.ReaderThread.run(ReaderPoolImpl.java:137)
[4/26/07 19:37:22:758 IST] 00000052 SystemErr R at com.ibm.rmi.corba.InitialReferenceClient.resolve_initial_references(InitialReferenceClient.java:218)
[4/26/07 19:37:22:758 IST] 00000052 SystemErr R at com.ibm.rmi.corba.ORB.resolve_initial_references(ORB.java:4428)
[4/26/07 19:37:22:758 IST] 00000052 SystemErr R at com.ibm.rmi.iiop.ORB.resolve_initial_references(ORB.java:654)
[4/26/07 19:37:22:758 IST] 00000052 SystemErr R at com.ibm.CORBA.iiop.ORB.resolve_initial_references(ORB.java:3363)
[4/26/07 19:37:22:758 IST] 00000052 SystemErr R at com.sun.jndi.cosnaming.CNCtx.setOrbAndRootContext(CNCtx.java:387)
[4/26/07 19:37:22:758 IST] 00000052 SystemErr R at com.sun.jndi.cosnaming.CNCtx.initUsingIiopUrl(CNCtx.java:330)
[4/26/07 19:37:22:758 IST] 00000052 SystemErr R at com.sun.jndi.cosnaming.CNCtx.initUsingUrl(CNCtx.java:285)
[4/26/07 19:37:22:758 IST] 00000052 SystemErr R at com.sun.jndi.cosnaming.CNCtx.initOrbAndRootContext(CNCtx.java:236)
[4/26/07 19:37:22:758 IST] 00000052 SystemErr R at com.sun.jndi.cosnaming.CNCtx.<init>(CNCtx.java:84)
[4/26/07 19:37:22:758 IST] 00000052 SystemErr R at com.sun.jndi.cosnaming.CNCtxFactory.getInitialContext(CNCtxFactory.java:50)
[4/26/07 19:37:22:758 IST] 00000052 SystemErr R at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:675)
[4/26/07 19:37:22:758 IST] 00000052 SystemErr R at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:257)
[4/26/07 19:37:22:758 IST] 00000052 SystemErr R at javax.naming.InitialContext.init(InitialContext.java:233)
[4/26/07 19:37:22:758 IST] 00000052 SystemErr R at javax.naming.InitialContext.<init>(InitialContext.java:209)
[4/26/07 19:37:22:758 IST] 00000052 SystemErr R at com.ibm._jsp._invoke._jspService(_invoke.java:89)
[4/26/07 19:37:22:758 IST] 00000052 SystemErr R at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:91)
[4/26/07 19:37:22:758 IST] 00000052 SystemErr R at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
[4/26/07 19:37:22:758 IST] 00000052 SystemErr R at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1572)
[4/26/07 19:37:22:758 IST] 00000052 SystemErr R at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:762)
[4/26/07 19:37:22:758 IST] 00000052 SystemErr R at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:121)
[4/26/07 19:37:22:758 IST] 00000052 SystemErr R at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.handleRequest(JSPExtensionServletWrapper.java:204)
[4/26/07 19:37:22:758 IST] 00000052 SystemErr R at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3071)
[4/26/07 19:37:22:758 IST] 00000052 SystemErr R at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:236)
[4/26/07 19:37:22:758 IST] 00000052 SystemErr R at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:210)
[4/26/07 19:37:22:758 IST] 00000052 SystemErr R at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1958)
[4/26/07 19:37:22:758 IST] 00000052 SystemErr R at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:109)
[4/26/07 19:37:22:758 IST] 00000052 SystemErr R at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:472)
[4/26/07 19:37:22:758 IST] 00000052 SystemErr R at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:411)
[4/26/07 19:37:22:758 IST] 00000052 SystemErr R at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:288)
[4/26/07 19:37:22:758 IST] 00000052 SystemErr R at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminaters(NewConnectionInitialReadCallback.java:207)
[4/26/07 19:37:22:758 IST] 00000052 SystemErr R at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:109)
[4/26/07 19:37:22:758 IST] 00000052 SystemErr R at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:566)
[4/26/07 19:37:22:758 IST] 00000052 SystemErr R at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:619)
[4/26/07 19:37:22:758 IST] 00000052 SystemErr R at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:952)
[4/26/07 19:37:22:758 IST] 00000052 SystemErr R at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1039)
[4/26/07 19:37:22:758 IST] 00000052 SystemErr R at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1471)
[4/26/07 19:37:22:758 IST] 00000052 SystemErr R Caused by: org.omg.CORBA.COMM_FAILURE: purge_calls:1500 reason=1 state=5 vmcid: IBM minor code: 306 completed: Maybe
[4/26/07 19:37:22:758 IST] 00000052 SystemErr R at com.ibm.rmi.iiop.Connection.purge_calls(Connection.java:1499)
[4/26/07 19:37:22:758 IST] 00000052 SystemErr R at com.ibm.rmi.iiop.Connection.doReaderWorkOnce(Connection.java:2702)
[4/26/07 19:37:22:758 IST] 00000052 SystemErr R at com.ibm.rmi.transport.ReaderThread.run(ReaderPoolImpl.java:137)
[4/26/07 19:37:36:117 IST] 00000056 SystemErr R javax.naming.ConfigurationException: COS Name Service not registered with ORB under the name 'NameService'. Root exception is org.omg.CORBA.ORBPackage.InvalidName: NameService:org.omg.CORBA.COMM_FAILURE: purge_calls:1500 reason=1 state=5 vmcid: IBM minor code: 306 completed: Maybe
at com.ibm.rmi.corba.InitialReferenceClient.resolve_initial_references(InitialReferenceClient.java:218)
at com.ibm.rmi.corba.ORB.resolve_initial_references(ORB.java:4428)
at com.ibm.rmi.iiop.ORB.resolve_initial_references(ORB.java:654)
at com.ibm.CORBA.iiop.ORB.resolve_initial_references(ORB.java:3363)
at com.sun.jndi.cosnaming.CNCtx.setOrbAndRootContext(CNCtx.java:387)
at com.sun.jndi.cosnaming.CNCtx.initUsingIiopUrl(CNCtx.java:330)
at com.sun.jndi.cosnaming.CNCtx.initUsingUrl(CNCtx.java:285)
at com.sun.jndi.cosnaming.CNCtx.initOrbAndRootContext(CNCtx.java:236)
at com.sun.jndi.cosnaming.CNCtx.<init>(CNCtx.java:84)
at com.sun.jndi.cosnaming.CNCtxFactory.getInitialContext(CNCtxFactory.java:50)
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:675)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:257)
at javax.naming.InitialContext.init(InitialContext.java:233)
at javax.naming.InitialContext.<init>(InitialContext.java:209)
at com.ibm._jsp._invoke._jspService(_invoke.java:89)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:91)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1572)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:762)
at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:121)
at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.handleRequest(JSPExtensionServletWrapper.java:204)
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3071)
at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:236)
at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:210)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1958)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:109)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:472)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:411)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:288)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminaters(NewConnectionInitialReadCallback.java:207)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:109)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:566)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:619)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:952)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1039)
at com.ibm.ws.util.ThThe procedure apex_cdc.enable_table_capture i created myself with no authid mentioned explicitly, so it uses definer rights, by default.
BUt this procedure is simply a wrapper for sys.dbms_cdc_publish.create_change_table.
When I look on the security model for this sys.dbms_cdc_publish, i see it runs under invoker rights. (http://www.psoug.org/reference/dbms_cdc_publish.html).
The code is like this:
CREATE OR REPLACE PROCEDURE enable_table_capture
i_owner IN VARCHAR2,
i_change_table_name IN VARCHAR2,
i_change_set_name IN VARCHAR2,
i_change_source IN VARCHAR2,
i_source_schema IN VARCHAR2,
i_source_table IN VARCHAR2,
i_column_type_list IN VARCHAR2
IS
BEGIN
EXECUTE IMMEDIATE 'alter session set REMOTE_DEPENDENCIES_MODE=SIGNATURE';
EXECUTE IMMEDIATE 'begin add_log@orcl01(i_tableName => ''G''); end;';
sys.DBMS_CDC_PUBLISH.CREATE_CHANGE_TABLE(
owner => i_owner,
change_table_name => i_change_table_name,
change_set_name => i_change_set_name,
source_schema => i_source_schema,
source_table => i_source_table,
column_type_list => i_column_type_list,
capture_values => 'both',
rs_id => 'y',
row_id => 'n',
user_id => 'n',
timestamp => 'y',
object_id => 'n',
source_colmap => 'n',
target_colmap => 'y',
options_string => NULL);
END enable_table_capture; -
Can I call an EJB from the database?
Hi,
I've just spent the last few days attempting to call an EJB from a stored procedure in a 10g database (and still haven't succeeded).
Now having spent hours searching the web (and this forum) for any successful examples (so far I have found none) I thought I'd add a message to see if there is anybody out there who has done this successfully. If so can you please provide me some details on how to do this?
Alternatively, I'd appreciate any input on how I can overcome my current hurdle in attempting to do this myself.
Here's how far I've got in my attempt:
I have a simple stateless session bean deployed to both Oracle 10gAS (a standalone OC4J container in 10.1.3) and to Weblogic 9. I have a client java class that calls a method on this bean and displays some ouput if successful. This all works from a standalone JVM (version 1.4) on both Weblogic and 10gAS.
I then tried to load the required libraries for Weblogic onto the database (namely the Weblogic.jar file). This resulted in the addition of some 32,000 odd objects of which 30,000 odd could not be resolved. I figured a lot of these may be down to JVM version issues (I believe that Weblogic 9 uses the 1.5 JRE) so I decided to put the Weblogic test on the back burner for now and just use the Oracle app server.
The tests with the Oracle app server looked promising. I only needed a handful of libraries to be loaded onto the database and all the relevant classes required for my test client had resolved (including the initial context factory required to do the jndi lookup of the bean). After granting all the permissions I believed I needed I'd got to the point where I could do a jndi lookup of the EJB; but when I tried to create an instance of the beans remote interface I got the following error:
java.security.AccessControlException: the Permission (java.lang.RuntimePermission getClassLoader) has not been granted to ProtectionDomain (file:generated/by/proxy <no certificates>)
com.evermind.net.DynamicClassLoader@612d9d34
<no principals>
java.security.Permissions@eb0f3c1a (
(java.util.PropertyPermission java.version read)
(java.util.PropertyPermission java.vm.name read)
(java.util.PropertyPermission java.vm.vendor read)
(java.util.PropertyPermission os.name read)
(java.util.PropertyPermission java.vendor.url read)
(java.util.PropertyPermission java.vm.specification.vendor read)
(java.util.PropertyPermission java.specification.vendor read)
(java.util.PropertyPermission os.version read)
(java.util.PropertyPermission java.specification.name read)
(java.util.PropertyPermission java.class.version read)
(java.util.PropertyPermission file.separator read)
(java.util.PropertyPermission java.vm.version read)
(java.util.PropertyPermission os.arch read)
(java.util.PropertyPermission java.vm.specification.name read)
(java.util.PropertyPermission java.vm.specification.version read)
(java.util.PropertyPermission java.specification.version read)
(java.util.PropertyPermission java.vendor read)
(java.util.PropertyPermission path.separator read)
(java.util.PropertyPermission line.separator read)
(java.net.SocketPermission localhost:1024- listen,resolve)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:280)
at java.security.AccessController.checkPermission(AccessController.java:429)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:528)
at oracle.aurora.rdbms.SecurityManagerImpl.checkPermission(SecurityManagerImpl.java:192)
at java.lang.Thread.getContextClassLoader(Thread.java:1203)
at com.evermind.server.rmi.RMICall.<init>(RMICall.java:36)
at com.evermind.server.rmi.RmiCallQueue.createCall(RmiCallQueue.java:33)
at com.evermind.server.rmi.RMIClientConnection.createQueuedCall(RMIClientConnection.java:592)
at com.evermind.server.rmi.RMIClientConnection.writeRequest(RMIClientConnection.java:581)
at com.evermind.server.rmi.RMIClientConnection.sendMethodInvocationRequest(RMIClientConnection.java:426)
at com.evermind.server.rmi.RMIClientConnection.invokeMethod(RMIClientConnection.java:415)
at com.evermind.server.rmi.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:63)
at com.evermind.server.rmi.RecoverableRemoteInvocationHandler.invoke(RecoverableRemoteInvocationHandler.java:28)
at __Proxy0.create(Unknown Source)
at com.axiomsystems.test.client.TestDBClient.test(TestDBClient.java:76)
Has anybody come across this before? If so can they help?
If not has anybody out there actually managed to call an EJB method (without going via an RMI server/Servlet/or any other proxy).
Any help in this matter would be greatfully appreciated.
Cheers,
Anand.Sure, here's the code. It's what JDev generates automatically but I have seperated some things into several diffrent lines so I could experiment easier.
final Context context = getInitialContext();
Object o=context.lookup( "SessionEJB4" );
Object l= PortableRemoteObject.narrow( o, SessionEJB4Home.class );
final SessionEJB4Home sessionEJB4Home = (SessionEJB4Home)l;
SessionEJB4 sessionEJB4 = sessionEJB4Home.create();
String ret=( sessionEJB4.hello( ) );
As I mentioned, for this I have used EJB2.1 bean, because I had same problems with EJB3.0, so I tried earlier versions of Java to make sure that is not the problem.
hello() method just returns string "hello".
Of course, this works in standalone client that is not loaded into database.
Now, I loaded all the jars mentioned in this thread, using loadjava options -v -resolve, and I loaded client using options -v -resolve -genmissing . Select query on user objects in database shows that client class and relevant classes are all valid.
Then I created stub and ran it. First it stopped throwing exception ORA-29532: Java call terminated by uncought Java exception: Java.lang.NoClassDefFoundError.
Method I try to run returns String value which is hello message if it works fine, else it prints the part of the stack trace. In this case, after p[revious error, When I try to run it again, i get return from the method :
Lookup error: java.lang.NoClassDefFoundError; nested exception is:
java.lang.NoClassDefFoundError
com.evermind.server.rmi.RMICall.throwRecordedException(RMICall.java:89)
com.evermind.server.rmi.RMIClientConnection.waitForJndiResponse(RMIClientConnection.java:371)
com.evermind.server.rmi.RMIClientConnection.lookup(RMIClientConnection.java:179)
com.evermind.server.rmi.RMIClient.lookup(RMIClient.java:283)
com.evermind.server.rmi.RMIClientContext.lookup(RMIClientContext.java:51)
javax.naming.InitialContext.lookup(InitialContext.java:347)
simpleejbproject.EJB4Client.hello(EJB4Client.java:35)
Of course, regular version of the client I run frokm command line works fine.
So I'm kind of a stuck here. I followed all directions, tried it on oracle 9 and oracle 10 DB, the problems remain the same. Am I missing something here?
Thanks
Just to add, getInitialContext()
private static Context getInitialContext() throws NamingException {
Hashtable env = new Hashtable();
// Oracle Application Server 10g connection details
env.put( Context.INITIAL_CONTEXT_FACTORY, "oracle.j2ee.rmi.RMIInitialContextFactory" );
env.put( Context.SECURITY_PRINCIPAL, "oc4jadmin" );
env.put( Context.SECURITY_CREDENTIALS, "manager1" );
env.put(Context.PROVIDER_URL, "opmn:ormi://mserv:4005:home/TestEjb4");
return new InitialContext( env );
It goes withouth any exceptions.
Message was edited by:
user510152 -
Calling an EJB from jsp - ServletException
I am unable to call an EJB from jsp, unless I put the actuall classes of
the EJB into the classpath. Is this the right way to do it?
The exception is:
Servlet failed with ServletException
javax.servlet.ServletException: Servlet class: 'jsp_servlet._result'
could not be loaded - the requested class wasn't found in the
classpath:
'/local/apps/bea/wlserver6.0/config/gmodomain/applications/.wl_temp_do_not_delete/wl_local_comp34107.war:/local/apps/bea/wlserver6.0/./config/gmodomain/applications/.wl_temp_do_not_delete/WEB-INF/_tmp_war_gmo_gmo_webwar:/local/apps/bea/wlserver6.0/config/gmodomain/applications/.wl_temp_do_not_delete/WEB-INF/_tmp_war_gmo_gmo_webwar'
at
weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:532)
at weblogic.servlet.jsp.JspStub.prepareServlet(JspStub.java:191)
at weblogic.servlet.jsp.JspStub.prepareServlet(JspStub.java:148)
at
weblogic.servlet.internal.ServletStubImpl.getServlet(ServletStubImpl.java:306)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:208)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:246)
at
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:1265)
at
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:1622)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
where result.jsp is the jsp page calling the EJB. I did an import of the
EJB classes in the jsp.
like i said, it works if I put the bean classes in the classpath. But is
it right?
if I have these in the exploded format, do I need to put anything in the
application web.xml under:
wlserver6.0/config/gmodomain/applications/DefaultWebApp_gmo/WEB-INF ?
redhat 6.2, wl6.0sp1
here are the xml files:
web.xml:
<?xml version="1.0"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application
2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<!--
$Id: web.xml,v 1.2 2001/03/14 22:23:03 jeff Exp $
$Source:
/usr/local/cvsroot/JUnitEE/example/components/web-war/WEB-INF/web.xml,v
$
-->
<web-app>
<display-name>My Web Application</display-name>
<description>none</description>
<ejb-ref>
<ejb-ref-name>MyWeb</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<home>com.blah.ejb.myweb.WyWebHome</home>
<remote>com.blah.ejb.myweb.MyWeb</remote>
</ejb-ref>
</web-app>
weblogic.xml:
<!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web
Application 6.0//EN"
"http://www.bea.com/servers/wls600/dtd/weblogic-web-jar.dtd">
<weblogic-web-app>
<jsp-descriptor>
<jsp-param>
<param-name>
pageCheckSeconds
</param-name>
<param-value>
1
</param-value>
</jsp-param>
<jsp-param>
<param-name>
verbose
</param-name>
<param-value>
true
</param-value>
</jsp-param>
<jsp-param>
<param-name>compileCommand</param-name>
<param-value>/local/apps/jdk1.3.0_02/bin/javac</param-value>
</jsp-param>
</jsp-descriptor>
<reference-descriptor>
<ejb-reference-description>
<ejb-ref-name>MyWeb</ejb-ref-name>
<jndi-name>MyWeb</jndi-name>
</ejb-reference-description>
</reference-descriptor>
</weblogic-web-app>
thanks,
Gary
Did you package your JSPs in a WAR and your EJBs in a JAR and package the
WAR and JAR in an EAR? That is how to do it in 6.0. Works well.
Peace,
Cameron Purdy
Tangosol, Inc.
http://www.tangosol.com
+1.617.623.5782
WebLogic Consulting Available
"gmo" <[email protected]> wrote in message
news:[email protected]...
> I am unable to call an EJB from jsp, unless I put the actuall classes of
> the EJB into the classpath. Is this the right way to do it?
> The exception is:
> Servlet failed with ServletException
> javax.servlet.ServletException: Servlet class: 'jsp_servlet._result'
> could not be loaded - the requested class wasn't found in the
> classpath:
>
'/local/apps/bea/wlserver6.0/config/gmodomain/applications/.wl_temp_do_not_d
elete/wl_local_comp34107.war:/local/apps/bea/wlserver6.0/./config/gmodomain/
applications/.wl_temp_do_not_delete/WEB-INF/_tmp_war_gmo_gmo_webwar:/local/a
pps/bea/wlserver6.0/config/gmodomain/applications/.wl_temp_do_not_delete/WEB
-INF/_tmp_war_gmo_gmo_webwar'
>
> at
>
weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.jav
a:532)
>
> at weblogic.servlet.jsp.JspStub.prepareServlet(JspStub.java:191)
>
> at weblogic.servlet.jsp.JspStub.prepareServlet(JspStub.java:148)
>
> at
>
weblogic.servlet.internal.ServletStubImpl.getServlet(ServletStubImpl.java:30
6)
>
> at
>
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:208)
>
> at
>
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
:246)
>
> at
>
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo
ntext.java:1265)
>
> at
>
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java
:1622)
>
> at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
>
> at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
>
> where result.jsp is the jsp page calling the EJB. I did an import of the
> EJB classes in the jsp.
> like i said, it works if I put the bean classes in the classpath. But is
> it right?
> if I have these in the exploded format, do I need to put anything in the
> application web.xml under:
> wlserver6.0/config/gmodomain/applications/DefaultWebApp_gmo/WEB-INF ?
>
> redhat 6.2, wl6.0sp1
>
> here are the xml files:
> web.xml:
>
> <?xml version="1.0"?>
> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application
> 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
>
> <!--
> $Id: web.xml,v 1.2 2001/03/14 22:23:03 jeff Exp $
> $Source:
> /usr/local/cvsroot/JUnitEE/example/components/web-war/WEB-INF/web.xml,v
> $
> -->
>
> <web-app>
> <display-name>My Web Application</display-name>
> <description>none</description>
> <ejb-ref>
> <ejb-ref-name>MyWeb</ejb-ref-name>
> <ejb-ref-type>Session</ejb-ref-type>
> <home>com.blah.ejb.myweb.WyWebHome</home>
> <remote>com.blah.ejb.myweb.MyWeb</remote>
> </ejb-ref>
> </web-app>
>
> weblogic.xml:
>
> <!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web
> Application 6.0//EN"
> "http://www.bea.com/servers/wls600/dtd/weblogic-web-jar.dtd">
> <weblogic-web-app>
> <jsp-descriptor>
> <jsp-param>
> <param-name>
> pageCheckSeconds
> </param-name>
> <param-value>
> 1
> </param-value>
> </jsp-param>
> <jsp-param>
> <param-name>
> verbose
> </param-name>
> <param-value>
> true
> </param-value>
> </jsp-param>
> <jsp-param>
> <param-name>compileCommand</param-name>
> <param-value>/local/apps/jdk1.3.0_02/bin/javac</param-value>
> </jsp-param>
> </jsp-descriptor>
> <reference-descriptor>
> <ejb-reference-description>
> <ejb-ref-name>MyWeb</ejb-ref-name>
> <jndi-name>MyWeb</jndi-name>
> </ejb-reference-description>
> </reference-descriptor>
> </weblogic-web-app>
>
> thanks,
>
> Gary
>
>
-
Urgent!!!!How to deploy only an EJB from Weblogic to oc4j.
Hi
How can i deploy only EJB from Weblogic into oc4j without any web application or client coming into pitcture as my client access bean remotely....
regards,
SapthapathiIf you are migrating from ejb1.1->ejb1.1 you shouldn't have many changes - your ejb-jar.xml file should be the same (I assume you are still talking about ejbs). Once you pull over the base ejb - then if you want to, mess around with the automatically generated orion-ejb-jar.xml file. Obviously - those are all app server specific. I go back and forth between wls6.1 and oc4j all the time. When going from wls5.1 to oc4j - what particular issues do you run into. What do you mean, in particular, by configuration changes?
Curious -
Ray
hi,
EJBs and other applications can be migrated from weblogic to oc4j but many changes are required.These changes are mainly configuration changes rather than code changes.Infact there are many problems in effect while migrating and delloyment.Hope oracle is a bit more attentive to this issue.
regards,
chennai -
Canu00B4t call an EJB from other EJB
Hi developers,
I need do the next task :
I have a EJB in an EAR and i need call some functionality from other EJB in diferent EAR , when execute the code show the next message error:
java.rmi.RemoteException: com.sap.engine.services.ejb.exceptions.BaseRemoteException: Exception in method generaMDMOutput.
at com.sapconsulting.customer.inc.CustomerIncObjectImpl0.generaMDMOutput(CustomerIncObjectImpl0.java:135)
at com.sapconsulting.customer.inc.CustomerIncObjectImpl0p4_Skel.dispatch(CustomerIncObjectImpl0p4_Skel.java:127)
at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java(Compiled Code))
at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java(Inlined Compiled Code))
at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java(Compiled Code))
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java(Compiled Code))
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java(Compiled Code))
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java(Compiled Code))
at java.security.AccessController.doPrivileged1(Native Method)
at java.security.AccessController.doPrivileged(AccessController.java(Compiled Code))
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java(Compiled Code))
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java(Compiled Code))
Caused by: java.lang.ClassCastException: com.sap.engine.interfaces.cross.ObjectReferenceImpl
at com.sapconsulting.customer.inc.CustomerIncBean.generaMDMOutput(CustomerIncBean.java:141)
at com.sapconsulting.customer.inc.CustomerIncObjectImpl0.generaMDMOutput(CustomerIncObjectImpl0.java:119)
... 11 more
the code to invoke the EJB is the next:
ctx = new InitialContext();
TestEJBLocalHome home = (TestEJBLocalHome) ctx.lookup("sap.com/TestEJB_ear/TestEJBBean");
TestEJB servicio=(TestEJB)home.create();
the EJB are in the same server , please help,
regardsHi Siarhei,
thank's for your answers , i'll explain the scenario , i think i copied wrong the code that i have ,
i have two EAR's applications , i want to call one EJB from the other EJB in other EAR , the call have to be remote , my code is the next :
ctx = new InitialContext();
Object obj = ctx.lookup("sap.com/TestEJB_ear/TestEJBBean");
TestEJBHome home = (TestEJBHome) PortableRemoteObject.narrow(obj,TestEJBHome.class);
TestEJB servicio= home.create();
i've confugured the ejb-xml.jar adding
<ejb-ref>
<ejb-ref-name>ejb/TestEJBBean</ejb-ref-name>
<ejb-ref-type>Session</ejb-ref-type>
<home>com.innovativesystems.onl.TestEJBHome</home>
<remote>com.innovativesystems.onl.TestEJB</remote>
</ejb-ref>
I've configured the ejb-j2ee-jar.xml adding
<ejb-ref>
<ejb-ref-name>ejb/TestEJBBean</ejb-ref-name>
<jndi-name>sap.com/TestEJB_ear/TestEJBBean</jndi-name>
</ejb-ref>
I've configured the application-j2ee-engine.xml adding a hard reference
<reference
reference-type="hard">
<reference-target
provider-name="sap.com"
target-type="application">TestEJB_ear</reference-target>
</reference>
with all this configuration still send me the message java.lang.classcast ,
something is missing???? ,
regards -
Loading remote EJB from servlet using jakarta and openejb
I am trying to create an environment where I use
openejb as my EJB container, and JAKARTA Tomcat
as my
Servlet/JSP container. However,
i'm having a problem in lookingup my remote EJB from my
jakarta application.
That exact code works perfectly if I run it standalone. I
am using the same JRE. Jakarta has also loaded the
openejb-0.8.3.jar and openejb_client-0.8.3.jar
What I dont understand is why jakarta
would behave differently than command-line java when I
am
running in the same JRE on a single machine.
Any help would be much appreciated.Several fairly major improvements have been maid in OpenEJB specifically for the Tomcat people. For one, the whole way you integrate them has completely been rewritten. Now all you have to do is copy a openejb_loader-0.9.1.war into the Tomcat webapps directory and change an init-param in it. Pretty straight forward. OpenEJB 0.8.3 won't work with Tomcat in the same VM, however OpenEJB 0.9.0 and up have been totally revamped in all things related to classloading so that it can co-exist with Tomcats unique classloading architecture.
O'Reilly just published an article detailing the ins and outs of the integration, it's a pretty good read:
http://www.onjava.com/pub/a/onjava/2003/02/12/ejb_tomcat.html -
How to call remote API from root SharePoint 2013 domain (not an app)
I'm trying to follow the article
http://msdn.microsoft.com/en-us/library/office/fp179895%28v=office.15%29.aspx
For a SharePoint 2013 hosted under O365, do I need to create an app to use the SP.* methods in sp.js? I need to call a remote API from the root domain (https://mycompany.sharepoint.com). But the app, as mentioned in the article
above, deploys on a whole different URL (https://mycompany-a2d3f4t454.sharepoint.com).
I need to be able to call the API from pages like https://mycompany.sharepoint.com/pages/default.aspx. Is this not possible?Hi,
According to your description, my understanding is that you want to call remote API from the root domain site.
Yes, you can use SharePoint hosted app to achieve it. SharePoint hosted app has app web and host web, you can create an app to call the remote api in the host web from app web.
Here are some detailed articles for your reference:
http://blog.ctp.com/2014/06/23/data-access-in-sharepoint-hosted-apps/
http://msdn.microsoft.com/en-us/library/office/fp179925(v=office.15).aspx
Best Regards
Zhengyu Guo
TechNet Community Support -
Challenge: call local ejb from remote ejb on weblogic 9.2
Hi ALL,
How do I call to local ejb from remote ejb object. The jar file is deployed on weblogic server 9.2, if you want get it http://geocities.yahoo.com.br/lindembe/BEAProject.jar and the source code are http://geocities.yahoo.com.br/lindembe/BEAProject.zip. It is a sample app with two ejb that works so good on JBOSS, JOnAS, but BEA Weblogic.....
The complete problem you watch http://forum.java.sun.com/thread.jspa?threadID=768718&messageID=4387570#4387570
or
http://forums.bea.com/bea/message.jspa?messageID=600043148&tstart=0Your code in SigemFacadeBean should just do:
InitialContext ctx = new InitialContext();
when you lookup the local EJB. (This will work on all app servers. There's no need to put an app-server specific intial context factory in your code.)
Also, you can remove the jndi-name setting for the local ejb from your weblogic-ejb-jar.xml. jndi-name is only applied to remote ejbs.
-- Rob
WLS Blog http://dev2dev.bea.com/blog/rwoollen/ -
AccessControl Exception when invoking remote ejb from portlet class
Hi,
From Portlet class, I am invoking Remote EJB which is deployed in weblogic application server.
After EJB call it not requst Dispathcer not allowed to include the request ..
Exception as follows ..
java.security.AccessControlException: access denied (java.security.SecurityPermission getHttpRequestBase)
X at java.security.AccessControlContext.checkPermission(AccessControlContext.java:264)
X at java.security.AccessController.checkPermission(AccessController.java:427)
X at org.apache.catalina.connector.HttpRequestFacade.getHttpRequestBase(HttpRequestFacade.java:257)
X at org.apache.catalina.core.ApplicationDispatcher.getRequestBase(ApplicationDispatcher.java:1115)
X at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:759)
X at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:628)
X at org.apache.catalina.core.ApplicationDispatcher.access$100(ApplicationDispatcher.java:123)
X at org.apache.catalina.core.ApplicationDispatcher$PrivilegedInclude.run(ApplicationDispatcher.java:154)
X at java.security.AccessController.doPrivileged(Native Method)
X at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:528)
X at com.sun.portal.portlet.impl.RequestDispatcherImpl.include(RequestDispatcherImpl.java:95)
X at com.gm.gc.sample.SamplePortlet.doView(Unknown Source)
X at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:235)
X at javax.portlet.GenericPortlet.render(GenericPortlet.java:163)
X at com.sun.portal.portletappengine.PortletAppEngineServlet.service(PortletAppEngineServlet.java:271)
X at javax.servlet.http.HttpServlet.service(HttpServlet.java:908)
X at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:772)
X at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:628)
X at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:539)
X at com.sun.portal.container.portlet.impl.PortletContainer.invokePAE(PortletContainer.java:409)
X at com.sun.portal.container.portlet.impl.PortletContainer.getMarkup(PortletContainer.java:180)
X at com.sun.portal.providers.window.WindowProvider.getPortletContent(WindowProvider.java:386)
X at com.sun.portal.providers.window.WindowProvider.getContentInternal(WindowProvider.java:239)
X at com.sun.portal.providers.window.WindowProvider.getContent(WindowProvider.java:204)
X at com.sun.portal.desktop.context.ReusableProviderCaller.run(ReusableProviderCaller.java:160)
Source Code
===========
SamplePortlet Class
protected void doView(RenderRequest request, RenderResponse response)
throws PortletException, IOException {
PortletRequestDispatcher prDispatcher = null;
String helloString=null;
SamplePortletHandler spHandler=null;
response.setContentType(request.getResponseContentType());
try {
spHandler=new SamplePortletHandler();
prDispatcher = pContext.getRequestDispatcher("/jsp/SampleView.jsp");
helloString=spHandler.getHelloString();
prDispatcher.include(request, response);
} catch (Exception e) {
e.printStackTrace();
request.setAttribute("ERROR_MSG", e.getMessage());
prDispatcher = pContext.getRequestDispatcher("/jsp/Error.jsp");
prDispatcher.include(request, response);
Handler Class
is there any solution?
Thanks in Advance ...Hi,
I didn't configure the JNDI stuff in WLS per se. I created a simple session bean and the meta data in the jar of this determined the JNDI setup.
Once this is deployed on either WLS it can then be seen in Weblogic Console by clicking on View JNDI Tree. The full JNDI name is present and correct on both WLS to which it is deployed.
Does that answer your questions or are you asking how I configured the SOA Suite composite? In which case I selected the EJB in the Partner Link swimlane. Viewed the properties and added
java.naming.provider.url
t3://myremotehost:7001 -
How to Call one EJB from another
Hi all
I am trying to call one EJB in one system from another EJB residing on diferent system...
Both are Stateless session beans ...
I can't use No-args Intialcontext() as i need to specify the Ip address of other system to be looked up.....
So i am using properties Dorg.omg.CORBA.ORBInitlalHost....
But its not looking up..Its telling not bound...But i called it from standalone client remotely...
Am i wrong..?
I hope I am in right path....
I hope ill get reply as fast as possible...
Gopal VHi ken Thanks for replying....
Ya i packed it as a jar (using Export tool in Eclipse3.2)....
I am using SUN AS 9.....
I packed bean1 and bean2 as two different jars in the same domain...
Here is my code...
Bean1:
@Stateless(mappedName="ejb/Second")
public class SecondIMPL implements SecondRemote {
public FirstRemote obj;
public String connect() {
try{
InitialContext ctx= new InitialContext();
FirstRemote obj =(FirstRemote)ctx.lookup("ejb/First");
System.out.println("Client :"+obj.bMethod());
}catch(Exception e){
e.printStackTrace();
return "Check server Log";
}Bean2 :
@Stateless(mappedName="ejb/First")
public class FirstIMPL implements FirstRemote {
public String bMethod() {
return "From First Bean";
Client:
public static void main(String[] args) {
try{
InitialContext ctx= new InitialContext();
SecondRemote obj =(SecondRemote)ctx.lookup("ejb/Second");
System.out.println("Client :"+obj.connect());
}catch(Exception e){
e.printStackTrace();
Here is my Stack Trace...
[#|2007-05-24T18:35:17.214+0530|WARNING|sun-appserver-pe9.0|javax.enterprise.system.stream.err|_ThreadID=18;_ThreadName=p: thread-pool-1; w: 19;_RequestID=bb4848e7-829a-421d-a560-93659898eb02;|
javax.naming.NamingException: ejb ref resolution error for remote business interfacecom.SecondRemote[Root exception is java.lang.ClassNotFoundException: com.SecondRemote]
at com.sun.ejb.EJBUtils.lookupRemote30BusinessObject(EJBUtils.java:350)
at com.sun.ejb.containers.RemoteBusinessObjectFactory.getObjectInstance(RemoteBusinessObjectFactory.java:61)
at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)
at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:314)
at javax.naming.InitialContext.lookup(InitialContext.java:351)
at com.FirstBean.rediff(FirstBean.java:16)
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:585)
at com.sun.enterprise.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1050)
at com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:165)
at com.sun.ejb.containers.BaseContainer.invokeTargetBeanMethod(BaseContainer.java:2766)
at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:3847)
at com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:190)
at com.sun.ejb.containers.EJBObjectInvocationHandlerDelegate.invoke(EJBObjectInvocationHandlerDelegate.java:110)
at $Proxy36.rediff(Unknown Source)
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:585)
at com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:121)
at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:650)
at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:193)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1705)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1565)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:947)
at com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:178)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:717)
at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.dispatch(SocketOrChannelConnectionImpl.java:473)
at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.doWork(SocketOrChannelConnectionImpl.java:1270)
at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:479)
Caused by: java.lang.ClassNotFoundException: com.Second
at com.sun.enterprise.loader.EJBClassLoader.findClassData(EJBClassLoader.java:701)
at com.sun.enterprise.loader.EJBClassLoader.findClass(EJBClassLoader.java:614)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at com.sun.ejb.EJBUtils.getBusinessIntfClassLoader(EJBUtils.java:568)
at com.sun.ejb.EJBUtils.lookupRemote30BusinessObject(EJBUtils.java:320)
... 31 more
|#] -
Problem in calling Local EJB in weblogic 7.0
Hi,
I'm calling a Local Ejb from a client application, but i'm getting the following exception
Exceptionjavax.naming.NameNotFoundException: Unable to resolve 'local' Resolved:
'' Unresolved:'local' ; remaining name 'local'
I'm Using Weblogic 7.0
But I have given the correct JNDI name in the deployment descriptor and whereever necessary
If any one knows abt this, pls reply back, its urgent
Thanks in advance
KiranHi again,
The exact exception is below,
Exceptionjavax.naming.LinkException: [Root exception is javax.naming.NameNotFoundException: Invalid name:app/ejb/kmml.jar#MMLDatavalidationEJB/local-home]; Link Remaining Name: 'java:app/ejb/kmml.jar#MMLDatavalidationEJB/local-home'
thanks
kiran -
Calling Remote interface from client
Hi there!
I am working on a BMP (using weblogic 6.1)
My problem is - How do I contact remote interface from client. In my jndi tree I have mentioned only Home interface. Right now I am calling my remote interface like this:
//contact home interface
Object obj = ctx.lookup("APIHome");
APIHome home = (APIHome) javax.rmi.PortableRemoteObject.narrow(obj, APIHome.class);
//creating remote somehow - I got this clue from a website
rem = home.findByPrimaryKey(new EntityPK("test1","test2"));
//calling getter & setter methods
rem.setWidth()
rem.getId();
This works...but doesn't make any sense to me. Why should we initialize remote interface as above. Or is there any other option. Can somebody please explain me more clearly about this concept.
Thanks very much
regards
-ManasviThe HomeInterface contains two types of methods - create and find. The create methods create an instance of the entity bean(i.e., a record in the database) and the finder methods finds an existing record in the database, constructs an entity bean representing this row and returns the remote interface of this bean to the client for further manipulations.
-
How can I call remote ejb through jsp?(null)
Trying the code:
<%@ page import="si3.*,javax.ejb.*,javax.naming.*,java.util.*,java.rmi.RemoteException" %>
<%
int h=8;
int w=8;
Hashtable p = new Hashtable ();
p.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
p.put(Context.PROVIDER_URL,"t3://192.168.0.203:7001");
Context ctx= new InitialContext(p);
Object homeref = ctx.lookup("si3.test");
addHome home = (addHome) PortableRemoteObject.narrow(homeref, addHome.class);
add the_ejb = home.create();
out.println(the_ejb.add(h,w));
out.println("adf");
the_ejb.remove();
%>
yzj wrote:
> I have two server running weblogic5.1.
> If the jsp and ejb locate the same server running weblogic 5.1 ,works well .But one deploys the ejb (jndi name si3.test),the other runs the jsp.I use jsp call the remote ejb ,catch exception :
>
> GMT+08:00 2000:<E> <ServletContext-General> Root
> > cause of ServletException
> > javax.naming.NameNotFoundException: 'si3.test'; remaining name 'si3.test'
> > at
> > weblogic.jndi.toolkit.BasicWLContext.resolveName(BasicWLContext.java,
> > Compiled Code)
> > at
> > weblogic.jndi.toolkit.BasicWLContext.lookup(BasicWLContext.java:133)
> > at
> > weblogic.jndi.toolkit.BasicWLContext.lookup(BasicWLContext.java:574)
> > at javax.naming.InitialContext.lookup(InitialContext.java:349)
> > at jsp_servlet.client._jspService(client.java:90)
> > at weblogic.servlet.jsp.JspBase.service(JspBase.java:27)
> > at
> > weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
> > :124)
> > at
> > weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
> > l.java:744)
> > at
> > weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImp
> > l.java:692)
> > at
> > weblogic.servlet.internal.ServletContextManager.invokeServlet(ServletContext
> > Manager.java:
> > 251)
> > at
> > weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:363)
> > at
> > weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:263)
> > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java, Compiled
> > Code)
>
> Why? Can you help me? Thanks.
> The jsp's source(Client.jsp ):
> <%@ page import="si3.*,javax.ejb.*,javax.naming.*,java.util.*,java.rmi.RemoteException" %>
> <%
> int h=8;
> int w=8;
> Hashtable p = new Hashtable ();
> p.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
> p.put(Context.PROVIDER_URL,"t3://192.168.0.203:7001");
> Context ctx= new InitialContext(p);
> addHome home = (addHome) ctx.lookup("si3.test");
> add the_ejb = home.create();
> out.println(the_ejb.add(h,w));
> out.println("adf");
> the_ejb.remove();
> %>
>
>
[att1.html]
-
Connecting to Remote EJB from Servlet in same application
Please help!
I was able to connect to SessionBeans and EJB from my sample java client in OCJ4 but when I try to do same thing from my web application using servlets, I get the below NullPointerException error.
The JNDI lookup works fine using java client but difficult from a servlet.
I am sure there is something I am missing.
Thanks
This is what I do in the servlet:
public void init() throws ServletException, NamingException, CreateException, RemoteException
Context jndiContext = getInitialContext();
SessionCartEJBHome home = (SessionCartEJBHome)jndiContext.lookup("SessionCartEJBBean");
sessionEJB = null;
try{
sessionEJB = (SessionCartEJB) home.create();
}catch (Exception e)
e.printStackTrace();
private static Context getInitialContext() throws NamingException
Hashtable env = new Hashtable();
// Standalone OC4J connection details
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.evermind.server.rmi.RMIInitialContextFactory");
env.put(Context.SECURITY_PRINCIPAL, "admin");
env.put(Context.SECURITY_CREDENTIALS, "admin");
env.put(Context.PROVIDER_URL, "ormi://Princeton/ejb1");
return new InitialContext(env);
And when I call the following procedure, it blow up at the line sessionEJB.getLineItem(new Long(1304));
sessionEJB is a class variable.
void processCatalogPage(HttpServletRequest request,
HttpServletResponse response,
ActionMapping mapping,
HttpSession session
throws ServletException, IOException , Exception, FinderException{
try {
ActionForward actFor = null;
String itemId = request.getParameter("id");
if ( itemId != null ) {
String[] itemIds = new String[1];
itemIds[0] = itemId;
sessionEJB.getLineItem(new Long(1304));
actFor = mapping.findForward("catalog");
return (mapping.findForward("success"));
} catch (Exception ex)
ex.printStackTrace();
System.err.println(ex.toString());
throw new EJBException(ex.toString());
04/12/11 23:45:24 java.lang.NullPointerException
04/12/11 23:45:24 at com.alashoofi.Cart.processCatalogPage(Cart.java:187)
04/12/11 23:45:24 at com.alashoofi.Cart.execute(Cart.java:86)
04/12/11 23:45:24 at org.apache.struts.action.RequestProcessor.processActi
onPerform(RequestProcessor.java:484)
04/12/11 23:45:24 at org.apache.struts.action.RequestProcessor.process(Req
uestProcessor.java:274)
04/12/11 23:45:24 at org.apache.struts.action.ActionServlet.process(Action
Servlet.java:1482)
04/12/11 23:45:24 at org.apache.struts.action.ActionServlet.doGet(ActionSe
rvlet.java:507)
04/12/11 23:45:24 at javax.servlet.http.HttpServlet.service(HttpServlet.ja
va:740)
04/12/11 23:45:24 at javax.servlet.http.HttpServlet.service(HttpServlet.ja
va:853)
04/12/11 23:45:24 at com.evermind.server.http.ServletRequestDispatcher.inv
oke(ServletRequestDispatcher.java:765)
04/12/11 23:45:24 at com.evermind.server.http.ServletRequestDispatcher.for
wardInternal(ServletRequestDispatcher.java:317)
04/12/11 23:45:24 at com.evermind.server.http.HttpRequestHandler.processRe
quest(HttpRequestHandler.java:790)
04/12/11 23:45:24 at com.evermind.server.http.HttpRequestHandler.run(HttpR
equestHandler.java:270)
04/12/11 23:45:24 at com.evermind.server.http.HttpRequestHandler.run(HttpR
equestHandler.java:112)
04/12/11 23:45:24 at com.evermind.util.ReleasableResourcePooledExecutor$My
Worker.run(ReleasableResourcePooledExecutor.java:192)
04/12/11 23:45:24 at java.lang.Thread.run(Thread.java:534)
04/12/11 23:45:24 java.lang.NullPointerException
Dec 11, 2004 11:45:24 PM org.apache.struts.action.RequestProcessor processExcept
ion
WARNING: Unhandled Exception thrown: class javax.ejb.EJBExceptionAvi,
Thanks for your response. I am actually returning a new InitialContext in a function call in the servlet. What I have noticed though is that JDeveloper creates two ear files for the application. One for the ejbs called ejb1.ear and another for the web files webapp1.ear. These are located in the applications subdirectory in OC4J directory.
I know I have two projects in the application, model and viewController. I am just trying to follow the MVC pattern.
In short, I don't think the web and the ejbs are in same ear file. I made the web project depend on the ejbs though. There is an option to set such. I don't know how to tell JDeveloper to put them all in one ear file.
I will appreciate any suggestion.
Thanks
Matilda
Maybe you are looking for
-
Iphoto crashes when I try to print - just moved moved iPhoto to my new iMac
I just bought a new iMac and iPhoto crashes when I try to print a picture. I did port all my programs from my old iMac.
-
i have windows 7, why are the preferences that i had previously set in firefox changed back to default about 3-4 times a week?
-
Java swing and threading issue
i am trying to update swing components from some thread. at my first try, i noticed this was a disaster. upon further research, i found out about the single-threaded model of swing events (i.e. event dispatching thread). i did more research and could
-
Plz.. Help me to get database field for Rate/Hour
I have the requirement to get the Rate/Hour for Actual Labor ,OT Labor and WE Labor etc. <b>I am passing Activity types to AFVC-LARNT to get different types of Labor</b> .But i don't know the Database Table Field to get this Rate/Hour . please sug
-
Dear Experts, The scenario,in PA30 and also in PA40 HR end user should not have access to edit his own data but he/she can able to view his own data and he should have access to edit,create,copy for other employees. Kindly let me know authorization o