CORBA client reconnection: InvalidDomain

I'm developing a CORBA-client for WLE 5.1. In short, the problem is:
I can't restore a connection after a COMM_FAILURE. When trying to create a Tobj_Bootstrap object again I get
com.beasys.Tobj.InvalidDomain: Can't connect to the domain (//my.domain:2600)
Here are some details. The client must work without restart during a long time. It is normal that sometimes network problems occur or server is restarted or any other thing happens that can make a remote object reference invalid. So, when getting a COMM_FAILURE, I try to "reconnect" - that is to obtain remote reference again. I do it in the same way as on the first start of the client:
1. Create Tobj_Bootstrap.
2. Obtain Factory Finder.
3. Obtain Factory.
4. Obtain remote interface reference.
On the first step I get this InvalidDomain exception. Even if the connection is OK, the server is up and running and the URL passed to Tobj_Bootstrap(orb, url) is correct. The other strange thing is - there is no network activity during this call (observed by network monitoring tool). Seems ORB doesn't really try to do its job.
BTW, I use m3envobj.jar and wleclient.jar for CORBA-functionality.
The same client using SUN's ORB (with simple CORBA-server from JDK 1.4) reconnects well.
What is the reason?
Thanks in advance.
Yury.

Generally, no. If you carefully massage the IDL that results from the EJB, it's possible to manufacture a subset of the EJB's interface that a 2.2 or 2.1 ORB can call, but there is currently no automagical support for this in WLS. Beyond the use of value types, the trouble that most ORBs run into is
the IIOP type codes that start with RMI: instead of IDL:
Loaner wrote:
Hi,
I have a CORBA client developed on pre CORBA 2.3 ORB, i.e. the ORB
doesn't supports Object by Value. Can this client access the services
being provided by the EJB somehow??
Any help will be appreicated.
Vikas

