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

Similar Messages

  • 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

  • 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.

  • 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

  • Difference between RMI-IIOP and CORBA-IIOP

    Hello,
    What is the difference between RMI-IIOP and CORBA-IIOP?
    Thanks
    Larry

    Lawrence Manickam <[email protected]> writes:
    What is the difference between RMI-IIOP and CORBA-IIOP? RMI-IIOP is the protocol represented by the mapping of Java RMI
    artifacts to IDL, i.e. you start with Java and use the RMI programming
    model. CORBA / IIOP is really just the protocol used for IDL sourced
    objects, i.e. you start with IDL and use the CORBA programming model.
    andy

  • 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

  • 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

  • Losing RMI-IIOP connection at server end

    Hi all
    I have a system running on Solaris 9, JVM 1.4.2_06 with a webapp hosted in Tomcat 5.5 connecting over RMI-IIOP to another java service on the same machine. The connection is established at webapp initialisation via a lookup to the naming service (currently tnameserv).
    Unfortunately, after a period of time (varies between a few hours and a couple of days), the RMI connection simply disappears from the server-side point of view, and the webapp grinds to a halt. Taking a thread dump of Tomcat and the service at the point of failure shows that Tomcat still has "JavaIDL Reader" threads listening to the service, but the service has lost all of its "JavaIDL Reader" threads listening to Tomcat.
    I've traced the problem as far as line 518 of com.sun.corba.se.internal.iiop.messages.MessageBase:
    bytecount = is.read(buf, offset + n, size - n);This read on the InputStream is throwing an IOException. I have configured the system so that IP address 127.0.0.1 is being used in all places.
    It may well be that this is not the right forum for this question, but has anyone else ever come across a problem like this? All suggestions most welcome.
    Regards
    Brian

    In trying to find an answer to your question, have actually discovered that the root cause of the issue is actually a little lower in the stack.
    SocketInputStream.read(byte[],int,int) is returning -1 (EOF), and this is being interpretted into an IOException by the MessageBase class. So now I need to work out why this unexpected EOF may be occurring on this platform.
    I imagine this is no longer very relevant to the RMI forum. I've posted on the Socket Programming forum.
    Regards
    Brian

  • RMI/IIOP vs CORBA ?

    Is there any difference in what you can do with a CORBA implementation as opposed to an RMI/IIOP implementation? Is there anything that can be done in one and not the other? Or were the org.omg.CORBA libraries just a fill-in until the RMI/IIOP framework was developed?
    Josh

    Hello Sylviae,
    I would not put the answer, as quite as what you have.
    "RMI/IIOP is a superset of CORBA that is Java specific."
    I do not agree with the above statement, as CORBA is more poweful than RMI/IIOP and a comparison will not be accurate. The architecture of CORBA, in my opinion is quite superior to that of RMI and quite distinct.
    "then CORBA can make this work, albeit with less flexibility"
    On the other hand, the vision with which CORBA started, stated flexibility as a key agreement. CORBA does offer excellent flexibility. What you could be correct in saying, is that, CORBA solutions are difficult to maintain and expensive to construct. As opposed to this, RMI/IIOP (or the framework) provides an easier means to achieve the same.
    In any case, RMI over IIOP is actually yet to be proven on mission critical infrastructure. Where CORBA has peformed excellently.
    Nice day to you.
    Ironluca
    P.S.: Your Resume looks great :D

  • RMI-IIOP and CORBA version

    Hello all,
    I am new to CORBA (I understand the concepts, but have never actually programmed anything with it).
    I need to write some software in Java that talks to an existing system that has CORBA interfaces. It seems to me that using RMI-IIOP will be a good solution, but in the RMI-IIOP documentation, I have read that it will only work with CORBA version 2.3.
    The existing system works with CORBA version 2.0 (as far as I know). Does this mean that I will not be able to use RMI-IIOP at all, or are there some workarounds to get it working with CORBA 2.0?
    What would be my alternatives if I cannot use RMI-IIOP because of the version difference?
    regards
    Jesper

    Hi
    I have not tried that kombination myself so can not tell you about workarounds, I can tell you that the main difference, in respect to Java, between 2.0 and 2.3 is that the Objects by Value protocoll is incorporated into CORBA 2.3. This extension was specifically designed and added to make RMI-IIOP possible, or atleast more user friendly.
    The first workaround I would try is making comunicaitons interfaces built from only basic variable types, but I can not say if it would work. Besides if you are not defining new interfaces (IDL files) you will probably have to work with Java IDL anyway since RMI-IIOP (atleast in jdk1.3) seemed like a one way conversion, Java -> IDL.
    Hope this helps
    //Samuel

  • Help!!!I can not pass the Logger example of Rmi-iiOP

    I am using the j2sdk1.4.0 and j2sdkee1.3.1 as back ground.And use Win2000
    I try the rmi-iiop example given by Sun.But it doesn't work.
    Firstly , compile Logger.java LoggerHome.java LogMessage.java LoggerEJB.java to class
    javac -classpath "c:\j2sdkee1.3.1\lib\j2ee.jar;c:\wytestejb\" Logger.java LoggerHome.java LogMessage.java LoggerEJB.java
    that was ok.
    Then I draw idl from that just like
    rmic -idl -noValueMethods -classpath "c:\j2sdkee1.3.1\lib\j2ee.jar;c:\wytestejb\" Logger LoggerHome
    then I got Logger.idl LoggerHome.idl javax\ejb\...idl java\lang\...idl
    After that I create one directory named client.copying all idl file into it,I transfered idl to java using
    idlj -i C:\j2sdk1.4.0\lib -i c:\wytestejb\client -i C:\j2sdkee1.3.1\lib -emitAll -fclient Logger.idl
    idlj -i C:\j2sdk1.4.0\lib -i c:\wytestejb\client -i C:\j2sdkee1.3.1\lib -emitAll -fclient LoggerHome.idl
    Then I got *.java such as Logger.java LoggerHome.java .....java java\lang\***.class javax\ejb\****.class
    I put the LogClient.java in this directory and compile *.java like
    C:\wytestejb\client>javac -classpath "c:\j2sdkee1.3.1\lib\j2ee.jar;c:\wytestejb\
    client;c:\j2sdk1.4.0\lib;c:\j2sdk1.4.0\bin" *.java
    And I got
    c:\wytestejb\client\java\lang\_Exception.java:23: cannot resolve symbol
    symbol : method _read  (org.omg.CORBA.portable.InputStream)
    location: class java.lang.Throwable
    super._read (istream);
    ^
    c:\wytestejb\client\java\lang\_Exception.java:28: cannot resolve symbol
    symbol : method _write  (org.omg.CORBA.portable.OutputStream)
    location: class java.lang.Throwable
    super._write (ostream);
    ^
    LogClient.java:20: cannot resolve symbol
    symbol : method println (java.lang.String)
    location: interface java.io.PrintStream
    System.out.println("Looking for: " + loggerHomeURL);
    ^
    LogClient.java:38: cannot resolve symbol
    symbol : method println (java.lang.String)
    location: interface java.io.PrintStream
    System.out.println("Logging...");
    ^
    LogClient.java:47: cannot resolve symbol
    symbol : method println (java.lang.String)
    location: interface java.io.PrintStream
    System.out.println("Done");
    ^
    LogClient.java:59: cannot resolve symbol
    symbol : method println (java.lang.String)
    location: interface java.io.PrintStream
    System.out.println("Args: corbaname URL of LoggerHome");
    ^
    LogClient.java:66: cannot resolve symbol
    symbol : method printStackTrace ()
    location: class java.lang.Throwable
    t.printStackTrace();
    ^
    7 errors
    C:\wytestejb\client>

    By the way
    My java file is as
    Logger.java
    The file Logger.java is the enterprise bean's remote interface, and as such, it extends EJBObject . A remote interface provides the remote client view of an EJB object and defines the business methods callable by a remote client.
    //Code Example 1: Logger.java
    package ejbinterop;
    import javax.ejb.EJBObject;
    import java.rmi.RemoteException;
    * Accepts simple String log messages and prints
    * them on the server.
    public interface Logger extends EJBObject
    * Logs the given message on the server with
    * the current server time.
    void logString(String message) throws RemoteException;
    LoggerHome.java
    The file LoggerHome.java extends EJBHome . The EJBHome interface must be extended by all EJB component's remote home interfaces. A home interface defines the methods that allow a remote client to create, find, and remove EJB objects, as well as home business methods that are not specific to an EJB instance.
    //Code Example 2: LoggerHome.java
    package ejbinterop;
    import java.rmi.RemoteException;
    import javax.ejb.EJBHome;
    import javax.ejb.CreateException;
    public interface LoggerHome extends EJBHome
    Logger create() throws RemoteException, CreateException;
    LoggerEJB.java
    The file LoggerEJB.java contains the code for a session bean. A session bean is an enterprise bean that is created by a client and that usually exists only for the duration of a single client-server session. A session bean performs operations such as calculations or accessing a database for the client. In this example, the enterprise bean accepts simple String log messages from the client and prints them on the server.
    //LoggerEJB.java
    package ejbinterop;
    import javax.ejb.*;
    import java.util.*;
    import java.rmi.*;
    import java.io.*;
    * Accepts simple String log messages and prints
    * them on the server.
    public class LoggerEJB implements SessionBean {
    public LoggerEJB() {}
    public void ejbCreate() {}
    public void ejbRemove() {}
    public void ejbActivate() {}
    public void ejbPassivate() {}
    public void setSessionContext(SessionContext sc) {}
    * Logs the given message on the server with
    * the current server time.
    public void logString(String message) {
    LogMessage msg = new LogMessage(message);
    System.out.println(msg);
    LogMessage.java
    The file LogMessage.java takes the current date and time, creates a formatted String showing the message, and prints the message to the server.
    //LogMessage.java
    package ejbinterop;
    import java.io.Serializable;
    import java.util.Date;
    import java.text.*;
    * Simple message class that handles pretty
    * printing of log messages.
    public class LogMessage implements Serializable
    private String message;
    private long datetime;
    * Constructor taking the message. This will
    * take the current date and time.
    public LogMessage(String msg) {
    message = msg;
    datetime = (new Date()).getTime();
    * Creates a formatted String showing the message.
    public String toString() {
    StringBuffer sbuf = new StringBuffer();
    DateFormat dformat
    = DateFormat.getDateTimeInstance(DateFormat.MEDIUM,
         DateFormat.LONG);
    FieldPosition fpos = new
    FieldPosition(DateFormat.DATE_FIELD);
    dformat.format(new Date(datetime), sbuf, fpos);
    sbuf.append(": ");
    sbuf.append(message);
    return sbuf.toString();
    //Code Example: LogClient.java
    package ejbinterop;
    import java.rmi.RemoteException;
    import javax.rmi.*;
    import java.io.*;
    import javax.naming.*;
    import javax.ejb.*;
    * Simple Java RMI-IIOP client that uses an EJB component.
    public class LogClient
    * Given a corbaname URL for a LoggerHome,
    * log a simple String message on the server.
    public static void run(String loggerHomeURL)
    throws CreateException, RemoveException,
    RemoteException, NamingException
    System.out.println("Looking for: " + loggerHomeURL);
    // Create an InitialContext. This will use the
    // CosNaming provider we will specify at runtime.
    InitialContext ic = new InitialContext();
    // Lookup the LoggerHome in the naming context
    // pointed to by the corbaname URL
    Object homeObj = ic.lookup(loggerHomeURL);
    // Perform a safe downcast
    LoggerHome home
    = (LoggerHome)PortableRemoteObject.narrow(homeObj,
         LoggerHome.class);
    // Create a Logger EJB reference
    Logger logger = home.create();
    System.out.println("Logging...");
    // Log our message
    logger.logString("Message from a Java RMI-IIOP client");
    // Tell the application server we won't use this
    // EJB reference anymore
    logger.remove();
    System.out.println("Done");
    * Simple main method to check arguments and handle
    * exceptions.
    public static void main(String args[])
    try {
    if (args.length != 1) {
    System.out.println("Args: corbaname URL of LoggerHome");
    System.exit(1);
    LogClient.run(args[0]);
    } catch (Throwable t) {
    t.printStackTrace();
    System.exit(1);

  • Is there any sample RMI-IIOP application using distributed transactions

    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 am 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 any sample code that illustrates RMI-IIOP applications (servers)
    participating in distributed transactions?
    Regards,
    Dan Cimpoesu

    Transaction examples for IIOP are in the works for the next release.
    "Dan Cimpoesu" <[email protected]> wrote:
    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 am 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 any sample code that illustrates RMI-IIOP applications (servers)
    participating in distributed transactions?
    Regards,
    Dan Cimpoesu

  • RMI/IIOP HelloWorld problem

    I saw this topic in an old thread but couldn't find the answer. My
    problem was the same, the client app was stuck at the line
    obj = nc.resolve(path);
    Could you post your solution if you know the answer to this problem.
    Thanks a lot.

    Yes, you are right. I'm currently using jdk1.3. Is there a fix or do I
    have to go back to jdk1.2? Thanks a lot.
    Regards,
    Eduardo Ceballos wrote:
    You must run under jdk 1.3.
    Jim Hurd wrote:
    I did not see the line
    Thu Aug 03 11:33:52 PDT 2000:<I> <WebLogicServer> IIOP subsystem
    enabled.
    I think that was the problem. How do I fix that?
    Thank you very much.
    Eduardo Ceballos wrote:
    I tried every combination of hostname/ip address I could think of,
    but I don't see that problem... could you confirm that the WLS log
    listen thread entry is... should be something like:
    Thu Aug 03 11:34:06 PDT 2000:<I> <ListenThread> Listening on port:
    7001
    Also, does the first line of your log say:
    Thu Aug 03 11:33:52 PDT 2000:<I> <WebLogicServer> IIOP subsystem
    enabled.
    Jim Hurd wrote:
    Hi Eduardo,
    I tried the rmi-iiop client SimpleHelloClient example that you
    posted (with hostname and port modified according to my setup)
    and I got this error while trying to get the InitialContext (at
    line Context ic = new InitialContext(env);
    Exception in thread "main" javax.naming.CommunicationException:
    Cannot connect to ORB. Root exception is
    org.omg.CORBA.COMM_FAILURE: minor code: 1 completed:
    Maybe
    at
    com.sun.corba.se.internal.iiop.IIOPConnection.purge_calls(Unknown
    Source)
    at
    com.sun.corba.se.internal.iiop.ReaderThread.run(Unknown Source)
    Here is my setup
    env.put("java.naming.factory.initial","com.sun.jndi.cosnaming.CNCtxFactory");
    env.put("java.naming.provider.url", "iiop://127.0.0.1:7001");
    Context ic = new InitialContext(env);
    Thanks a lot
    Eduardo Ceballos wrote:
    Here's the html version.. maybe clearer
    Eduardo Ceballos wrote:
    As I said, apparently, you are trying to compile the IDL
    client in java using the RMI client classes. THere are two
    problems with this:
    1-- you must compile the rmi class definitions into a
    directory that can be easily excluded from the class path at
    the time you compile the idl definitions.
    2-- the idl definitions and the resulting classes are useless
    wrt the rmi definitions and wls, so the resulting classes must
    be compiled into directories other than those used by wls and
    the rmi clients.
    Another way to look at this is as follows:
    To compile the rmi definitions, you do:
    set ORIGINALCLASSPATH=CLASSPATH
    set CLASSPATH=../fooclasses;$CLASSPATH
    javac -d ../fooclasses rmi/FooImpl.java
    Then,
    -- you compile the jrmp classes as:
    rmic -d ../jrmpclasses rmi.FooImpl
    -- you compile the weblogic classes as:
    java weblogic.rmic -d ../wlsclasses rmi.FooImpl
    that is, you are allowed to compile from the same
    implementation class so long as it is compliant
    -- you compile the rmi-iiop classes as:
    java weblogic.rmic -iiop -d ../rmiiiopclasses rmi.FooImpl
    that is, as with jrmp and wls, the rmi-iiop classes share the
    same base type definitions and implementation.
    However, the idl classes are another matter. To compile the
    idl classes, you must generate the idl, generate the java
    files and generate the idl class files into another, separate
    directory, one which does not include any of ../fooclasses,
    ../jrmpclasses, ../wlsclasses or ../rmiiiopclasses
    directories.
    That is,
    java weblogic.rmic -idlDirtecory ../idl ...
    set CLASSPATH=ORIGINALCLASSPATH
    set CLASSPATH=../idlclasses;CLASSPATH
    cd ../idl
    idl2java rmi/Foo.idl
    javac -d ../idl rmi/*.java
    Hope this helps...
    "Hallam, David [CAR:5e10:EXCH]" wrote:
    The problem you are having is that the compiler is pickingup another copy of HelloWorld... see if you can run the
    compiler with verbose turned on and find where it is getting
    the interface from... or try using javap...
    So, here is the output when I compile in verbose mode:
    D:\weblogic>javac -verbose -d %WL_HOME%\myserver\corbaclient
    examples\rmi_iiop\h
    ello\*.java
    [parsing started
    examples\rmi_iiop\hello\_HelloWorldStub.java]
    [parsing completed 160ms]
    [parsing started examples\rmi_iiop\hello\HelloClient.java]
    [parsing completed 30ms]
    [parsing started examples\rmi_iiop\hello\HelloImpl.java]
    [parsing completed 0ms]
    [parsing started examples\rmi_iiop\hello\HelloWorld.java]
    [parsing completed 10ms]
    [parsing started
    examples\rmi_iiop\hello\HelloWorldHelper.java]
    [parsing completed 0ms]
    [parsing started
    examples\rmi_iiop\hello\HelloWorldHolder.java]
    [parsing completed 0ms]
    [parsing started
    examples\rmi_iiop\hello\HelloWorldOperations.java]
    [parsing completed 0ms]
    [loading
    D:\jdk1.
    \jre\lib\rt.jar(org/omg/CORBA/portable/ObjectImpl.class)]
    [loading D:\jdk1.3\jre\lib\rt.jar(java/lang/Object.class)]
    [loading
    D:\jdk1.3\jre\lib\rt.jar(org/omg/CORBA/Object.class)]
    [loading
    D:\jdk1.
    \jre\lib\rt.jar(org/omg/CORBA/portable/IDLEntity.class)]
    [loading
    D:\jdk1.3\jre\lib\rt.jar(java/io/Serializable.class)]
    [loading
    D:\jdk1.
    \jre\lib\rt.jar(org/omg/CORBA/portable/Delegate.class)]
    [loading D:\jdk1.3\jre\lib\rt.jar(java/lang/String.class)]
    [loading
    D:\jdk1.3\jre\lib\rt.jar(java/io/ObjectInputStream.class)]
    [loading
    D:\jdk1.3\jre\lib\rt.jar(java/io/ObjectOutputStream.class)]
    [loading
    D:\jdk1.
    \jre\lib\rt.jar(org/omg/CosNaming/NameComponent.class)]
    [loading
    D:\jdk1.
    \jre\lib\rt.jar(org/omg/CosNaming/NamingContextHelper.class)]
    [loading
    D:\jdk1.
    \jre\lib\rt.jar(org/omg/CosNaming/NamingContext.class)]
    [loading D:\jdk1.3\jre\lib\rt.jar(org/omg/CORBA/ORB.class)]
    [loading
    D:\jdk1.3\jre\lib\rt.jar(java/rmi/RemoteException.class)]
    [loading
    D:\jdk1.3\jre\lib\rt.jar(java/lang/Exception.class)]
    [loading D:\jdk1.3\jre\lib\rt.jar(org/omg/CORBA/Any.class)]
    [loading
    D:\jdk1.3\jre\lib\rt.jar(org/omg/CORBA/TypeCode.class)]
    [loading
    D:\jdk1.
    \jre\lib\rt.jar(org/omg/CORBA/portable/InputStream.class)]
    [loading
    D:\jdk1.
    \jre\lib\rt.jar(org/omg/CORBA/portable/OutputStream.class)]
    [loading
    D:\jdk1.
    \jre\lib\rt.jar(org/omg/CORBA/portable/Streamable.class)]
    [checking examples.rmi_iiop.hello._HelloWorldStub]
    [loading
    D:\jdk1.
    \jre\lib\rt.jar(org/omg/CORBA/portable/ApplicationException.cl
    ass)]
    [loading
    D:\jdk1.3\jre\lib\rt.jar(java/lang/Throwable.class)]
    [loading
    D:\jdk1.3\jre\lib\rt.jar(org/omg/CORBA/MARSHAL.class)]
    [loading
    D:\jdk1.3\jre\lib\rt.jar(org/omg/CORBA/SystemException.class)]
    [loading
    D:\jdk1.3\jre\lib\rt.jar(java/lang/RuntimeException.class)]
    [loading
    D:\jdk1.
    \jre\lib\rt.jar(org/omg/CORBA/portable/RemarshalException.clas
    s)]
    [loading
    D:\jdk1.3\jre\lib\rt.jar(java/io/InputStream.class)]
    [loading
    D:\jdk1.3\jre\lib\rt.jar(java/io/IOException.class)]
    [loading
    D:\jdk1.3\jre\lib\rt.jar(java/io/OutputStream.class)]
    [loading D:\jdk1.3\jre\lib\rt.jar(java/lang/Error.class)]
    [wrote
    D:\web
    ogic\myserver\corbaclient\examples\rmi_iiop\hello\_HelloWorldStub.
    class]
    [checking examples.rmi_iiop.hello.HelloWorld]
    [wrote
    D:\web
    ogic\myserver\corbaclient\examples\rmi_iiop\hello\HelloWorld.class
    [checking examples.rmi_iiop.hello.HelloWorldOperations]
    [wrote
    D:\web
    ogic\myserver\corbaclient\examples\rmi_iiop\hello\HelloWorldOperat
    ions.class]
    [checking examples.rmi_iiop.hello.HelloClient]
    [loading D:\jdk1.3\jre\lib\rt.jar(java/lang/System.class)]
    [loading
    D:\jdk1.3\jre\lib\rt.jar(java/io/PrintStream.class)]
    [loading
    D:\jdk1.3\jre\lib\rt.jar(java/io/FilterOutputStream.class)]
    [loading
    D:\jdk1.
    \jre\lib\rt.jar(org/omg/CosNaming/NamingContextOperations.clas
    s)]
    [loading
    D:\jdk1.3\jre\lib\rt.jar(org/omg/CORBA/BAD_PARAM.class)]
    [loading
    D:\jdk1.
    \jre\lib\rt.jar(org/omg/CosNaming/NamingContextPackage/NotFoun
    d.class)]
    [loading
    D:\jdk1.3\jre\lib\rt.jar(org/omg/CORBA/UserException.class)]
    [loading
    D:\jdk1.
    \jre\lib\rt.jar(org/omg/CosNaming/NamingContextPackage/CannotP
    roceed.class)]
    [loading
    D:\jdk1.
    \jre\lib\rt.jar(org/omg/CosNaming/NamingContextPackage/Invalid
    Name.class)]
    [wrote
    D:\web
    ogic\myserver\corbaclient\examples\rmi_iiop\hello\HelloClient.clas
    s]
    [checking examples.rmi_iiop.hello.HelloImpl]
    [loading
    D:\jdk1.3\jre\lib\rt.jar(org/omg/CORBA/Policy.class)]
    [loading
    D:\jdk1.3\jre\lib\rt.jar(org/omg/CORBA/SetOverrideType.class)]
    [loading
    D:\jdk1.3\jre\lib\rt.jar(org/omg/CORBA/DomainManager.class)]
    [loading
    D:\jdk1.3\jre\lib\rt.jar(org/omg/CORBA/Context.class)]
    [loading
    D:\jdk1.3\jre\lib\rt.jar(org/omg/CORBA/NVList.class)]
    [loading
    D:\jdk1.3\jre\lib\rt.jar(org/omg/CORBA/NamedValue.class)]
    [loading
    D:\jdk1.3\jre\lib\rt.jar(org/omg/CORBA/ExceptionList.class)]
    [loading
    D:\jdk1.3\jre\lib\rt.jar(org/omg/CORBA/ContextList.class)]
    [loading
    D:\jdk1.3\jre\lib\rt.jar(org/omg/CORBA/Request.class)]
    examples\rmi_iiop\hello\HelloImpl.java:12:
    examples.rmi_iiop.hello.HelloImpl sho
    uld be declared abstract; it does not define
    isa(java.lang.String) in
    examples
    .rmi_iiop.hello.HelloImpl
    public class HelloImpl implements HelloWorld {
    ^
    [loading
    D:\jdk1.3\jre\lib\rt.jar(javax/naming/Context.class)]
    [loading
    D:\jdk1.3\jre\lib\rt.jar(javax/naming/InitialContext.class)]
    [loading D:\jdk1.3\jre\lib\rt.jar(javax/naming/Name.class)]
    [loading
    D:\jdk1.3\jre\lib\rt.jar(java/lang/Comparable.class)]
    [checking examples.rmi_iiop.hello.HelloWorldHelper]
    [checking examples.rmi_iiop.hello.HelloWorldHolder]
    [total 1301ms]
    1 error
    [att1.html]

  • Function overloading not supported by RMI-IIOP?

    Hi, I am successfully connecting to a stateful session EJB running under
    WebLogic 5.1, sp5 as an RMI-IIOP client. Here's the problem. If I try to
    invoke an overloaded public method on my bean I get the following error:
    Remote Error: CORBA UNKNOWN 0 Maybe; nested exception is:
    org.omg.CORBA.UNKNOWN: minor code: 0 completed: Maybe
    If I comment out all versions but one of the overloaded method and rebuild,
    everything's peachy, I can call the method.
    Is method overloading not supported by RMI-IIOP? Each version of the
    overloaded method does get added to the weblogic.ejbc generated IDL file,
    but again if there are multiple overloaded versions it doesn't work.
    Thx,
    Sandy Barletta

    Eduardo, have you had a chance to test this yet?
    Thx,
    Sandy
    "Eduardo Ceballos" <[email protected]> wrote in message
    news:[email protected]..
    This is a bug, I suspect. This should of course work. I'll look into it.
    Sandy Barletta wrote:
    Hi, I am successfully connecting to a stateful session EJB running under
    WebLogic 5.1, sp5 as an RMI-IIOP client. Here's the problem. If I try to
    invoke an overloaded public method on my bean I get the following error:
    Remote Error: CORBA UNKNOWN 0 Maybe; nested exception is:
    org.omg.CORBA.UNKNOWN: minor code: 0 completed: Maybe
    If I comment out all versions but one of the overloaded method and
    rebuild,
    everything's peachy, I can call the method.
    Is method overloading not supported by RMI-IIOP? Each version of the
    overloaded method does get added to the weblogic.ejbc generated IDLfile,
    but again if there are multiple overloaded versions it doesn't work.
    Thx,
    Sandy Barletta

  • Transactions Sample RMI-IIOP Code

    Hi,
              Looking to the link below it appears that we can have RMI-IIOP applications
              and clients that use JTA.
              http://e-docs.bea.com/wls/docs61/jta/gstrx.html#1067532
              Does anyone know of a RMI-IIOP sample that illustrates how transactions are
              propagated from RMI-IIOP clients to RMI-IIOP applications?
              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

Maybe you are looking for

  • Extremely slow wireless xfer from Macbook to USB drive on Airport Extreme

    I have tried to set up my external 1TB seagate USB drive to my AE for wireless network storage (only 1 computer on network, but I also have an AppleTV). If the drive is connected directly to my MB the transfer speeds are fine, but when I try to go wi

  • SQL bulk copy from csv file - Encoding

    Hi Experts This is the first time I am creating a PowerShell script and it is almost working. I just have some problems with the actual bulk import to SQL encoding from the text file since it replaces special characters with a question mark. I have s

  • For Google Calendar/Contacts, etc. - CalDav or Google Sync?

    For my iPhone, what are the advantages and disadvantages of CalDav vs Google Sync? Any thoughts?

  • SE14 - mass check for Database objects

    Dear Gurus We have a lot of tables, that have error/problems in check DB14->Check->Database object How can I find all problematic tables in single report? Regards Vladimir

  • Redistribution of "global" OSPF into a VRF

    Im' trying to redistribute several routes learned via OSPF into a VRF. This VRF use EIGRP as routing protocol. I'm not able to see any entry in the vrf table. Have anybody done a similar things or can point me to samples and tips ? Thanks Marco This