Rmi-iiop client for EJBs

[att1.html]

I've been fighting the same issues over the past few days. The answer you gave still left me
wondering which tool to use. Should it be rmi -iiop or ejbc -iiop? I get the idl files on
WLS 5.1 generated but then I can't get the idlj to execute properly on the generated
HelloHome.idl and Hello.idl.
Wayne
Andy Piper wrote:
Abhishek <[email protected]> writes:
But How do I write Rmi - iiop clients for EJBs.
when I try to generate the IDL for my EJB by running the weblogic.rmic utility I get an
error that none of my classes ( Remote, Home and Impl ) implement the remote
interface. Which is true as EJBs do not directly implement the remote interface.You may be able to get this to work with WLS6.0SP1 and the
-idlMethodSignatures flag. Take a look at the methods target in
examples/rmi_iiop/ejb/generic_idl or at
examples/rmi_iiop/ejb/simplified_idl. This all works fine in
Silversword.
andy

Similar Messages

  • ClassCastException for RMI-IIOP client hitting CORBA server

    I am writing a RMI-IIOP client to connect to an existing CORBA C++ server. I started out with writing a RMI Interface mimicking the IDL and then converting into a stub using rmic -iiop option. I then use COSNaming to connect to the server. When I narrow the reference using PortableRemoteObject.narrow(), I get a ClassCastException. Probably because the object that I get from naming service will be a CORBA object which cannot be casted to RMI Interface object.
    Exception in thread "main" java.lang.ClassCastException
    at com.sun.corba.se.impl.javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:229)
    at javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:137)
    at com.att.cswd.poc.RMIIIOPClient.IMSConnect(RMIIIOPClient.java:46)
    at com.att.cswd.poc.RMIIIOPClient.main(RMIIIOPClient.java:27)
    Caused by: java.lang.ClassCastException: Object is not of remote type com.att.cswd.poc.CORBAInterface
    at com.sun.corba.se.impl.javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:221)
    ... 3 more
    Code
                                    CORBAInterface ims;
              String tranCode="CRTUN130";
              byte[][] input_segs = null;
               try {
                    Hashtable hm = new Hashtable();
                    hm.put("java.naming.factory.initial", "com.sun.jndi.cosnaming.CNCtxFactory");
                    hm.put("java.naming.provider.url", "corbaloc:iiop:BSYS.MVS.SC.COM:14050/NameService");
                    Context initialNamingContext = new InitialContext(hm);
                   Object objref = initialNamingContext.lookup("O2K/AdapterInterface");
                   ims = (CORBAInterface) PortableRemoteObject.narrow(objref, CORBAInterface.class);
                   byte output_segs[][] = ims.run_transaction_binary(tranCode, input_segs);               
                   System.out.println ("Response is " + output_segs);
              } catch (NamingException e) {
                   e.printStackTrace();
              } catch (RemoteException e) {
                   e.printStackTrace();
              }

    I am writing a RMI-IIOP client to connect to an existing CORBA C++ serverAs it says in [the Javadoc|http://java.sun.com/j2se/1.5.0/docs/guide/rmi-iiop/rmiiiopUsing.html#when], you can't do that. For RMI/IIOP you have to start with a PortableRemoteObject and rmic -iiop. You can use a C++ client to that but you can't use an RMI/IIOP client to a C++ server.
    Use IDLJ.

  • RMI-IIOP client - CORBA Server

    I already have a CORBA server in C++ which has already been written. I am trying to develop an RMI-IIOP client which would talk to this CORBA Server.
    The CORBA server has several interfaces that I would like to use with my RMI-IIOP client. How do I proceed?? Can somebody give me an example of an RMI-IIOP client? Basically my question is: how do I take the IDL and build an RMI-IIOP client with it???

    Hello
    I already have a CORBA server in C++ which has already
    been written. I am trying to develop an RMI-IIOP
    client which would talk to this CORBA Server.
    The CORBA server has several interfaces that I would
    like to use with my RMI-IIOP client. How do I
    proceed?? Can somebody give me an example of an
    RMI-IIOP client? Basically my question is: how do I
    take the IDL and build an RMI-IIOP client with it???The steps to do are the following:
    * Creating the Remote interface
    * Using the rmic compiler to genarate the IDL and the client stub.
    * Generating stub and skeleton of the C++ server using that IDL (the one you already made is no longer compatible)
    * Bulding up the new C++ server
    * Using a nameservice (tnameserver for example) and binding your server to that.
    * Writing the RMI-IIOP client
    I proceeded like this (using Visibroker 4.5 on the server side) and I was able to do it... but as you can see from my last post, I wasn't able to pass Strings from the client to the server.
    Bye

  • Distributed transactions across RMI-IIOP client to RMI-IIOP server do not work

    Hi,
              Based on the links below:
              http://e-docs.bea.com/wls/docs61/jta/trxrmi.html#1018506
              http://e-docs.bea.com/wls/docs61/jta/gstrx.html#1067532
              It appears that is possible to have distributed transactions across RMI-IIOP
              clients and RMI-IIOP applications (servers).
              I followed up the "Transactions Sample RMI Code" section but it appears that
              the transaction context is not propagated from client to server. I am also
              surprised by the note:
              Note: These code fragments do not derive from any of the sample applications
              that ship with WebLogic Server. They merely illustrate the use of the
              UserTransaction object within an RMI application.
              The above note suggests that there is no sample code available.
              Is there anyone who successfully had RMI-IIOP applications (servers)
              participating in distributed transactions?
              Is there any sample code that illustrates RMI-IIOP applications (servers)
              participating in distributed transactions?
              If anyone thinks that this should work I will post my code that does not
              work.
              Regards,
              Dan Cimpoesu
              

    But if you look to the diagram:
    http://e-docs.bea.com/wls/docs61/jta/gstrx.html#1040200
    it suggests that transactional context is passed from clients to RMI-IIOP
    servers.
    Am I wrong?
    Dan
    "Andy Piper" <[email protected]> wrote in message
    news:[email protected]..
    "Dan Cimpoesu" <[email protected]> writes:
    Transactions over IIOP are not supported or implemented in WLS 6.1 or
    previous. This is a feature of WLS 7.0. In 7.0 we implement OTS.
    andy
    Hi,
    Based on the links below:
    http://e-docs.bea.com/wls/docs61/jta/trxrmi.html#1018506
    http://e-docs.bea.com/wls/docs61/jta/gstrx.html#1067532
    It appears that is possible to have distributed transactions across
    RMI-IIOP
    clients and RMI-IIOP applications (servers).
    I followed up the "Transactions Sample RMI Code" section but it appearsthat
    the transaction context is not propagated from client to server. I amalso
    surprised by the note:
    Note: These code fragments do not derive from any of the sampleapplications
    that ship with WebLogic Server. They merely illustrate the use of the
    UserTransaction object within an RMI application.
    The above note suggests that there is no sample code available.
    Is there anyone who successfully had RMI-IIOP applications (servers)
    participating in distributed transactions?
    Is there any sample code that illustrates RMI-IIOP applications(servers)
    participating in distributed transactions?
    If anyone thinks that this should work I will post my code that does not
    work.
    Regards,
    Dan Cimpoesu

  • Distributed transactions across RMI-IIOP client to server do not work

    Hi,
    Based on the links below:
    http://e-docs.bea.com/wls/docs61/jta/trxrmi.html#1018506
    http://e-docs.bea.com/wls/docs61/jta/gstrx.html#1067532
    It appears that is possible to have distributed transactions across RMI-IIOP
    clients and RMI-IIOP applications (servers).
    I followed up the "Transactions Sample RMI Code" section but it appears that
    the transaction context is not propagated from client to server. I am also
    surprised by the note:
    Note: These code fragments do not derive from any of the sample applications
    that ship with WebLogic Server. They merely illustrate the use of the
    UserTransaction object within an RMI application.
    The above note suggests that there is no sample code available.
    Is there anyone who successfully had RMI-IIOP applications (servers)
    participating in distributed transactions?
    Is there any sample code that illustrates RMI-IIOP applications (servers)
    participating in distributed transactions?
    If anyone thinks that this should work I will post my code that does not
    work.
    Regards,
    Dan Cimpoesu

    But if you look to the diagram:
    http://e-docs.bea.com/wls/docs61/jta/gstrx.html#1040200
    it suggests that transactional context is passed from clients to RMI-IIOP
    servers.
    Am I wrong?
    Dan
    "Andy Piper" <[email protected]> wrote in message
    news:[email protected]..
    "Dan Cimpoesu" <[email protected]> writes:
    Transactions over IIOP are not supported or implemented in WLS 6.1 or
    previous. This is a feature of WLS 7.0. In 7.0 we implement OTS.
    andy
    Hi,
    Based on the links below:
    http://e-docs.bea.com/wls/docs61/jta/trxrmi.html#1018506
    http://e-docs.bea.com/wls/docs61/jta/gstrx.html#1067532
    It appears that is possible to have distributed transactions across
    RMI-IIOP
    clients and RMI-IIOP applications (servers).
    I followed up the "Transactions Sample RMI Code" section but it appearsthat
    the transaction context is not propagated from client to server. I amalso
    surprised by the note:
    Note: These code fragments do not derive from any of the sampleapplications
    that ship with WebLogic Server. They merely illustrate the use of the
    UserTransaction object within an RMI application.
    The above note suggests that there is no sample code available.
    Is there anyone who successfully had RMI-IIOP applications (servers)
    participating in distributed transactions?
    Is there any sample code that illustrates RMI-IIOP applications(servers)
    participating in distributed transactions?
    If anyone thinks that this should work I will post my code that does not
    work.
    Regards,
    Dan Cimpoesu

  • Rmi-iiop authentication and EJB

    In WL6.1, I have an Ejb with secured methods. The (Swing) client application accesses the Ejb through rmi-iiop using the JDK1.3.1 Orb.
    Unfortunately, it seems that the caller identity (which was supplied in the InitialContext lookup) is not propagated
    to the server: any call to a secured method
    fails with a CORBA NO_PERMISSION Exception.
    Using the t3 protocol the program works fine, but that would require the 25Mb weblogic.jar on all clients, which is unattainable for us.
    Any ideas how this situation can be corrected?
    -Allard Siemelink

    Hello Allard,
    My only suggestion (and you have probably looked at this already) would be to
    use the Verbosetozip utility, refer to http://e-docs.bea.com/wls/docs61////adminguide/utils.html#1117405
    for more information.
    Kind Regards,
    Richard Wallace
    Senior Developer Relations Engineer
    BEA Support.
    Allard Siemelink <[email protected]> wrote:
    In WL6.1, I have an Ejb with secured methods. The (Swing) client application
    accesses the Ejb through rmi-iiop using the JDK1.3.1 Orb.
    Unfortunately, it seems that the caller identity (which was supplied
    in the InitialContext lookup) is not propagated
    to the server: any call to a secured method
    fails with a CORBA NO_PERMISSION Exception.
    Using the t3 protocol the program works fine, but that would require
    the 25Mb weblogic.jar on all clients, which is unattainable for us.
    Any ideas how this situation can be corrected?
    -Allard Siemelink

  • RMI-IIOP Example for Java SE 6

    Hi.
    Can someone provide me an example (link or code) of how to write an RMI-IIOP remote object, bind it to jndi (glassfish) and then call it from within the glassfish application server (I'm calling from an EJB).
    The guide available at http://java.sun.com/javase/6/docs/technotes/guides/rmi-iiop/tutorial.html is unfortunately not helpful because it the code there does not work when binding the remote object in glassfish JNDI (using empty InitialContext constructor) as opposed to the orbd daemon that is described in the guide.
    Am I not allowed to bind RMI-IIOP objects in glassfish application server JNDI, i.e. do I have to use orbd?
    Do you have to generate stubs for the remote objects in Java SE6? The tutorial says to do it but the exception I get on glassfish application server is not from the _<interface-name>Stub.java but rather from <interface-name>_DynamicStub.java.
    Any help is greatly appreciated!

    Are you trying to create an RMI-IIOP server inside an
    Application Server (Glassfish)?I'm not really sure about how it all works but I don't think so. I am exporting my Remote objects (using PortableRemoteObject) from a standalone Java SE client app. Relating this to normal RMI I had assumed that this automatically started an RMI-IIOP server on an anonomous port, although I now see that the javadoc says that the export method only "Makes a server object ready to receive remote calls.", whatever that means. So if calling the export method doesn't start an RMI-IIOP server then I'm guessing I would have to start one, and then yes, if possible, I would like to do it in glassfish and avoid starting up more applications.
    I am guessing I am missing something fundamental here..
    The tutorial uses the JNDI Registry (tnameserv). (and
    it works fine)Is that what is automatically started when glassfish application server is started?
    Have you looked into using a Portable Object Adapter?No, I have not. I want to keep it as simple and close to regular RMI though, so if possible I would like to avoid POA.

  • Cannot connect RMI-IIOP client to standalone OC4J (10.1.3)

    [PROBLEM]
    I am trying to access an EJB session bean from a simple remote java client.
    The EJB is deployed to a standalone OC4J server.
    Using the RMI-over-IIOP protocol for client-server communication.
    The client and server run in separate JVMs (but on the same machine).
    This is a simple java client program, not a J2EE application client.
    The InitialContext creation fails with the errors shown below.
    I searched around on the web, and found other people with the same issue, but no solution:
    http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4995985
    Maybe I'm missing something in my configuration, deployment, client invocation?
    Any help will be greatly appreciated!
    [SETUP]
    I generated the iiop stubs during deployment (-DGenerateIIOP=true) to the server. Added the generated IIOPClient jar file to my client classpath.
    Also specified -enableIIOP and remote=true for the EJB deployment.
    As per the 10.1.3 documentation, I also specified the following command line arguments:
    -Djavax.rmi.CORBA.PortableRemoteObjectClass=com.sun.corba.ee.impl.javax.rmi.PortableRemoteObject
    -Dcom.oracle.CORBA.OrbManager=com.oracle.corba.ee.impl.orb.ORBManagerImpl
    -Dorg.omg.CORBA.ORBInitialHost=testpc1
    -Dorg.omg.CORBA.ORBInitialPort=5555
    Verified in Oracle Enterprise Manager 10g (Application Server Control) that the application was deployed successfully, and a Stateful Session Bean is visible in the EJB pane.
    Also verified that the iiop port (5555) is functioning (netstat).
    internal-settings.xml file:
    <server-extension-provider name="IIOP" class="com.oracle.iiop.server.IIOPServerExtensionProvider">
         <sep-property name="port" value="5555"/>
         <sep-property name="host" value="localhost"/>
         <sep-property name="ssl" value="false"/>
         <sep-property name="ssl-port" value="5556"/>
         <sep-property name="ssl-client-server-auth-port" value="5557"/>
         <sep-property name="trusted-clients" value="*"/>
    </server-extension-provider>
    server.xml file contains this entry:
    <sep-config path="./internal-settings.xml"/>
    [Versions]
    Oracle Containers for J2EE 10g (10.1.3.0.0) (build 060119.1546.05277)
    java version "1.5.0_04"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_04-b05)
    Java HotSpot(TM) Client VM (build 1.5.0_04-b05, mixed mode, sharing)
    [ERROR]
    com.sun.corba.ee.impl.legacy.connection.SocketFactoryContactInfoImpl <init>
    WARNING: ORBUTIL.invalidEndPointInfoType
    org.omg.CORBA.INTERNAL: vmcid: SUN minor code: 281 completed: No
    at com.sun.corba.ee.impl.logging.ORBUtilSystemException.invalidEndPointInfoType(ORBUtilSystemException.java:5084)
    at com.sun.corba.ee.impl.logging.ORBUtilSystemException.invalidEndPointInfoType(ORBUtilSystemException.java:5106)
    at com.sun.corba.ee.impl.legacy.connection.SocketFactoryContactInfoImpl.<init>(SocketFactoryContactInfoImpl.java:62)
    at com.sun.corba.ee.impl.legacy.connection.SocketFactoryContactInfoListIteratorImpl.next(SocketFactoryContactInfoListIteratorImpl.java:59)
    at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.request(CorbaClientDelegateImpl.java:114)
    at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.is_a(CorbaClientDelegateImpl.java:214)
    at org.omg.CORBA.portable.ObjectImpl._is_a(ObjectImpl.java:112)
    at org.omg.CosNaming.NamingContextHelper.narrow(NamingContextHelper.java:69)
    at com.sun.jndi.cosnaming.CNCtx.setOrbAndRootContext(CNCtx.java:345)
    at com.sun.jndi.cosnaming.CNCtx.initUsingCorbanameUrl(CNCtx.java:321)
    at com.sun.jndi.cosnaming.CNCtx.initUsingUrl(CNCtx.java:247)
    at com.sun.jndi.cosnaming.CNCtx.createUsingURL(CNCtx.java:85)
    at com.sun.jndi.url.iiop.iiopURLContextFactory.getUsingURLIgnoreRest(iiopURLContextFactory.java:56)
    at com.sun.jndi.url.iiop.iiopURLContextFactory.getUsingURL(iiopURLContextFactory.java:61)
    at com.sun.jndi.url.iiop.iiopURLContextFactory.getObjectInstance(iiopURLContextFactory.java:34)
    at oracle.j2ee.iiop.IIOPInitialContextFactory.getInitialContext(IIOPInitialContextFactory.java:76)
    at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
    at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
    at javax.naming.InitialContext.init(InitialContext.java:223)
    at javax.naming.InitialContext.<init>(InitialContext.java:197)
    at ejbremoteclient.Main.getContext(Main.java:80)
    at ejbremoteclient.Main.main(Main.java:87)
    javax.naming.NamingException
    at oracle.j2ee.iiop.IIOPInitialContextFactory.getInitialContext(IIOPInitialContextFactory.java:86)
    at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
    at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
    at javax.naming.InitialContext.init(InitialContext.java:223)
    at javax.naming.InitialContext.<init>(InitialContext.java:197)
    at ejbremoteclient.Main.getContext(Main.java:80)
    at ejbremoteclient.Main.main(Main.java:87)
    ClientIIOPSSLSocketFactory.getEndpointInfo: iopprofile is not an instance of IIOPProfileTemplate
    [CLIENT CODE]
    // get context
    Hashtable env = new Hashtable();
    env.put("java.naming.provider.url", "corbaname::testpc1:5555#DME3");
    env.put("java.naming.factory.initial", "oracle.j2ee.iiop.IIOPInitialContextFactory");
    env.put(Context.SECURITY_PRINCIPAL, "oc4jadmin");
    env.put(Context.SECURITY_CREDENTIALS, "welcome");
    Context ic = new InitialContext(env); <---FAILS HERE

    Hello Deepak
    I've been doing some other stuff and then back to RMI/IIOP tests wih my app...
    Finally I passed the previous errors, it all ended up being misconfigurations on the server and client side.
    Now I'm striving with this one ...
    java.rmi.AccessException: CORBA NO_PERMISSION 0 No; nested exception is:
         org.omg.CORBA.NO_PERMISSION: ----------BEGIN server-side stack trace----------
    org.omg.CORBA.NO_PERMISSION: vmcid: 0x0 minor code: 0 completed: No
         at oracle.oc4j.corba.iiop.security.SecServerRequestInterceptor.receive_request(SecServerRequestInterceptor.java:354)
         at com.sun.corba.ee.impl.interceptors.InterceptorInvoker.invokeServerInterceptorIntermediatePoint(InterceptorInvoker.java:509)
         at com.sun.corba.ee.impl.interceptors.PIHandlerImpl.invokeServerPIIntermediatePoint(PIHandlerImpl.java:505)
         at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.getServantWithPI(CorbaServerRequestDispatcherImpl.java:429)
         at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:191)
         at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1653)
         at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1513)
         at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:895)
         at com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:172)
         at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:668)
         at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.dispatch(SocketOrChannelConnectionImpl.java:375)
         at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.read(SocketOrChannelConnectionImpl.java:284)
         at com.sun.corba.ee.impl.transport.ReaderThreadImpl.doWork(ReaderThreadImpl.java:73)
         at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:382)
    ----------END server-side stack trace---------- vmcid: 0x0 minor code: 0 completed: No
         at com.sun.corba.ee.impl.javax.rmi.CORBA.Util.mapSystemException(Util.java:204)
         at javax.rmi.CORBA.Util.mapSystemException(Util.java:67)
         at com.x.tools.login.ejb._LoginHome_Stub.create(Unknown Source)
         at com.x.tools.login.clientside.model.Facade.<init>(Facade.java:168)
         at com.x.tools.login.clientside.model.Facade.getInstance(Facade.java:122)
         at com.x.tools.login.clientside.LoginApp.doLogin(LoginApp.java:169)
         at com.x.tools.login.clientside.Login.getInstance(Login.java:83)
         at com.x.caracas.AdminApp.clientside.MainAdminApp.<init>(MainAdminApp.java:30)
         at com.x.caracas.AdminApp.clientside.MainAdminApp.main(MainAdminApp.java:81)
         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.javaws.Launcher.executeApplication(Unknown Source)
         at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
         at com.sun.javaws.Launcher.continueLaunch(Unknown Source)
         at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
         at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
         at com.sun.javaws.Launcher.run(Unknown Source)
         at java.lang.Thread.run(Thread.java:595)
    Caused by: org.omg.CORBA.NO_PERMISSION: ----------BEGIN server-side stack trace----------
    org.omg.CORBA.NO_PERMISSION: vmcid: 0x0 minor code: 0 completed: No
         at oracle.oc4j.corba.iiop.security.SecServerRequestInterceptor.receive_request(SecServerRequestInterceptor.java:354)
         at com.sun.corba.ee.impl.interceptors.InterceptorInvoker.invokeServerInterceptorIntermediatePoint(InterceptorInvoker.java:509)
         at com.sun.corba.ee.impl.interceptors.PIHandlerImpl.invokeServerPIIntermediatePoint(PIHandlerImpl.java:505)
         at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.getServantWithPI(CorbaServerRequestDispatcherImpl.java:429)
         at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:191)
         at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1653)
         at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1513)
         at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:895)
         at com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:172)
         at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:668)
         at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.dispatch(SocketOrChannelConnectionImpl.java:375)
         at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.read(SocketOrChannelConnectionImpl.java:284)
         at com.sun.corba.ee.impl.transport.ReaderThreadImpl.doWork(ReaderThreadImpl.java:73)
         at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:382)
    ----------END server-side stack trace---------- vmcid: 0x0 minor code: 0 completed: No
         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
         at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
         at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
         at com.sun.corba.ee.impl.protocol.giopmsgheaders.MessageBase.getSystemException(MessageBase.java:791)
         at com.sun.corba.ee.impl.protocol.giopmsgheaders.ReplyMessage_1_2.getSystemException(ReplyMessage_1_2.java:97)
         at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.getSystemExceptionReply(CorbaMessageMediatorImpl.java:546)
         at com.sun.corba.ee.impl.protocol.CorbaClientRequestDispatcherImpl.processResponse(CorbaClientRequestDispatcherImpl.java:430)
         at com.sun.corba.ee.impl.protocol.CorbaClientRequestDispatcherImpl.marshalingComplete(CorbaClientRequestDispatcherImpl.java:326)
         at com.sun.corba.ee.impl.protocol.CorbaClientDelegateImpl.invoke(CorbaClientDelegateImpl.java:132)
         at org.omg.CORBA.portable.ObjectImpl._invoke(ObjectImpl.java:457)
         ... 18 more
    Hope it's easy to solve ... I'm not using JAAS .. my jndi.properties looks like this:
         java.naming.security.principal=oc4jadmin
    java.naming.security.credentials=welcome javax.rmi.CORBA.PortableRemoteObjectClass=com.sun.corba.ee.impl.javax.rmi.PortableRemoteObject
    com.oracle.CORBA.OrbManager=com.oracle.corba.ee.impl.orb.ORBManagerImpl
    java.naming.factory.initial=oracle.j2ee.iiop.IIOPInitialContextFactory
    java.naming.provider.url=corbaname::serverhost:13321#/MyApp

  • Corba Client For EJB

    Hello
    I am trying to connect Corba Client to EJB deployed in OC4J.
    I followed the instructions given on
    http://otn.oracle.com/tech/java/oc4j/htdocs/how-to-rmi-iiop.html
    But I am not getting success after making tries in different ways.
    Can some body tell how to connect to EJB by a corba client using Oc4j.
    If OC4J does't support RMI-IIOP , can you suggest other server which supports that.
    Thanx in advance.

    I'm stuck exactly with the same issue while trying to port my application from weblogic to jboss.
    I tried to specify different ORB implementations (JacORB, OpenORB) for jvm option org.omg.CORBA.ORBClass, but JBoss couldn't get them instantiated. Native Sun implementation which is used in JBoss by default and can be instantiated, apparently is not fully compatible with weblogic security module.
    So did you manage to find out the solution?
    Edited by DigitalDude at 04/09/2008 11:47 PM

  • Writing a Standalone Client for EJB 3.0 Bean For Weblogic 10

    Steps for Writing a Standalone Client
    Client Code
    package com.client;
    import java.util.Properties;
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    import javax.rmi.PortableRemoteObject;
    import com.StatelessService;
    public class StatelessClient {
         public static void main(String [] args){
              Context ctx = null;
              try {
                   ctx = getInitialContext("t3://localhost:7001/protossbservice","weblogic","weblogic");
                   Object ref = ctx.lookup("StatelessService#"+StatelessService.class.getName());
                   StatelessService service = (StatelessService)PortableRemoteObject.narrow(ref,StatelessService.class);     
                   System.out.println("StatelessClient.getMessage() ++");
                   String  message = service.getMessage();
                   System.out.println("StatelessClient.getMessage --");
                        System.out.println("Message from Bean "+message);
         } catch (NamingException e) {
                   e.printStackTrace();
         private static Context getInitialContext(String url, String user, String password) throws NamingException {
            Properties h = new Properties();
            h.put(Context.INITIAL_CONTEXT_FACTORY,
                    "weblogic.jndi.WLInitialContextFactory");
            h.put(Context.PROVIDER_URL, url);
            h.put(Context.SECURITY_PRINCIPAL, user);
            h.put(Context.SECURITY_CREDENTIALS, password);
            return new InitialContext(h);
    Business Interface
    package com;
    public interface StatelessService {
         public String getMessage();
    Stateless Session Bean
    package com;
    import javax.annotation.PostConstruct;
    import javax.ejb.Remote;
    import javax.ejb.Stateless;
    * Test Stateless Session Bean
    @Stateless(mappedName="StatelessService")
    @Remote(StatelessService.class)
    public class StatelessServiceBean implements StatelessService {
         public String getMessage(){
              return "I am invoked";

    emekaco wrote:
    Hi,
    I am a trainee although with a good background in java.
    I'm urgently in need of a free ebook for EJB 3.0 with the latest version of Netbean. Pls, help me with one if you have. my email is [email protected]
    http://www.theserverside.com/tt/books/wiley/masteringEJB3/index.tss
    Here's a good free e-book but without Netbean. It covers everything you would need to know about EJBs.
    >
    Again, is container managed bean good for a big project?
    The question is too vague to be answered. It's a design decision that needs more details.

  • Servlet Client for EJB

    Hi,
    Till now i had normal java client for my EJB Programs.. I use j2ee 1.4 AppServer
    Whenever i run my java program i used to set classpath for the returned client jar file and appserv-rt.jar but now when i run my servlet client program i don know how to set them and hence when i run the servlet i get an error saying No class def found for home interface...
    How do i rectify this?
    Waiting for ur replies!
    Thanks,
    Akshatha

    Hi,
    Inspite of putting my jar file i am getting the no
    class def found error. So how do i
    proceed further?
    AkshathaDid you put the EJB client jar in the WEB-INF/lib directory for your web application as suggested?

  • RMI: multiple clients for one RMI server?

    Hi,
    We're thinking of making a RMI Server.
    However, can multiple clients access the same RMI Server at the same moment?
    So, if one client is connected to the RMI Server, what will happen with the other clients that want to work to do the same thing at the same moment ?

    all over the same port?
    so for example, 100 clients can work simultaneously on this simple server?
    import java.rmi.Remote;
    import java.rmi.RemoteException;
    public interface OkServer extends Remote {
        public String getOk() throws RemoteException;
    import java.rmi.server.UnicastRemoteObject;
    import java.rmi.RMISecurityManager;
    import java.rmi.RemoteException;
    import java.rmi.Naming;
    public class OkServerImpl extends UnicastRemoteObject implements OkServer {
        public OkServerImpl() throws RemoteException {
        public String getOk() {
         return "ok";
        public static void main (String args[]) throws Exception {
              System.setSecurityManager(new RMISecurityManager());
              OkServerImpl OkSvr = new OkServerImpl();
              Naming.bind("OkServer", OkSvr);
    }

  • PageNotFound when using servlets as clients for EJB

    Can anyone help me? I have a container managed EJB. I'm using servlets as my client. I placed my EJB's in a jar file and my servlets and html pages in a WAR file. I deployed them using J2EE's deploytool. I can access my html files but not my servlet files. It always says file not found or a 405 error (resource not allowed) I access my servlet this way...
    http://localhost:8000/ReservationContextRoot/ReservationAlias
    my web.xml file looks like the following:
    <?xml version="1.0" encoding="Cp1252"?>
    <!DOCTYPE web-app PUBLIC '-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN' 'http://java.sun.com/j2ee/dtds/web-app_2.2.dtd'>
    <web-app>
    <display-name>ReservationWAR</display-name>
    <description>no description</description>
    <servlet> <servlet-name>ReservationServlet</servlet-name>
    <display-name>ReservationServlet</display-name>
    <description>no description</description>
    <servlet-class>ReservationServlet</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>ReservationServlet</servlet-name>
    <url-pattern>ReservationAlias</url-pattern>
    </servlet-mapping>
    <session-config>
    <session-timeout>30</session-timeout>
    </session-config>
    <resource-ref>
    <description>no description</description>
    <res-ref-name>jdbc/ReservationDB</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    </resource-ref>
    <ejb-ref> <description>no description</description>
    <ejb-ref-name>ejb/Reservation</ejb-ref-name>
    <ejb-ref-type>Entity</ejb-ref-type>
    <home>ReservationHome</home>
    <remote>Reservation</remote>
    </ejb-ref>
    </web-app>

    Are you sure your servlet class itself can run without problem? Try debug in the these steps:
    1. Change your servlet to simply output some HTML text, so you can be sure tomcat can get to your servlet. If this is OK, it means the servlet itself has problem, probably the EJB stuff.
    2. Make sure the EJB container is running.
    3. Make your servlet a standalone client (not a servlet) and see if it can run. Pay attention to how you do JNDI lookup of the EJB.
    Yi

  • Javabean Clients for EJBs in OC4J

    Is there anyone who has written a Javabean that accesses a EJB
    deployed in OC4J, doesnt have to be a structural EJB, could be
    any class that does it and is then used by a JSP. If so, could
    you please help me out. I cant seem to do that, i cant
    understand what will be the directory structure. I use the ANT
    tool for creating the ear file.

    Hi nil,
    This may help you:
    http://kb.atlassian.com/content/tutorials/jollem/orion-cmp-
    primer/
    It shows how to access a CMP entity EJB from a JSP. The java code
    is embedded in the JSP file(s) but I think you can easily move
    the code to a java bean and call the java bean methods from the
    JSP.
    Hope this helps you.
    Good Luck,
    Avi.

  • APPLETS AS CLIENT FOR EJB

    Hi
    We 've deployed our EJB APPLN. in OAS 4.0.8.2. We use OASDEPLOY for deploying our source. Now we r migrating to 9IAS whic has a different deployment scenario.
    I am quite sucessful in deploying some sample EJB's which uses servlets. But we r using APPLETS to call EJB. For this what will be the exploded directory look like.
    Thanks for the efforts.
    RAJ
    Thanks for u r efforts.

    Hi
    I have also tried setting permissions in the policy file. but i could not figure out exactly which all permission have to be set. it worked when i granted ALL permissions, which is ofcourse not recomended..
    grant {
    permission java.security.AllPermission;
    A more practicable way would be to sign ur applet. anyway, You cant expect all the users of the applet to make changes in their policy files.
    take a look at http://developer.java.sun.com/developer/qow/archive/99/index.html
    remember, u may need to sign all the accompanying jar files aslo(oc4j.jar, ejb.jar, etc..)
    regards
    raees

Maybe you are looking for

  • Audiobooks not showing up in iPod tab when searching

    So, I have this problem with some audiobooks. If I connect my 5th generation iPod 60GB to iTunes, it shows up as normal. I then select the iPod, and I try to search on a specific artist (Or writer if you will) in the search field on the right. But, m

  • Beginner Text issues

    So I have an image that I would like to replace the text in. I used the eraser tool to remove the text that is there but when I use the text tool to try to put my replacement text there, nothing shows up in the box but what I typed shows up in the la

  • Making web page remain the same size ....

    even when the browser window is reduced or enlarged...is there some code I can put in my css?

  • Smart folders keep resetting

    Hi everybody I have made a number of smart folders but they keep resetting the rules that I have made for the folders. I have a suspicion that it happens every time I sync. with my .mac account. But I am not sure. Doe's anyone have a good suggestion

  • Ibook suddenly marks photos with yellow exclamation mark

    Hi, I have created several photo albums and had them published. I have always chosen my photos carefully to avoid the yellow exclamation mark. One of my projects was started several months ago and left untouched for a long time. When I went back to t