Similar Messages

  • AnyConnect client reconnects after 1 minute

    AnyConnect client reconnects after 1 minute; WHY
    version 3.1.02026
    ASA:asa911-k8.bin
    [25-4-2013 8:16:11] Establishing VPN session...
    [25-4-2013 8:16:11] Checking for profile updates...
    [25-4-2013 8:16:11] Checking for product updates...
    [25-4-2013 8:16:11] Checking for customization updates...
    [25-4-2013 8:16:11] Performing any required updates...
    [25-4-2013 8:16:12] Establishing VPN session...
    [25-4-2013 8:16:12] Establishing VPN - Initiating connection...
    [25-4-2013 8:16:12] Establishing VPN - Examining system...
    [25-4-2013 8:16:12] Establishing VPN - Activating VPN adapter...
    [25-4-2013 8:16:15] Establishing VPN - Configuring system...
    [25-4-2013 8:16:16] Establishing VPN...
    [25-4-2013 8:16:16] Connected to my.vpn.com.
    [25-4-2013 8:16:16] Connected to my.vpn.com.
    [25-4-2013 8:17:19] Reconnecting to my.vpn.com...
    [25-4-2013 8:17:19] Establishing VPN - Examining system...
    [25-4-2013 8:17:24] Establishing VPN - Activating VPN adapter...
    [25-4-2013 8:17:25] Establishing VPN - Configuring system...
    [25-4-2013 8:17:25] Establishing VPN...
    [25-4-2013 8:17:25] Connected to my.vpn.com.
    [25-4-2013 8:17:25] Reconnecting to my.vpn.com...
    [25-4-2013 8:17:25] Establishing VPN - Examining system...
    [25-4-2013 8:17:25] Establishing VPN - Activating VPN adapter...
    [25-4-2013 8:17:25] Establishing VPN - Configuring system...
    [25-4-2013 8:17:25] Establishing VPN...
    [25-4-2013 8:17:25] Connected to my.vpn.com.
    [25-4-2013 8:16:11] Establishing VPN session...
    [25-4-2013 8:16:11] Checking for profile updates...
    [25-4-2013 8:16:11] Checking for product updates...
    [25-4-2013 8:16:11] Checking for customization updates...
    [25-4-2013 8:16:11] Performing any required updates...
    [25-4-2013 8:16:12] Establishing VPN session...
    [25-4-2013 8:16:12] Establishing VPN - Initiating connection...
    [25-4-2013 8:16:12] Establishing VPN - Examining system...
    [25-4-2013 8:16:12] Establishing VPN - Activating VPN adapter...
    [25-4-2013 8:16:15] Establishing VPN - Configuring system...
    [25-4-2013 8:16:16] Establishing VPN...
    [25-4-2013 8:16:16] Connected to my.vpn.com.
    [25-4-2013 8:16:16] Connected to my.vpn.com.
    [25-4-2013 8:17:19] Reconnecting to my.vpn.com...
    [25-4-2013 8:17:19] Establishing VPN - Examining system...
    [25-4-2013 8:17:24] Establishing VPN - Activating VPN adapter...
    [25-4-2013 8:17:25] Establishing VPN - Configuring system...
    [25-4-2013 8:17:25] Establishing VPN...
    [25-4-2013 8:17:25] Connected to my.vpn.com.
    [25-4-2013 8:17:25] Reconnecting to my.vpn.com...
    [25-4-2013 8:17:25] Establishing VPN - Examining system...
    [25-4-2013 8:17:25] Establishing VPN - Activating VPN adapter...
    [25-4-2013 8:17:25] Establishing VPN - Configuring system...
    [25-4-2013 8:17:25] Establishing VPN...
    [25-4-2013 8:17:25] Connected to my.vpn.com.

    Hello Michael,
    The problem here is because we cannot succesfully establish a DTLS tunnel. This could happen because:
    - DTLS is blocked somewhere in the path
    - A non-default DTLS port is being used
    If DTLS is blocked in the middle the issue is because as of ASA Release 9.x and AnyConnect Release 3.x, an optimization has been introduced in the form of distinct Maximum Transition Units (MTUs) that are negotiated for TLS/DTLS between the client/ASA. Previously, the client derived a rough estimate MTU which covered both TLS/DTLS and was obviously less than optimal. Now, the ASA computes the encapsulation overhead for both TLS/DTLS and derives the MTU values accordingly.
    As long as DTLS is enabled, the client applies the DTLS MTU (in this case 1418) on the VPN adapter (which is enabled before the DTLS tunnel is established and is needed for routes/filters enforcement), to ensure optimum performance. If the DTLS tunnel cannot be established or it is dropped at some point, the client fails over to TLS and adjusts the MTU on the virtual adapter (VA) to the TLS MTU value (this requires a session level reconnect).
    In order to eliminate this visible transition of DTLS > TLS,  you can configure a separate tunnel group for TLS only access for users that have trouble with the establishment of the DTLS tunnel (such as due to firewall restrictions).
    1. The best option is to set the AnyConnect MTU value to be lower than the TLS MTU, which is then negotiated.
    group-policy ac_users_group attributes
    webvpn
      anyconnect mtu 1300
    This makes TLS and DTLS MTU values equal. Reconnections are not seen in this case.
    2. The second option is to allow fragmentation.
    group-policy ac_users_group attributes
    webvpn
      anyconnect ssl df-bit-ignore enable
    With fragmentation, large packets (whose size exceeds the MTU value) can be fragmented and sent through the TLS tunnel.
    3. The third option is to set the Maximum Segment Size (MSS) to 1460 as follows:
    sysopt conn tcpmss 1460
    In this case, the TLS MTU will be 1427 (RC4/SHA1) which is larger than the DTLS MTU 1418 (AES/SHA1/LZS). This should resolve the issue with TCP from the ASA to the AnyConnect client (thanks to MSS), but large UDP traffic from the ASA to the AnyConnect client might suffer from this as it will be dropped by the AnyConnect client due to the lower AnyConnect client MTU 1418. If sysopt conn tcpmss is modified, it might affect other features such as LAN-to-LAN (L2L) IPSec VPN tunnels.
    If DTLS is not blocked in the middle another potential cause for the DTLS failure that DTLS is configured on a non-default port after the WebVPN is enabled (for example, when the webvpn enable outside command is entered). This is due to Cisco bug ID CSCuh61321 and has been seen in Release 9.x where the ASA pushes the non-default port to the client, but continues to listen to the default port. Consequently, the DTLS is not built and AnyConnect reconnects.
    The workaround for this problem is:
    Disable the WebVPN.
    Enter the DTLS port.
    Enable the WebVPN.
    Regards,
    -Gustavo Medina

  • Client reconnection to conventional cluster taking about 9 minutes

    Hi,
    I've set up a 3 node OpenMq (4.4) conventional cluster and am having trouble with client reconnections when I simulate a halt on a node.
    I have two threads within the same process, sending to a pre-configured destination and replying using a temporary queue. Each have a JMS connection to the same home broker. If I bring the home broker down with either the imqcmd command or with a ctrl+c, the goodbye messages are sent and the client connections are immediately reestablished by the connection factory with the next broker. But... if I remove the broker from the cluster by simulating a BSOD, power failure, etc, no goodbye messages are sent (obviously) and the connected clients are left 'connected' to the dead broker and only reconnect to another broker after about 9 minutes.
    I read in the docs that the 'imqPingInterval' property can be used to test the client connections but it doesn't seem to be doing the trick. After I've cut the power to the broker's virtual machine, I'm seeing the ping messages in the logs, e.g.:
    FINEST: Outbound Packet:PING(54):296-127.0.1.1(bd:ea:13:9b:ae:a)-51155-1267024410861;BrokerAddress=10.59.148.9:7676(1082), ConnectionID=4090718717872600064, ReconnectEnabled: true, IsConnectedToHABroker: falseAt this point, telnet cannot connect to 10.59.148.9:7676 so it's definitely gone.
    Finally after about 9 minutes, the following shows up in the logs:
    24-Feb-2010 15:26:26 com.sun.messaging.jmq.jmsclient.ExceptionHandler throwJMSException
    FINER: I501
    com.sun.messaging.jms.JMSException: [C4002]: Read packet failed. - cause: java.net.SocketException: No route to host
            at com.sun.messaging.jmq.jmsclient.ExceptionHandler.getJMSException(ExceptionHandler.java:380)
            at com.sun.messaging.jmq.jmsclient.ExceptionHandler.handleException(ExceptionHandler.java:331)
            at com.sun.messaging.jmq.jmsclient.ProtocolHandler.readPacket(ProtocolHandler.java:1796)
            at com.sun.messaging.jmq.jmsclient.ReadChannel.run(ReadChannel.java:1197)
            at java.lang.Thread.run(Thread.java:619)
    Caused by: java.net.SocketException: No route to host
            at java.net.SocketInputStream.socketRead0(Native Method)
            at java.net.SocketInputStream.read(SocketInputStream.java:129)
            at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
            at java.io.BufferedInputStream.read1(BufferedInputStream.java:258)
            at java.io.BufferedInputStream.read(BufferedInputStream.java:317)
            at com.sun.messaging.jmq.io.ReadOnlyPacket.readFully(ReadOnlyPacket.java:271)
            at com.sun.messaging.jmq.io.ReadOnlyPacket.readFixedHeader(ReadOnlyPacket.java:191)
            at com.sun.messaging.jmq.io.ReadOnlyPacket.readPacket(ReadOnlyPacket.java:151)
            at com.sun.messaging.jmq.io.ReadWritePacket.readPacket(ReadWritePacket.java:82)
            at com.sun.messaging.jmq.jmsclient.ProtocolHandler.readPacket(ProtocolHandler.java:1758)
            ... 2 more
    24-Feb-2010 15:26:26 com.sun.messaging.jmq.jmsclient.ConnectionImpl logLifeCycle
    FINE: Connection closed.  The connection is closed due to a network problem, broker crashed, or internal error: BrokerAddress=10.59.148.9:7676(1082), ConnectionID=4090718717872604160, ReconnectEnabled: true, IsConnectedToHABroker: falseAnd we can then send/receive again.
    The connection factory details are as follows:
    Class:                  com.sun.messaging.ConnectionFactory
    getVERSION():           3.0
    isReadonly():           false
    getProperties():        {imqOverrideJMSPriority=false, imqConsumerFlowLimit=1000, imqOverrideJMSExpiration=false, imqAddressListIterations=1, imqLoadMaxToServerSession=true, imqConnectionType=TCP, imqPingInterval=30, imqSetJMSXUserID=false, imqConfiguredClientID=, imqSSLProviderClassname=com.sun.net.ssl.internal.ssl.Provider, imqJMSDeliveryMode=PERSISTENT, imqConnectionFlowLimit=1000, imqConnectionURL=http://localhost/imq/tunnel, imqBrokerServiceName=, imqJMSPriority=4, imqBrokerHostName=localhost, imqJMSExpiration=0, imqAckOnProduce=, imqEnableSharedClientID=false, imqAckTimeout=10000, imqAckOnAcknowledge=, imqConsumerFlowThreshold=50, imqDefaultPassword=guest, imqQueueBrowserMaxMessagesPerRetrieve=1000, imqDefaultUsername=guest, imqReconnectEnabled=true, imqConnectionFlowCount=100, imqAddressListBehavior=PRIORITY, imqReconnectAttempts=1, imqSetJMSXAppID=false, imqConnectionHandler=com.sun.messaging.jmq.jmsclient.protocol.tcp.TCPStreamHandler, imqSetJMSXRcvTimestamp=false, imqBrokerServicePort=0, imqDisableSetClientID=false, imqSetJMSXConsumerTXID=false, imqOverrideJMSDeliveryMode=false, imqBrokerHostPort=7676, imqQueueBrowserRetrieveTimeout=60000, imqSetJMSXProducerTXID=false, imqSSLIsHostTrusted=false, imqConnectionFlowLimitEnabled=false, imqReconnectInterval=3000, imqAddressList=mq://10.59.148.9,mq://10.59.148.17,mq://10.59.148.11, imqOverrideJMSHeadersToTemporaryDestinations=false}The brokers are virtualbox guests running 'WinXP 64' and the producer and consumer are both running on Ubuntu 9.10.
    Handling a machine failure seems like a pretty standard scenario for a cluster so I'm sure there's something I've mis-configured.
    Is there something I can do to fix this?
    If not, the only other alternatives I see are to either:
    1) Try the HA custer. But I'm not sure this will fix the problem if the client is waiting on a dead socket.
    2) Lower the message ack to something like 10 seconds and reconnect to the cluster for a retry every time we get a JMSException. But this is obviously not ideal either.
    Any suggestions would be great.
    Thanks,
    Nick

    Hi Nigel,
    The producer is configured to send messages every 5 seconds and the consumer is sitting with a message listener on the queue.
    The producer send is failing each time with the following trace...
    5-Feb-2010 12:13:19 com.sun.messaging.jmq.jmsclient.ProtocolHandler writePacketNoAck
    FINEST: Outbound Packet:OBJECT_MESSAGE(5):30-127.0.1.1(a2:3f:b1:e2:fd:33)-45573-1267099999075;BrokerAddress=10.59.148.9:7676(1184), ConnectionID=882185479630361088, ReconnectEnabled: true, IsConnectedToHABroker: false
    25-Feb-2010 12:13:19 com.sun.messaging.jmq.jmsclient.ProtocolHandler writePacketNoAck
    FINEST: sent packet ... OBJECT_MESSAGE(5):30-127.0.1.1(a2:3f:b1:e2:fd:33)-45573-1267099999075
    25-Feb-2010 12:13:19 com.sun.messaging.jmq.jmsclient.ProtocolHandler writePacketNoAck
    FINEST: Outbound Packet:PING(54):31-127.0.1.1(eb:66:36:db:8:79)-45574-1267099999156;BrokerAddress=10.59.148.9:7676(1184), ConnectionID=882185479630365184, ReconnectEnabled: true, IsConnectedToHABroker: false
    25-Feb-2010 12:13:19 com.sun.messaging.jmq.jmsclient.ProtocolHandler writePacketNoAck
    FINEST: sent packet ... PING(54):31-127.0.1.1(eb:66:36:db:8:79)-45574-1267099999156
    25-Feb-2010 12:13:24 com.sun.messaging.jmq.jmsclient.ProtocolHandler writePacketNoAck
    FINEST: Outbound Packet:PING(54):32-127.0.1.1(a2:3f:b1:e2:fd:33)-45573-1267100004156;BrokerAddress=10.59.148.9:7676(1184), ConnectionID=882185479630361088, ReconnectEnabled: true, IsConnectedToHABroker: false
    25-Feb-2010 12:13:24 com.sun.messaging.jmq.jmsclient.ProtocolHandler writePacketNoAck
    FINEST: sent packet ... PING(54):32-127.0.1.1(a2:3f:b1:e2:fd:33)-45573-1267100004156
    25-Feb-2010 12:13:24 com.sun.messaging.jmq.jmsclient.ProtocolHandler writePacketNoAck
    FINEST: Outbound Packet:PING(54):33-127.0.1.1(eb:66:36:db:8:79)-45574-1267100004156;BrokerAddress=10.59.148.9:7676(1184), ConnectionID=882185479630365184, ReconnectEnabled: true, IsConnectedToHABroker: false
    25-Feb-2010 12:13:24 com.sun.messaging.jmq.jmsclient.ProtocolHandler writePacketNoAck
    FINEST: sent packet ... PING(54):33-127.0.1.1(eb:66:36:db:8:79)-45574-1267100004156
    25-Feb-2010 12:13:29 com.sun.messaging.jmq.jmsclient.AckQueue printInfo
    WARNING: [W2003]: Broker not responding [OBJECT_MESSAGE(5)] for 10 seconds. Still trying..., broker addr=10.59.148.9:7676(1184), connectionID=882185479630361088, clientID=null, consumerID=14
    25-Feb-2010 12:13:29 com.sun.messaging.jmq.jmsclient.ExceptionHandler throwJMSException
    FINER: I501
    com.sun.messaging.jms.JMSException: [C4000]: Packet acknowledge failed. user=guest, broker=10.59.148.9:7676(1184)
         at com.sun.messaging.jmq.jmsclient.ProtocolHandler.writePacketWithAck(ProtocolHandler.java:712)
         at com.sun.messaging.jmq.jmsclient.ProtocolHandler.writePacketWithAck(ProtocolHandler.java:575)
         at com.sun.messaging.jmq.jmsclient.ProtocolHandler.writePacketWithReply(ProtocolHandler.java:430)
         at com.sun.messaging.jmq.jmsclient.ProtocolHandler.writeJMSMessage(ProtocolHandler.java:1919)
         at com.sun.messaging.jmq.jmsclient.WriteChannel.sendWithFlowControl(WriteChannel.java:154)
         at com.sun.messaging.jmq.jmsclient.WriteChannel.writeJMSMessage(WriteChannel.java:107)
         at com.sun.messaging.jmq.jmsclient.SessionImpl.writeJMSMessage(SessionImpl.java:770)
         at com.sun.messaging.jmq.jmsclient.MessageProducerImpl.writeJMSMessage(MessageProducerImpl.java:203)
         at com.sun.messaging.jmq.jmsclient.MessageProducerImpl.writeJMSMessage(MessageProducerImpl.java:192)
         at com.sun.messaging.jmq.jmsclient.MessageProducerImpl.send(MessageProducerImpl.java:624)
         at com.sun.messaging.jmq.jmsclient.QueueSenderImpl.send(QueueSenderImpl.java:97)
         at uk.co.mydomain.jms.ClientJmsConnection.sendMessage(ClientJmsConnection.java:278)
         at uk.co.mydomain.jms.JmsClientMessageBroker.sendMessage(JmsClientMessageBroker.java:147)
         at test.uk.co.mydomain.messaging.quicktest.QuickTest$2.run(QuickTest.java:67)Is there any trace I could get that may be useful?
    Thanks,
    Nick

  • Running a Corba Client as a Java Stored Procedure

    Hi,
    I�m trying to use a Java Stored Procedure running as a Corba Client. I want to use the built in Visibroker ORB on Oracle side and JacORB (or others) on the server side.
    How can I init the ORB and get a naming service running not in Oracle but on the server side? Also which jar�s do I need to load into the db with (loadjava) to run the visibroker orb inside the Java Stored Procedure Client?
    I�m using Oracle 8.1.7.
    Thanks for help ;)

    By the way I�m using ORACLE 8.1.7.

  • How can i implement RMI Activatable for CORBA clients

    Hi, i need some help to implement RMI Activatable for CORBA clients, i was reading the CORBA specifications, that is used PortableRemoteObject.exportObject(this) in the server contructor. but in hte moment to execute rmic -iiop returns the next error:
    error: java.rmi.server.RemoteServer is not a valid remote implementation: has no
    remote interfaces.
    1 error
    so. my question is. how can i implent this funtionality on my RMI server that extends Activatable class ?
    i would like that you could give me some help, about it
    greetings !!

    You can't.

  • Importing classes to CORBA-client fails

    Hi!
    I'm trying to compile a simple CORBA-client but importing the classes fails.
    Test.java:1: package org.omg does not exist
    I'm running j2se 1.4 and j2ee 1.3.1
    My classpath:
    C:\Program Files\jdkee\lib\j2ee.jar;C:\j2sdk\jre\lib\rt.jar;C:\j2sdk\lib\dt.jar;C:\j2sdk\lib\tools.jar;C:\j2sdk\jre\lib\ext\dnsns.jar;C:\j2sdk\jre\lib\ext\ldapsec.jar;C:\j2sdk\jre\lib\ext\localedata.jar;C:\j2sdk\jre\lib\ext\sunjce_provider.jar;C:\j2sdk\lib\resin-ejb.jar;C:\j2sdk\lib\resin.jar;C:\java\JC\Inl2\Inl2Bean.jar;C:\Program Files\jdkee\lib\jhall.jar;C:\Program Files\jdkee\lib\ejb10deployment.jar;C:\Program Files\jdkee\lib\j2ee-ri-svc.jar;C:\Program Files\jdkee\lib\j2eetools.jar
    Any help would be appreciated.
    Henrik

    The problem is your class path.
    Most likely either you do not have it set at all or you are pointing at a child directory rather than the root directory.
    The package resides in the same file as the Servant,Same file? You can't have two packages in the same file. And if you meant 'directory' then you might as well move it, because trying to keep two packages in the same directory, although possible, is more trouble than it is worth.

  • Problem using CORBA clients with RMI/EJB servers..!!!???

    Hi,
    I have a question on using EJB / or RMI servers with CORBA clients using
    RMI-IIOP transport, which in theory should work, but in practice has few
    glitches.
    Basically, I have implemented a very simple server, StockTreader, which
    looks up for a symbol and returns a 'Stock' object. In the first example, I
    simplified the 'Stock' object to be a mere java.lang.String, so that lookup
    would simply return the 'synbol'.
    Then I have implemented the above, as an RMI-IIOP server (case 1) and a
    CORBA server (case 2) with respective clients, and the pair of
    client-servers work fine as long as they are CORBA-to-CORBA and RMI-to-RMI.
    But the problem arises when I tried using the RMI server (via IIOP) with the
    CORBA client, when the client tries to narrow the object ref obtained from
    the naming service into the CORBA idl defined type (StockTrader) it ends up
    with a class cast exception.
    This is what I did to achieve the above results:
    [1] Define an RMI interface StockTrader.java (extending java.rmi.Remote)
    with the method,
    public String lookup( String symbol) throws RMIException;
    [2] Implement the StorckTrader interface (on a PortableRemoteObject derived
    class, to make it IIOP compliant), and then the server to register the stock
    trader with COS Naming service as follows:
    String homeName =....
    StockTraderImpl trader =new StockTraderImpl();
    System.out.println("binding obj <" homeName ">...");
    java.util.Hashtable ht =new java.util.Hashtable();
    ht.put("java.naming.factory.initial", args[2]);
    ht.put("java.naming.provider.url", args[3]);
    Context ctx =new InitialContext(ht);
    ctx.rebind(homeName, trader);
    [3] Generate the RMI-IIOP skeletons for the Implementation class,
    rmic -iiop stock.StockTraderImpl
    [4] generate the IDL for the RMI interface,
    rmic -idl stock.StockTraderImpl
    [5] Generate IDL stubs for the CORBA client,
    idlj -v -fclient -emitAll StockTraderImpl.idl
    [6] Write the client to use the IDL-defined stock trader,
    String serverName =args[0];
    String symList =args[1];
    StockClient client =new StockClient();
    System.out.println("init orb...");
    ORB orb =ORB.init(args, null);
    System.out.println("resolve init name service...");
    org.omg.CORBA.Object objRef
    =orb.resolve_initial_references("NameService");
    NamingContext naming =NamingContextHelper.narrow(objRef);
    ... define a naming component etc...
    org.omg.CORBA.Object obj =naming.resolve(...);
    System.out.println("narrow objRef: " obj.getClass() ": " +obj);
    StockTrader trader =StockTraderHelper.narrow(obj);
    [7] Compile all the classes using Java 1.2.2
    [8] start tnameserv (naming service), then the server to register the RMI
    server obj
    [9] Run the CORBA client, passing it the COSNaming service ref name (with
    which the server obj is registered)
    The CORBA client successfully finds the server obj ref in the naming
    service, the operation StockTraderHelper.narrow() fails in the segment
    below, with a class cast exception:
    org.omg.CORBA.Object obj =naming.resolve(...);
    StockTrader trader =StockTraderHelper.narrow(obj);
    The <obj> returned by naming service turns out to be of the type;
    class com.sun.rmi.iiop.CDRInputStream$1
    This is of the same type when stock trader object is registered in a CORBA
    server (as opposed to an RMI server), but works correctly with no casting
    excpetions..
    Any ideas / hints very welcome.
    thanks in advance,
    -hari

    On the contrary... all that is being said is that we needed to provide clearer examples/documentation in the 5.1.0 release. There will be no difference between the product as found in the service pack and the product found in the 5.1.1. That is, the only substantive will be that 5.1.1 will also
    include the examples.
    "<=one way=>" wrote:
    With reference to your and other messages, it appears that one should not
    expect that WLS RMI-IIOP will work in a complex real-life system, at least
    not now. In other words, support for real-life CORBA clients is not an
    option in the current release of WLS.
    TIA
    "Eduardo Ceballos" <[email protected]> wrote in message
    news:[email protected]...
    We currently publish an IDL example, even though the IDL programmingmodel in Java is completely non-functional, in anticipation of the support
    needs for uses who need to use IDL to talk to the Weblogic server,
    generically. This example illustrates the simplest connectivity; it does not
    address how
    to integrate CORBA and EJB, a broad topic, fraught with peril, imo. I'llnote in passing that, to my knowledge, none of the other vendors attempt
    this topic either, a point which is telling if all the less happy to hear.
    For the record then, what is missing from our distribution wrt RMI-IIOPare a RMI-IIOP example, an EJB-IIOP example, an EJB-C++. In this you are
    correct; better examples are forth coming.
    Still, I would not call our RMI-IIOP implementation fragile. I would saythat customers have an understandably hard time accepting that the IDL
    programming model is busted; busted in the sense that there are no C++
    libraries to support the EJB model, and busted in the sense that there is
    simply no
    support in Java for an IDL interface to an EJB. Weblogic has nothing to doit being busted, although we are trying to help our customers deal with it
    in productive ways.
    For the moment, what there is is a RMI (over IIOP) programming model, aninherently Java to Java programming model, and true to that, we accept and
    dispatch IIOP request into RMI server objects. The way I look at it is this:
    it's just a protocol, like HTTP, or JRMP; it's not IDL and it has
    practically nothing to do with CORBA.
    ST wrote:
    Eduardo,
    Can you give us more details about the comment below:
    I fear that as soon as the call to narrow succeeds, the remainingapplication will fail to work correctly because it is too difficult ot
    use an idl client in java to work.It seems to me that Weblogic's RMI-IIOP is a very fragile
    implementation. We
    don't need a "HelloWorld" example, we need a concrete serious example(fully
    tested and seriously documented) that works so that we can get a betteridea
    on how to integrate CORBA and EJB.
    Thanks,
    Said
    "Eduardo Ceballos" <[email protected]> wrote in message
    news:[email protected]...
    Please post request to the news group...
    As I said, you must separate the idl related classes (class files and
    java
    files) from the rmi classes... in the rmic step, you must set a newtarget
    (as you did), emit the java files into that directory (it's not clearyou
    did this), then remove all the rmi class files from the class path... ifyou
    need to compile more classes at that point, copy the java files to theidl
    directly is you must, but you can not share the types in any way.
    I fear that as soon as the call to narrow succeeds, the remainingapplication will fail to work correctly because it is too difficult otuse
    an idl client in java to work.
    Harindra Rajapakshe wrote:
    Hi Eduardo,
    Thanks for the help. That is the way I compiled my CORBA client, by
    separating the IDL-generated stubs from the RMI ones, but still I
    get a
    CORBA.BAD_PARAM upon narrowing the client proxy to the interfacetype.
    Here's what I did;
    + Define the RMI interfaces, in this case a StockTrader interface.
    + Implement RMI interface by extendingjavax.rmi.PortableRemoteObject
    making
    it IIOP compliant
    + Implemnnt an RMI server, and compile using JDK1.2.2
    + use the RMI implementation to generate CORBA idl, using RMI-IIOPplugin
    utility rmic;
    rmic -idl -noValueMethods -always -d idl stock.StockTraderImpl
    + generate Java mappings to the IDL generated above, using RMI-IIOPplugin
    util,
    idlj -v -fclient -emitAll -tf src stocks\StockTrader.idl
    This creates source for the package stock and also
    org.omg.CORBA.*
    package, presumably IIOP type marshalling
    + compile all classes generated above using JDK1.2.2
    + Implement client (CORBA) using the classes generated above, NOTthe
    RMI
    proxies.
    + start RMI server, with stockTrader server obj
    + start tnameserv
    + start CORBA client
    Then the client errors when trying to narrow the obj ref from the
    naming
    service, into the CORBA IDL defined interface using,
    org.omg.CORBA.Object obj =naming.resolve(nn);
    StockTrader trader =StockTraderHelper.narrow(obj); // THIS
    ERRORS..!!!
    throwing a CORBA.BAD_PARAM exception.
    any ideas..?
    Thanks in advance,
    -hari
    ----- Original Message -----
    From: Eduardo Ceballos <[email protected]>
    Newsgroups: weblogic.developer.interest.rmi-iiop
    To: Hari Rajapakshe <[email protected]>
    Sent: Wednesday, July 26, 2000 4:38 AM
    Subject: Re: problem using CORBA clients with RMI/EJBservers..!!!???
    Please see the post on june 26, re Errors compiling... somewherein
    there,
    I suspect, you are referring to the rmi class file when you are
    obliged
    to
    completely segregate these from the idl class files.
    Hari Rajapakshe wrote:
    Hi,
    I have a question on using EJB / or RMI servers with CORBA
    clients
    using
    RMI-IIOP transport, which in theory should work, but in practice
    has
    few
    glitches.
    Basically, I have implemented a very simple server,
    StockTreader,
    which
    looks up for a symbol and returns a 'Stock' object. In the firstexample, I
    simplified the 'Stock' object to be a mere java.lang.String, so
    that
    lookup
    would simply return the 'synbol'.
    Then I have implemented the above, as an RMI-IIOP server (case
    1)
    and a
    CORBA server (case 2) with respective clients, and the pair of
    client-servers work fine as long as they are CORBA-to-CORBA andRMI-to-RMI.
    But the problem arises when I tried using the RMI server (via
    IIOP)
    with
    the
    CORBA client, when the client tries to narrow the object ref
    obtained
    from
    the naming service into the CORBA idl defined type (StockTrader)
    it
    ends
    up
    with a class cast exception.
    This is what I did to achieve the above results:
    [1] Define an RMI interface StockTrader.java (extending
    java.rmi.Remote)
    with the method,
    public String lookup( String symbol) throws RMIException;
    [2] Implement the StorckTrader interface (on a
    PortableRemoteObject
    derived
    class, to make it IIOP compliant), and then the server to
    register
    the
    stock
    trader with COS Naming service as follows:
    String homeName =....
    StockTraderImpl trader =new StockTraderImpl();
    System.out.println("binding obj <" homeName ">...");
    java.util.Hashtable ht =new java.util.Hashtable();
    ht.put("java.naming.factory.initial", args[2]);
    ht.put("java.naming.provider.url", args[3]);
    Context ctx =new InitialContext(ht);
    ctx.rebind(homeName, trader);
    [3] Generate the RMI-IIOP skeletons for the Implementation
    class,
    rmic -iiop stock.StockTraderImpl
    [4] generate the IDL for the RMI interface,
    rmic -idl stock.StockTraderImpl
    [5] Generate IDL stubs for the CORBA client,
    idlj -v -fclient -emitAll StockTraderImpl.idl
    [6] Write the client to use the IDL-defined stock trader,
    String serverName =args[0];
    String symList =args[1];
    StockClient client =new StockClient();
    System.out.println("init orb...");
    ORB orb =ORB.init(args, null);
    System.out.println("resolve init name service...");
    org.omg.CORBA.Object objRef
    =orb.resolve_initial_references("NameService");
    NamingContext naming=NamingContextHelper.narrow(objRef);
    ... define a naming component etc...
    org.omg.CORBA.Object obj =naming.resolve(...);
    System.out.println("narrow objRef: " obj.getClass() ":"
    +obj);
    StockTrader trader =StockTraderHelper.narrow(obj);
    [7] Compile all the classes using Java 1.2.2
    [8] start tnameserv (naming service), then the server to
    register
    the
    RMI
    server obj
    [9] Run the CORBA client, passing it the COSNaming service ref
    name
    (with
    which the server obj is registered)
    The CORBA client successfully finds the server obj ref in the
    naming
    service, the operation StockTraderHelper.narrow() fails in thesegment
    below, with a class cast exception:
    org.omg.CORBA.Object obj =naming.resolve(...);
    StockTrader trader =StockTraderHelper.narrow(obj);
    The <obj> returned by naming service turns out to be of the
    type;
    class com.sun.rmi.iiop.CDRInputStream$1
    This is of the same type when stock trader object is registeredin a
    CORBA
    server (as opposed to an RMI server), but works correctly with
    no
    casting
    excpetions..
    Any ideas / hints very welcome.
    thanks in advance,
    -hari

  • Corba client

    hi all,
    i m working in a company my boss give me a IDL file and a URL.
    on base of it i made a corba client.
    but it gives me following error
    handle for corba object=com.sun.corba.se.internal.iiop.CDRInputStream_1_0$1:IOR:0000000000000001
    00000000000000010000000000000054000102000000000b3137322e31362e322e3400000c0300000000000b4e616d65536572766963650000000001000000010000002000
    Exception in thread "main" java.lang.StackOverflowError
    at com.sun.corba.se.internal.iiop.CDRInputStream_1_2.alignAndCheck(CDRInputStream_1_2.java:18)
    at com.sun.corba.se.internal.iiop.CDRInputStream_1_0.read_long(CDRInputStream_1_0.java:385)
    at com.sun.corba.se.internal.iiop.CDRInputStream_1_0.read_ulong(CDRInputStream_1_0.java:403)
    at com.sun.corba.se.internal.iiop.CDRInputStream.read_ulong(CDRInputStream.java:177)
    at com.sun.corba.se.internal.core.CodeSetComponentInfo$CodeSetComponent.read(CodeSetComponentInfo.java:48)
    at com.sun.corba.se.internal.core.CodeSetComponentInfo.read(CodeSetComponentInfo.java:107)
    at com.sun.corba.se.internal.ior.TaggedComponentFactories$2.readContents(TaggedComponentFactories.java:66)
    at com.sun.corba.se.internal.ior.ComponentFactoryBase.create(TaggedComponentFactories.java:30)
    at com.sun.corba.se.internal.ior.TaggedComponentFactoryFinder.create(TaggedComponentFactoryFinder.java:64)
    at com.sun.corba.se.internal.ior.IdEncapsulationContainerBase.readIdEncapsulationSequence(IdEncapsulationContainerBase.java:44)
    at com.sun.corba.se.internal.ior.IIOPProfile.<init>(IIOPProfile.java:93)
    at com.sun.corba.se.internal.ior.TaggedProfileFactoryFinder.create(TaggedProfileFactoryFinder.java:49)
    at com.sun.corba.se.internal.ior.IdEncapsulationContainerBase.readIdEncapsulationSequence(IdEncapsulationContainerBase.java:44)
    at com.sun.corba.se.internal.ior.IOR.<init>(IOR.java:162)
    at com.sun.corba.se.internal.core.IOR.<init>(IOR.java:224)
    at com.sun.corba.se.internal.iiop.messages.ReplyMessage_1_2.read(ReplyMessage_1_2.java:154)
    at com.sun.corba.se.internal.iiop.IIOPInputStream.unmarshalHeader(IIOPInputStream.java:123)
    at com.sun.corba.se.internal.iiop.IIOPConnection.getResponse(IIOPConnection.java:668)
    at com.sun.corba.se.internal.iiop.IIOPOutputStream.invoke(IIOPOutputStream.java:121)
    at com.sun.corba.se.internal.iiop.ClientRequestImpl.invoke(ClientRequestImpl.java:76)
    at com.sun.corba.se.internal.corba.ClientDelegate.invoke(ClientDelegate.java:235)
    at com.sun.corba.se.internal.corba.ClientDelegate.invoke(ClientDelegate.java:277)
    at com.sun.corba.se.internal.corba.ClientDelegate.is_a(ClientDelegate.java:840)
    at com.sun.corba.se.internal.corba.ClientDelegate.is_a(ClientDelegate.java:849)
    at com.sun.corba.se.internal.corba.ClientDelegate.is_a(ClientDelegate.java:849)
    at com.sun.corba.se.internal.corba.ClientDelegate.is_a(ClientDelegate.java:849)
    at com.sun.corba.se.internal.corba.ClientDelegate.is_a(ClientDelegate.java:849)
    at com.sun.corba.se.internal.corba.ClientDelegate.is_a(ClientDelegate.java:849)
    at com.sun.corba.se.internal.corba.ClientDelegate.is_a(ClientDelegate.java:849)
    at com.sun.corba.se.internal.corba.ClientDelegate.is_a(ClientDelegate.java:849)
    at com.sun.corba.se.internal.corba.ClientDelegate.is_a(ClientDelegate.java:849)
    at com.sun.corba.se.internal.corba.ClientDelegate.is_a(ClientDelegate.java:849)
    at com.sun.corba.se.internal.corba.ClientDelegate.is_a(ClientDelegate.java:849)
    at com.sun.corba.se.internal.corba.ClientDelegate.is_a(ClientDelegate.java:849)
    at com.sun.corba.se.internal.corba.ClientDelegate.is_a(ClientDelegate.java:849)
    at com.sun.corba.se.internal.corba.ClientDelegate.is_a(ClientDelegate.java:849)
    at com.sun.corba.se.internal.corba.ClientDelegate.is_a(ClientDelegate.java:849)
    at com.sun.corba.se.internal.corba.ClientDelegate.is_a(ClientDelegate.java:849)
    at com.sun.corba.se.internal.corba.ClientDelegate.is_a(ClientDelegate.java:849)

    hi all,
    i did some more work but now it gives following error
    Corba Object Reference=com.sun.corba.se.internal.iiop.CDRInputStream_1_0$1:IOR:000000000000000100000000000000010000000000000
    ERROR : org.omg.CORBA.OBJECT_NOT_EXIST: vmcid: 0x49540000 minor code: 256 completed: No
    org.omg.CORBA.OBJECT_NOT_EXIST: vmcid: 0x49540000 minor code: 256 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:274)
    at java.lang.Class.newInstance0(Class.java:306)
    at java.lang.Class.newInstance(Class.java:259)
    at com.sun.corba.se.internal.iiop.messages.ReplyMessage_1_2.getSystemException(ReplyMessage_1_2.java:90)
    at com.sun.corba.se.internal.iiop.ClientResponseImpl.getSystemException(ClientResponseImpl.java:105)
    at com.sun.corba.se.internal.corba.ClientDelegate.invoke(ClientDelegate.java:309)
    at com.sun.corba.se.internal.corba.ClientDelegate.is_a(ClientDelegate.java:840)
    at org.omg.CORBA.portable.ObjectImpl._is_a(ObjectImpl.java:112)
    at Tabs.APIServantHelper.narrow(APIServantHelper.java:63)
    at client.main(client.java:34)

  • Corba Client to a Session Bean deployed in OC4J

    Hello!
    I'm looking for an example showing how to make a call to some EJBs deployed in OC4J (Orion) through a plain CORBA call in java?... Is this possible? I know that regular EJB uses RMI over IIOP based on CORBA... is it possible to use only the CORBA/iiop layer to communicate with an EJB deployed in OC4J?
    If you have any corba client code as an example, it would be very appreciated,
    Thanks!
    null

    <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica">quote:</font><HR>Originally posted by Pierre ([email protected]):
    Hello!
    I'm looking for an example showing how to make a call to some EJBs deployed in OC4J (Orion) through a plain CORBA call in java?... Is this possible? I know that regular EJB uses RMI over IIOP based on CORBA... is it possible to use only the CORBA/iiop layer to communicate with an EJB deployed in OC4J?
    If you have any corba client code as an example, it would be very appreciated,
    Thanks!
    <HR></BLOCKQUOTE>
    I am reasonably certain that OCJ4 doesn't support RMI over IIOP, only ORMI, which is the native wire protocol from Orion, and won't support this until they release the final version of EJB 2.0 support in OCJ4.
    Translating the CORBA/RMI calls to EJB/ORMI calls would be a tad bit on the tricky side. I believe you can do what you want with something like Borland's App server...
    null

  • CORBA clients - EJBs in WLS

    This is the situation we have:
    1) We must support both C++ and Java clients that will be requesting
    services from our EJBs running in WLS. The clients are internal apps running
    in different companies and we would prefer to avoid requiring our clients to
    use an ORB by a specific vendor. At the same time we do not want to deal
    with potential problems related to the implementation differences by
    different ORB vendors. What would be the best way to handle this situation?
    2) WLS documentation has the following paragraph:
    "WebLogic RMI over IIOP is the framework for EJB-to-CORBA mapping support.
    Currently, however, a standard for passing user identity -- required to
    implement EJB-to-CORBA mapping -- does not exist and the requirement for
    transaction propagation from the client is in question. While RMI over IIOP
    does allow CORBA clients to access EJBeans, the following services will not
    be available:
    EJB transaction services
    EJB security services"
    Does this mean that:
    2.1) CORBA client initiated transactions will not be supported,
    everything will work
    2.2) None of the EJB security services will be available in EJB method
    called by a CORBA client (i.e. getCallerPrincipal() and isCallerInRole()
    will fail)
    Thanks in advance

    Generally speaking, applications are built around common resources, namely the databases and security realms. Here, it seems you can't make any assumptions about the client at all, so you render useless the ability to propagate the transaction and security context; the upshot being that you couldn't
    use it, even if we provided support for it, which we don't.
    You also want to be shielded from all the incompatibilities between the ORB vendors, that is, you want to provide a client interface to call into an ejb, that will work irrespective of the orb the client runs. From this, I gather that you can have a 1.0 or 2.1 Tao, Visibroker, IONA, etc, orb as a
    client, so you can not use objects in the interface.
    To accomplish this, you need to do the following:
    -- design the client interface so that it is stateless
    -- design the interface so that it does not include any objects or structs... actually, you can use structs, it's just more complicated.
    -- use server side transactions only (this follows from the statelessness of the interface)
    -- either assume that ssl will be in place by the time you need it or include a token in the interface for the authenticated user
    Please, read on...
    "<=one way=>" wrote:
    This is the situation we have:
    1) We must support both C++ and Java clients that will be requesting
    services from our EJBs running in WLS. The clients are internal apps running
    in different companies and we would prefer to avoid requiring our clients to
    use an ORB by a specific vendor. At the same time we do not want to deal
    with potential problems related to the implementation differences by
    different ORB vendors. What would be the best way to handle this situation?
    We support IIOP as the transport. To call into any remote interface, you must provide a java.rmi.Remote interface, and code generate the IDL from that interface using weblogic.rmic. If you follow the above strictures, and use the -noValueTypes discussed earlier, you should be able to make progress
    without the promised examples.... or you can wait for the examples.
    >
    2) WLS documentation has the following paragraph:
    "WebLogic RMI over IIOP is the framework for EJB-to-CORBA mapping support.
    Currently, however, a standard for passing user identity -- required to
    implement EJB-to-CORBA mapping -- does not exist and the requirement for
    transaction propagation from the client is in question. While RMI over IIOP
    does allow CORBA clients to access EJBeans, the following services will not
    be available:
    EJB transaction services
    EJB security services"
    Does this mean that:
    2.1) CORBA client initiated transactions will not be supported,
    everything else (sic) will workYes.
    >
    2.2) None of the EJB security services will be available in EJB method
    called by a CORBA client (i.e. getCallerPrincipal() and isCallerInRole()
    will fail)No. The call will not fail, they will either provide values that correspond to the default or the user configured by the weblogic.iiop.user property.
    >
    >
    Thanks in advance

  • CORBA clients to EJB servers

    According to the article "Enterprise JavaBeans Components and CORBA Clients: A Developer Guide", CORBA clients can directly access an EJB bean via IIOP.
    The procedure is like the followings:
    1) Generate IDL files from EJB remote classes(Logger.class, LoggerHome.class).
    2) Deliver IDL files to CORBA clients.
    3) CORBA clients comple IDL files to a specific language(i.e., C++, Java, ...)
    I used 'rmic', distributed with J2SDK 1.3 and 1.4, as a Java-to-IDL translator.
    > rmic -idl -noValueMethods -classpath %j2ee_home%\lib\j2ee.jar;. ejbinterop.Logger ejbinterop.LoggerHome
    But I encountered many problems while compiling Java source files, generated by 'idlj' of J2SDK 1.3 and 1.4, after the third step.
    Anyone else experienced the same situation?
    Any help will be appreciated.

    You most likely won't be able to make the "round trip" of
    Java -> IDL -> Java
    I believe the IDL to Java and Java to IDL specs at the OMG say that it's unsupported.

  • Client reconnect takes long when first node is not available

    Hi guys,
    I am looking for a way how to "speed up" client reconnect in following scenario:
    I have two brokers running in HA cluster configured against a DB2 database as storage for messages. I configured JNDI with a connection factory pointing to both clusters:
    imqAddressList = mq://localhost:7676,mq://localhost7677
    imqReconnectAttempts = 0
    On the client side I lookup the connection factory from JNDI and per request (or in other cases for more client requests) I create a connection from the factory. When I shut down first broker, second will correctly take over. The problem is that when I make new request it tries to create new connection from the same factory but first try will be timeouted because first broker is down. It takes another 3seconds to create correct connection to second broker. So every request until first broker is up again will take 3 seconds.
    I looked into the code and it doesn't seem there is a way how to configure it. Can you give me a hint in which direction to go? Should I :
    - implement a connection pool for JMS or
    - extend connection factory so it will change the order of addresses
    - hack it somewhere directly in the code?
    Many thanks.
    P.S. Running OpenMQ 4.2 in Spring with Atomikos transaction manager
    Edited by: eldzi on Jan 20, 2009 11:23 AM

    Invalidating connection factory is not possible because I received it from JNDI. The RANDOM stuff will partially help but still it will always take time for each connection created. For the moment it looks that implementing a connection pool is the best solution. It will reduce the time because there will be only one reconnect for a connection, then it will be prepared in the pool for reuse.

  • How corba client and server find Naming service

    hello
    i want to ask how corba client and server find the Naming service ?
    10x

    By using a well-known port (I think the default for JavaIDL's NS is 1049) on a well-known address (localhost).
    As these values are not really standard, you can specify them when starting the server and client (+-ORBInitialPort 1050 -ORBInitialHost localhost+). See the documentation .

  • OC4J10.1.3.1 and OC4J10.1.3 as Corba Client to Visibroker Issue

    Hi,
    I try to use OC4J as a Corba client to connect to Visibroker.
    It works on 0C4J10.1.3.1 but does not work with 0C4J10.1.3 and throws following exception :
    java.lang.RuntimeException: com.inprise.vbroker.PortableInterceptor.ORBInitInfoImplExt
    07/05/03 23:55:26 at oracle.oc4j.corba.iiop.server.IIOPInitializer.post_init(IIOPInitializer.java:89)
    07/05/03 23:55:26 at com.inprise.vbroker.orb.ORB.initialize(ORB.java:1160)
    07/05/03 23:55:26 at com.inprise.vbroker.orb.ORB.set_parameters(ORB.java:1332)
    07/05/03 23:55:26 at org.omg.CORBA.ORB.init(ORB.java:337)
    07/05/03 23:55:26 java.lang.NullPointerException
    07/05/03 23:55:26 at com.orangecaraibe.commonapi.webservices.cmsapi.CMSAPIEndPoint.executeCMSCommand(Unknown Source)
    07/05/03 23:55:26 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    07/05/03 23:55:26 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    07/05/03 23:55:26 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    07/05/03 23:55:26 at java.lang.reflect.Method.invoke(Method.java:585)
    07/05/03 23:55:26 at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)
    07/05/03 23:55:26 at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)
    07/05/03 23:55:26 at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
    07/05/03 23:55:26 at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
    07/05/03 23:55:26 at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
    07/05/03 23:55:26 at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
    07/05/03 23:55:26 at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454)
    07/05/03 23:55:26 at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
    07/05/03 23:55:26 at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
    07/05/03 23:55:26 at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
    07/05/03 23:55:26 at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
    07/05/03 23:55:26 at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    07/05/03 23:55:26 at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:719)
    07/05/03 23:55:26 at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:376)
    07/05/03 23:55:26 at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:870)
    07/05/03 23:55:26 at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:451)
    07/05/03 23:55:26 at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:218)
    07/05/03 23:55:26 at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:119)
    07/05/03 23:55:26 at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)
    07/05/03 23:55:26 at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
    07/05/03 23:55:26 at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:230)
    07/05/03 23:55:26 at oracle.oc4j.network.ServerSocketAcceptHandler.access$800(ServerSocketAcceptHandler.java:33)
    07/05/03 23:55:26 at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:831)
    07/05/03 23:55:26 at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:298)
    07/05/03 23:55:26 at java.lang.Thread.run(Thread.java:595)
    What are the differences between OC4J10.1.3.1 and OC4J10.1.3?
    Please advise
    JO

    Unable to establish connection. Error message: Exception occurred testing connection.
    Exception: java.sql.SQLException: Listener refused the connection with the following error:
    ORA-12514, TNS:listener does not currently know of service requested in connect descriptor The Connection descriptor used by the client was: //10.182.x.x:1521/orclThis error is coming from the database listener -- it looks to me like you need to alter the network configuration at the database level to support access via a SID instead of a Service Name.

  • JAVA CORBA CLIENT NO RESOURCE EXCEPTION

    I have developed a simple corba client in java to connect to an IACC server.
    But while initiating a connection to the server I am getting following exception. Please help...
    org.omg.CORBA.NO_RESOURCES: 10.x.x.x:900 in use Minor: 0 (0). Completed: not completed
    at gnu.CORBA.gnuRequest.submit(libgcj.so.7rh)
    at gnu.CORBA.IorDelegate.invoke(libgcj.so.7rh)
    at org.omg.CORBA.portable.ObjectImpl._invoke(libgcj.so.7rh)
    at org.omg.CosNaming._NamingContextExtStub.resolve_str(libgcj.so.7rh)
    at IACCTest.main(IACCTest.java:56)
    Here 10.x.x.x is my own server.
    My client code is:
    import IACC.Server;
    class IACCTest{
          public static void main(String args[]){
            String ip = "170.y.y.y";
            String port = "3075";
            String nameSrv = "IAMDN_ONM";
            Server _mServer=null;
            org.omg.CORBA.Object _obj = null;
         Properties iacc_properties = System.getProperties();
            String iacc_nsref = "corbaloc:iiop:1.2@" + ip +":"+ port +"/NameService";
            iacc_properties.put( "org.omg.CORBA.ORBInitRef", iacc_nsref );
            Sring iacc_name    = nameSrv  +"/"+ "IACC_Server";
            ORB  orb   = ORB.init(args, iacc_properties);
            org.omg.CORBA.Object objRef=null;
            try {
                objRef = orb.resolve_initial_references("NameService");
            } catch (InvalidName ex) {
                ex.printStackTrace();
            NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef);
            try {
                _obj = ncRef.resolve_str(iacc_name);//At this point the exception is coming
            } catch (CannotProceed ex) {
                ex.printStackTrace();
            } catch (org.omg.CosNaming.NamingContextPackage.InvalidName ex) {
                ex.printStackTrace();
            } catch (NotFound ex) {
                ex.printStackTrace();
            }catch(Exception ex){
                ex.printStackTrace();
            _mServer = ServerHelper.narrow(_obj);
    }Please help me resolve this issue as soon as possible......

    The stacktrace you posted definitely tells me that you're running gij/gcj. You're probably not using the java version you think you are. Try the "java -version" to show which one is run.
    You might want to give the full path to the JDK to ensure you're running the correct version. Or simply uninstall gcj/gij.

Maybe you are looking for