Is the WL 6.1 CORBA 2.0 compliant?

Hi there,
is the Weblogic 6.1 compliant with CORBA 2.0?
I found only the information that WL 6.1
supports the CORBA/IIOP 2.4.2 Specification.
Thanks a lot and have a nice weekend.
Andre

Andy Piper <[email protected]> wrote:
Tor Iver Wilhelmsen <[email protected]> writes:
"Andre Genser" <[email protected]> writes:
is the Weblogic 6.1 compliant with CORBA 2.0?Doubtful, since it's a J2EE container; BEA's product for CORBA
containers was called WLE, not sure what the name is now.
I found only the information that WL 6.1 supports the CORBA/IIOP
2.4.2 Specification.Only for IIOP transport for EJB purposes, AFAIK.That's a fair summary.
andy
-- OK. The means that is not possible to create our
own CORBA Server Objects.
For me it is ok because I prefer a very good and simple
EJB solution.
Thanks and I'm waiting for response :-)
Andre

Similar Messages

  • Does the bea content repository is JSR-170 compliant

    Hi ALL,
    Actually i want to use the bea content repository form my web service so should i go for SPI interface or i should use the JCR (Java Conetnt repository)API.
    But i would be able to use the JCR interface only if the bea content repository is JSR 170 compliant.
    Pls. suggest me the right way.
    Thanks.........

    The BEA repository is not yet JSR-170 compliant.

  • How to avoid the attach error  in sparc(64bit) driver complied with GCC

    If you want to avoid the error,failed to attach in sparc 64 bit driver ,
    you must add the flags .as bellowing.
    CC = /usr/local/bin/gcc
    LD = /usr/ucb/ld
    GCCFLAGS = -m64 -mcpu=v9 -fno-builtin
    CFLAGS = -O $(INCL) $(GCCFLAGS) -D_KERNEL -D_SYSCALL32 -Wall
    Ms. Anda
    MSN:[email protected]

    Vini160409, You totally Rule!
    I noted just one brief update:  I am using Access 2007, and my database has the suffix .accdb.  That uses a slightly different driver than the one described in your (very careful) instructions; fortunately, it was also available in the drivers in the program odbcad32.exe in the System 32 folder, so it was available to me when I added the new database from within the SysWOW64 folder.  This fix allows me to use LiveView with a ColdFusion site from within DreamWeaver.  Thanks much for making this public!

  • Why are there CORBA error messages -- COMM_FAILURE when using the orb obj?

    Hi Guys,
    I followed the tutorial http://download.oracle.com/javase/6/docs/technotes/guides/idl/GShome.html
    compiled and run the code. Everything works fine however whenever I use the ORB orb object I get the following message
    both in my Naming Service and the HelloServer output:
    2010-12-10 12:35:46.505 FINE Transport to 127.0.1.1:44100: stream closed on read < 0
    2010-12-10 12:35:46.506 FINE ServerGIOPConnection to 127.0.1.1:44100 (ec4a87): getMessage() -- COMM_FAILURE
    2010-12-10 12:35:46.507 FINE ServerGIOPConnection to 127.0.1.1:44100 (ec4a87): streamClosed()
    2010-12-10 12:35:46.508 FINE ServerGIOPConnection to 127.0.1.1:44100 (ec4a87): close()
    Why is this happening?
    I have also installed jacorb and added it to my class path and run the examples with:
    jaco -Djacorb.config.dir=. -DORBid=HelloClient HelloServer
    ns -Djacorb.naming.ior_filename=/home/zorg/Project/Java/CORBA/NameService/NS_Ref
    jaco -Djacorb.config.dir=. -DORBid=HelloClient HelloClient
    I have included the code from the tutorial for convinience:
    // HelloServer.java
    // Copyright and License
    import HelloApp.*;
    import org.omg.CosNaming.*;
    import org.omg.CosNaming.NamingContextPackage.*;
    import org.omg.CORBA.*;
    import org.omg.PortableServer.*;
    import org.omg.PortableServer.POA;
    import java.util.Properties;
    class HelloImpl extends HelloPOA {
      private ORB orb;
      public void setORB(ORB orb_val) {
        orb = orb_val;
      // implement sayHello() method
      public String sayHello() {
        return "\nHello world !!\n";
      // implement shutdown() method
      public void shutdown() {
        orb.shutdown(false);
    public class HelloServer {
      public static void main(String args[]) {
        try{
          // create and initialize the ORB
          ORB orb = ORB.init(args, null);
          // get reference to rootpoa & activate the POAManager
          POA rootpoa = POAHelper.narrow(orb.resolve_initial_references("RootPOA"));
          rootpoa.the_POAManager().activate();
          // create servant and register it with the ORB
          HelloImpl helloImpl = new HelloImpl();
          helloImpl.setORB(orb);
          // get object reference from the servant
          org.omg.CORBA.Object ref = rootpoa.servant_to_reference(helloImpl);
          Hello href = HelloHelper.narrow(ref);
          // get the root naming context
          org.omg.CORBA.Object objRef =
              orb.resolve_initial_references("NameService");
          // Use NamingContextExt which is part of the Interoperable
          // Naming Service (INS) specification.
          NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef);
          // bind the Object Reference in Naming
          String name = "Hello";
          NameComponent path[] = ncRef.to_name( name );
          ncRef.rebind(path, href);
          System.out.println("HelloServer ready and waiting ...");
          // wait for invocations from clients
          orb.run();
          catch (Exception e) {
            System.err.println("ERROR: " + e);
            e.printStackTrace(System.out);
          System.out.println("HelloServer Exiting ...");
    // Copyright and License
    import HelloApp.*;
    import org.omg.CosNaming.*;
    import org.omg.CosNaming.NamingContextPackage.*;
    import org.omg.CORBA.*;
    public class HelloClient
      static Hello helloImpl;
      public static void main(String args[])
          try{
            // create and initialize the ORB
            ORB orb = ORB.init(args, null);
            // get the root naming context
            org.omg.CORBA.Object objRef =
                orb.resolve_initial_references("NameService");
            // Use NamingContextExt instead of NamingContext. This is
            // part of the Interoperable naming Service. 
            NamingContextExt ncRef = NamingContextExtHelper.narrow(objRef);
            // resolve the Object Reference in Naming
            String name = "Hello";
            helloImpl = HelloHelper.narrow(ncRef.resolve_str(name));
            System.out.println("Obtained a handle on server object: " + helloImpl);
            System.out.println(helloImpl.sayHello());
            helloImpl.shutdown();
            } catch (Exception e) {
              System.out.println("ERROR : " + e) ;
              e.printStackTrace(System.out);
    }Edited by: 819887 on 10-Dec-2010 04:51
    Edited by: 819887 on 10-Dec-2010 04:58

    Figure out the actual problem is when the naming service is resolving the name on line:
    helloImpl = HelloHelper.narrow(ncRef.resolve_str(name));

  • Is the JTS Transaction Manager Java Mapping of Corba OTS using JSE Impl?

    Hi All,
    I was reading the Java Transaction Service Specification .95 Draft, and I am curious if the Java Mapping of Corba OTS 1.1 Interfaces Implementation is generally referring to the Java Standard Edition implementation of these classes, specifically the IDL code that is converted into Java classes in the tools.jar. I attempted to manually compile the IDL code in the OMG Transaction Service Specification 1.4 using idlj in JDK 1.6 and ran into one compilation issue after another, until I realized The CosTransactions Module, and other required Corba IDL interface are already converted into Java classes in the tools.jar of the JDK. My assumption was I should map directly to the classes in the JDK if I create a Java Transaction Manager for the Java Transaction Service Specification?
    Any help you can provide on this subject will be appreciated.
    Thanks,
    Aaron
    Edited by: 888810 on Sep 30, 2011 1:29 PM
    Edited by: 888810 on Sep 30, 2011 1:30 PM

    Hi All,
    I was reading the Java Transaction Service Specification .95 Draft, and I am curious if the Java Mapping of Corba OTS 1.1 Interfaces Implementation is generally referring to the Java Standard Edition implementation of these classes, specifically the IDL code that is converted into Java classes in the tools.jar. I attempted to manually compile the IDL code in the OMG Transaction Service Specification 1.4 using idlj in JDK 1.6 and ran into one compilation issue after another, until I realized The CosTransactions Module, and other required Corba IDL interface are already converted into Java classes in the tools.jar of the JDK. My assumption was I should map directly to the classes in the JDK if I create a Java Transaction Manager for the Java Transaction Service Specification?
    Any help you can provide on this subject will be appreciated.
    Thanks,
    Aaron
    Edited by: 888810 on Sep 30, 2011 1:29 PM
    Edited by: 888810 on Sep 30, 2011 1:30 PM

  • Is there some limitation for the numbers of CORBA objects under Java IDL

    Operation System : Windows 98 Second Edition(4.10.2222)
    Java 2 SDK version :
    java version "1.4.1"
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1-b21)
    Java HotSpot(TM) Client VM (build 1.4.1-b21, mixed mode)
    I have programmed a distributed application with java IDL.
    there are a lot of CORBA objects in my application and all of those objects must registered with the same orb.
    At the beginning,I launched 4 CORBA objects,which is the least number of CORBA objects needed to run my application,and the application runs well.Then I increased the number of CORBA objects gradually.But when the number of CORBA objects has been changed to 6,the application runs instably,that is, the application sometimes runs well,and sometimes it generates an error when I launched my client-side program,the error is as follow:
    org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 201 completed: No
    at com.sun.corba.se.internal.iiop.ConnectionTable.getConnection(ConnectionTable.java:161)
    at com.sun.corba.se.internal.iiop.ConnectionTable.getConnection(ConnectionTable.java:65)
    at com.sun.corba.se.internal.iiop.GIOPImpl.getConnection(GIOPImpl.java:67)
    at com.sun.corba.se.internal.corba.ClientDelegate.createRequest(ClientDelegate.java:644)
    at com.sun.corba.se.internal.corba.ClientDelegate.createRequest(ClientDelegate.java:586)
    at com.sun.corba.se.internal.corba.ClientDelegate.is_a(ClientDelegate.java:838)
    at org.omg.CORBA.portable.ObjectImpl._is_a(ObjectImpl.java:112)
    at org.omg.CosNaming.NamingContextExtHelper.narrow(NamingContextExtHelper.java:73)
    at Client.main(Client.java:19)
    the NO.19 line in Client.java is :
    NamingContextExt ncref = NamingContextExtHelper.narrow(comobj);
    The COMM_FAILURE/SUN-201 means CONNECT_FAILURE.
    This will happen if a client gets a reference to an object reference whose server is not yet started,or perhaps not yet initialized.
    But I think I have waited for enough long time before launched Client.java?Can anybody help me?Thanks very much....

    We are trying to connect to corba naming services using Apache/Tomcat5.0 .We are using servlets to call the Corba services.
    We are initializing the ORB as follows:
    Properties p= new Properties();
    p.setProperty("org.omg.CORBA.ORBInitialHost","ramesh");
    p.setProperty("org.omg.CORBA.ORBInitialPort","1234");
    p.setProperty("org.omg.CORBA.ORBClass","com.sun.corba.se.internal.iiop.ORB");
    ORB orb = ORB.init((String[])null,p);
    nmref = NamingContextHelper.narrow(orb.resolve_initial_references("NameService"));
    NameComponent[] dmNamingComps ={new NameComponent("DATAMgt","")};
    DataManagement.DatamanagementFactory data_factory_ref= DataManagement.DatamanagementHelper.narrow(nmref.resolve(dmNamingComps ));
    masterDataref = data_factory_ref.createMasterData();
    =====================
    when we run the program:
    we are getting the error message:
    org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 201 completed: No
    at com.sun.corba.se.internal.iiop.ConnectionTable.getConnection(ConnectionTable.java:161)
    at com.sun.corba.se.internal.iiop.ConnectionTable.getConnection(ConnectionTable.java:65)
    at com.sun.corba.se.internal.iiop.GIOPImpl.getConnection(GIOPImpl.java:67)
    at com.sun.corba.se.internal.corba.ClientDelegate.createRequest(ClientDelegate.java:644)
    at com.sun.corba.se.internal.corba.ClientDelegate.createRequest(ClientDelegate.java:586)
    at com.sun.corba.se.internal.corba.ClientDelegate.is_a(ClientDelegate.java:838)
    at org.omg.CORBA.portable.ObjectImpl._is_a(ObjectImpl.java:112)
    at org.omg.CosNaming.NamingContextExtHelper.narrow(NamingContextExtHelper.java:73)
    at Client.main(Client.java:19)
    Can anybody help ?Do we need any other configuration setup apart from the code in Apache/Tomcat?

  • Set Port to be used by client orb corba for the response to a server

    I have a client corba application, and i need to set the port used for corba response on the client host.
    How can i set the port used on client for response?
    Client Server
    <ClientHost>?port?--------------------->4444<serverHost>
    Thanks

    You mean the local port at the client. It's used for the entire connection, not just the response. You should let the system allocate this rather than trying to control it yourself. Otherwise you restrict yourself to only one connection to the ORB from the client (e.g. no multithreading).
    You should arrange with your firewall to allow anyclient port to connect to the ORB.

  • How to get rid of the Exceptions

    When I tried to open the client i.e User interface which is MainMenuApp received NO_PERMISSION CORBA exception while attempting to get an initial reference to the mvcf_ControllerFactory from the FactoryFinder. Software defect that should be addressed is that the UI did not recover after catching the exception and required a restart of the UI to connect.
    The problem is that cleanWorkspace() in CorbaAdapter doesn't have any failover logic in it at all. The adapter is assumed to be good and if it is not cleanWorkspace() attempts to use a factory that doesn't exist. This throws an uncaught NullPointerException that blows out to MainMenuApp where it is interpreted as a fatal exception and prevents the main menu from starting. So please help me in writing the failover logic in CorbaAdapter
    The code for cleanWorkspace is
    * Cleans up the entire logical positions workspace.
    * @throws AdapterException UserError or Error occured
    public synchronized void cleanWorkspace() throws AdapterException
    cut_ContextInitData cid = getContextInitData();
    cid.clientId = "*";
    MVC2CleanWorkspaceCmd cmd = new MVC2CleanWorkspaceCmd(cid);
    execute(cmd);
    I am giving the whole logic of Corba Adapter. This might help:
    package com.ge.trans.tms.comm;
    import java.util.*;
    import org.omg.CORBA.CompletionStatus;
    import com.beasys.Tobj.FactoryFinder;
    import com.ge.trans.tms.ui.util.ExceptionHandler;
    import com.ge.trans.tms.util.Log;
    import com.ge.trans.tms.util.StringUtils;
    import com.ge.trans.tms.forms.mainmenu.Globals;
    import pds.cut_IDLCommon.cut_ContextInitData;
    import pds.cut_IDLCommon.cut_ValidationResult;
    import pds.cut_IDLContainers.cut_KeyValuePair;
    import pds.cut_IDLContainers.cut_KeyValueSequenceHolder;
    import pds.cut_IDLContainers.cut_StringSeqSeqHolder;
    import pds.cut_IDLContainers.cut_StringSequenceHolder;
    import pds.cut_IDLExceptions.cut_Error;
    import pds.cut_IDLExceptions.cut_InternalError;
    import pds.cut_IDLExceptions.cut_UserError;
    import pds.cut_IDLExceptions.cut_ModelNotFoundError;
    import pds.cut_IDLExceptions.cut_DBDeadlockError;
    import pds.mvct.mvct_ParentTableInfo;
    import com.ge.trans.tms.util.BM;
    import pds.mvcs_ControllerFactory;
    import pds.mvcs_ControllerFactoryHelper;
    import pds.mvcs_ControllerProxy;
    * Title: CorbaAdapter Description: This class provides a generic, 100% java
    * interface for its clients (UI for example) to create, query, and modify
    * remote data models. The methods in this class foward client requests through
    * calls on generated Java/Corba client stubs with disregard to the server-side
    * controller/model objects location or language implementation. This is
    * currently the only portal for the clients to communicate with the
    * server-side model/controller framework. Therefore, this class should mirror
    * the complete model/controller interface as provide in the mvcs_Controller
    * idl. This class provides constructors that hide all Corba initialization and
    * messaging implementation from its clients.
    public class CorbaAdapter extends AbstractAdapter
    protected String factoryDomainSuffix = "MVC";
    private mvcs_ControllerFactory factory;
    private mvcs_ControllerProxy controller;
    public synchronized mvcs_ControllerProxy getController()
    return controller;
    protected String getFactoryDomainSuffix() {
    return _factoryDomainSuffix;
    * Constructor Initializes the connection and generic factory finder. This
    * constructor should be used when the cleint does not want to immediately
    * create a new handle (controller) to a new or existing model. <p>
    * Preconditions: none
    * @param domain
    * @param listener <p>
    * Postconditions: If domain is null, then
    * AdapterConstants.DEFAULT_DOMAIN will be used as the domain name. If
    * listener is null, neither the caller or any other client will
    * receive error messages
    public CorbaAdapter(
    String domain,
    MessageListener listener,
    ConnectionListener connectionListener,
    boolean uniqueConnection ) throws AdapterException
    this(domain, listener, connectionListener, uniqueConnection, true);
    public CorbaAdapter(
    String domain,
    MessageListener listener,
    ConnectionListener connectionListener,
    boolean uniqueConnection,
    boolean geoAdapter ) throws AdapterException
    super( listener );
    setDomain( domain );
    _geoPartitioned = geoAdapter;
    //flag to stop retrying after failure to find factory
    this.uniqueConnection = uniqueConnection;
    String param = System.getProperty(AdapterConstants.POOLED_CONNECTION);
    if((param != null) && (param.equals("true"))) {
    this.pooledConnection = true;
    initialize();
    protected Connection makeConnection() throws Exception
    Connection connection = null;
    if( !pooledConnection )
    connection = (CorbaConnection)ConnectionFactory.getDefaultConnection(
    new ConnectionListener[] { this, additionalConnectionListener } );
    else
    String tempDomain = "";
    if(domain.equals("LOGICAL_POSITION")) {
    tempDomain = "MVC_LOGICAL_POSITION";
    } else {
    tempDomain = domain;
    connection = (CorbaConnection)
    PooledConnectionFactory.instance().getPooledConnection(tempDomain);
    if(connection != null) {
    connection.addConnectionListeners(
    new ConnectionListener[] { this, additionalConnectionListener } );
    return connection;
    * clients should never call this method as this is a the destructor for
    * this class and should only be called by the system before the garbage
    * collector sweeps away this object NOTE: there is no guarantee when the
    * system will call this method, so if a resource is in short supply,
    * manage that resource another way
    protected void finalize()
    if(Log.isEnterEnabled())Log.enter( CorbaAdapter.class, "Entering finalize..." );
    // cannot enusre all clients call cleanup fromt their code
    // so do this is defensive programming
    cleanup();
    if(Log.isLeaveEnabled())Log.leave( CorbaAdapter.class, "Leaving finalize..." );
    /** This should only be called when the adapter knows that it's
    * current connection has been repaired and the adapater's current
    * workspace (remote stub) needs to be initialized using the new connection
    * (IOR for new server).
    * This method should only be called from another which has a lock on the
    * current connection. Currently this method is only called from
    * verifyConnectionStatus().
    private boolean convertController()
    if ( controller == null ) {
    Log.error(CorbaAdapter.class, "convertController()",
    "CONVERT_CONTROLLER CALLED WITH CONTROLLER == NULL",
    new Exception("Fix Me"));
    MVC2ConvertControllerCmd cmd = new MVC2ConvertControllerCmd();
    execute(cmd);
    return (((String) cmd.getReturnValue()).equals(AdapterConstants.SUCCESS));
    * Initializes an existing adapter to a new controller/model.
    * @return AdapterConstants.ERROR or AdapterConstants.SUCCESS
    public synchronized String setController()
    AbstractCmd cmd = new MVC2SetControllerCmd();
    execute(cmd);
    Log.debug (getClass (), "returning from set controller :"+(String) cmd.getReturnValue());
    return ((String) cmd.getReturnValue());
    * Initializes an existing adapter to a new controller/existing model using
    * the current domain name and user data <p>
    * Preconditions:
    * @param domainName must represent a valid domain name
    * @param businessKey must represent a valid business key of an existing
    * model in the database. <p>
    * Postconditions: If the adapter has a initailized controller it is
    * uninitialized notifies registered MessageListener if businessKey
    * does not represent a valid model that already exists in the
    * database. notifies registered UIIFatalMessageListener of all fatal
    * server errors
    * @return Description of the Return Value
    * @returns AdapterConstants.SUCCESS or AdapterConstants.ERROR
    public synchronized String setController(Map businessKey)
    AbstractCmd cmd = new MVC2SetControllerCmd(businessKey);
    execute(cmd);
    Log.debug (getClass (), "returning from set controller bus key:"+(String) cmd.getReturnValue());
    return ((String) cmd.getReturnValue());
    private boolean clientInitialized()
    return clientInitialized( true );
    private boolean clientInitialized( boolean remoteStub )
    forceConnectionChange = false;
    if(getController()==null)
    Log.info(CorbaAdapter.class,
    "clientInitialized()",
    "(getController()==null):'"+(getController()==null)+"'");
    // obtain lock on used by this adapter and its' connection
    // before checking any values that could be changed by a shared
    // connection in another thread
    synchronized( this.adapterConnectionMonitor )
    if( !this.connectionRepaired && !this.connectionBroken )
    if( !healthyConnection )
    Log.debug(CorbaAdapter.class,
    "clientInitialized()",
    "connectionRepaired:'"+connectionRepaired+"' "+
    "connectionBroken:'"+connectionBroken+"' "+
    "healthyConnection:'"+healthyConnection+"' "+
    "calling fireFatalErrorHandler with 'AdapterConstants.NULL_CONNECTION'");
    fireFatalErrorHandler( AdapterConstants.NULL_CONNECTION );
    return false;
    else if( !healthyRemoteFactory )
    Log.debug(CorbaAdapter.class,
    "clientInitialized()",
    "connectionRepaired:'"+connectionRepaired+"' "+
    "connectionBroken:'"+connectionBroken+"' "+
    "healthyRemoteFactory:'"+healthyRemoteFactory+"' "+
    "calling fireFatalErrorHandler with 'AdapterConstants.NULL_REMOTE_FACTORY'");
    fireFatalErrorHandler( AdapterConstants.NULL_REMOTE_FACTORY );
    return false;
    else if( remoteStub && !healthyRemoteStub )
    Log.debug(CorbaAdapter.class,
    "clientInitialized()",
    "connectionRepaired:'"+connectionRepaired+"' "+
    "connectionBroken:'"+connectionBroken+"' "+
    "remoteStub:'"+remoteStub+"' "+
    "healthyRemoteStub:'"+healthyRemoteStub+"' "+
    "calling fireFatalErrorHandler with 'AdapterConstants.NULL_REMOTE_STUB'");
    fireFatalErrorHandler( AdapterConstants.NULL_REMOTE_STUB );
    return false;
    return true;
    } // release lock on used by this adapter and its' connection
    * This method should be called when the client has finished working with
    * the controller. <p>
    * Preconditions: controller (domain specific remote stub) must be
    * initialized. <p>
    * Postconditions: Cleans up any session state and removes the client's
    * workspace from existence. After this method is called, the client will
    * no longer be able to make calls on the controller without obtaining
    * another controller reference and re-initializing. Any changes made by
    * the client since calling commitChanges() are lost (i.e., the client is
    * responsible for calling commitChanges() before exiting).
    * @return AdapterConstants.SUCCESS or AdapterConstants.ERROR
    public synchronized String exit()
    AbstractCmd cmd = new MVC2ExitCmd();
    execute(cmd);
    String returnValue = (String) cmd.getReturnValue();
    if(returnValue.equals(AdapterConstants.SUCCESS))
    controller = null;
    healthyRemoteStub = false;
    return returnValue;
    * Reports whether adapters controller is currently initialized
    * @return The active value
    public synchronized boolean isActive()
    // obtain lock used by this adapter so that another method can NOT be
    // called on this adapter instance from another thread at the same
    // time
    synchronized( this.adapterConnectionMonitor )
    return ( controller != null );
    * Preconditions: the controller is initialized Postconditions: Returns the
    * domain name from the model we are controlling. <p>
    * notifies registered UIIFatalMessageListener of all fatal server errors
    * @return The domainName value or AdapterConstants.ERROR
    public synchronized String getDomainName() // throws cut_InternalError
    AbstractCmd cmd = new MVC2GetDomainNameCmd();
    execute(cmd);
    return ((String) cmd.getReturnValue());
    * Preconditions: the controller is initialized Postconditions: Returns a
    * "user context," set by the user of this controller and otherwise not
    * used by the mvc2 framework. Context is data only kept in the controller
    * (if at all) and not the model. <p>
    * notifies registered UIIFatalMessageListener of all fatal server errors
    * @return The context value or AdapterConstants.ERROR
    public synchronized String getContext() // throws cut_InternalError
    AbstractCmd cmd = new MVC2GetContextCmd();
    execute(cmd);
    return ((String) cmd.getReturnValue());
    * Preconditions: the controller is initialized
    * @param value saved as a "user context," set by the user of this
    * controller and used by domain or customer derived controllers. <p>
    * notifies registered UIIFatalMessageListener of all fatal server
    * errors
    * @return AdapterConstants.ERROR or AdapterConstants.SUCCESS
    public synchronized String setContext( String value )
    AbstractCmd cmd = new MVC2SetContextCmd(value);
    execute(cmd);
    return ((String) cmd.getReturnValue());
    * Sets a key on the server.
    * @param property key to set
    * @param value value
    * @return String retruned by service provider or Adapter.ERROR
    public synchronized String setValue( String key, String value )
    AbstractCmd cmd = new MVC2SetValueCmd(key, value);
    execute(cmd);
    return ((String) cmd.getReturnValue());
    * Preconditions: the controller has been initialized
    * @param property is a valid property of the model <p>
    * Postconditions: notifies registered UIMessageListeners if property
    * is not valid notifies registered UIIFatalMessageListener(s) of any
    * fatal server errors
    * @return The value value
    * @returns the current value of the specified property or
    * AdapterConstants.ERROR
    public synchronized String getValue( String property ) // throws cut_InternalError
    AbstractCmd cmd = new MVC2GetValueCmd(property);
    execute(cmd);
    return ((String) cmd.getReturnValue());
    * Preconditions: the controller has been initialized and propertyValueMap
    * is not null All properties given is propertyValueMap are valid
    * properties of the model.
    * Postconditions: All values for the properties in the map are added to
    * the map.
    * @param propertyValueMap each KeyValuePair element will have its value
    * set based on its key notifies registered UIMessageListeners if any
    * property given in the map is not a valid property of the model. If
    * this happens, the map is unchanged. notifies registered
    * UIIFatalMessageListener(s) of any fatal server errors
    * @return The values value
    * @returns AdapterConstants.SUCCESS or
    * AdapterConstants.ERROR
    public synchronized String getValues( Map propertyValueMap )
    AbstractCmd cmd = new MVC2GetValuesCmd(propertyValueMap);
    execute(cmd);
    return ((String) cmd.getReturnValue());
    * Preconditions: controller has been initialized and propertyValueMap is
    * not null <p>
    * Postconditions: All properties and their associated values are added to
    * the propertyValueMap. Prior contents of the map are NOT erased.
    * @param propertyValueMap will be cleared then filled with KeyValuePair
    * object references notifies registered UIIFatalMessageListener(s) of
    * any fatal server errors <p>
    * @return The allValues value
    * @returns AdapterConstants.SUCCESS or
    * AdapterConstants.ERROR NOTE: The actual definition of what "all
    * values" mean is left to the designers of the UI and the Controller
    * but should reflect what is in the models' metamodel
    public synchronized String getAllValues( Map propertyValueMap )
    AbstractCmd cmd = new MVC2GetAllValuesCmd(propertyValueMap);
    execute(cmd);
    return ((String) cmd.getReturnValue());
    * Invoke a method on controller.
    * @param method Method to invoke on controller
    * @param values input/output values sent and returned from controller
    * @return String from service on success or AdapterConstrants.ERROR
    public synchronized String invokeMethod( String method, List values )
    AbstractCmd cmd = new MVC2InvokeMethodCmd(method, values);
    execute(cmd);
    return (String) cmd.getReturnValue();
    * Preconditions: the controller has been initialized Postconditions:
    * Validates the state of the model for committing, copies the transient
    * model to the persistent model, and commits it to the database. <p>
    * reports a user error(s) to registered MessageListener s if the state of
    * the model is not a valid one for commiting. reports all fatal server
    * errors to registered UIIFatalMessageListener s <p>
    * @return Description of the Return Value
    * @returns AdapterConstants.ERROR or AdapterConstants.SUCCESS
    public synchronized String commitChanges()
    AbstractCmd cmd = new MVC2CommitChangesCmd();
    execute(cmd);
    return ((String) cmd.getReturnValue());
    * Preconditions: the controller has been initialized. Postconditions:
    * Aborts all changes to the model since commitChanges() was last called.
    * <p>
    * reports all fatal server errors to registered UIIFatalMessageListener s
    * <p>
    * @return Description of the Return Value
    * @returns AdapterConstants.ERROR or AdapterConstants.SUCCESS
    public synchronized String abortChanges()
    AbstractCmd cmd = new MVC2AbortChangesCmd();
    execute(cmd);
    return ((String) cmd.getReturnValue());
    * Preconditions: the controller has been initialized and columnName is not
    * null
    * @param tableName must be a valid table of the model.
    * @param columnName is a valid column in the table of the model.
    * @param rowNum is a valid row in the table of the model.
    * @param parents used if the table is a subtable of another table, its
    * parent table(s) info must be specified and must be valid. If the
    * table is not a subtable, then parents should be empty. <p>
    * Postconditions: <p>
    * asserts columnName or rowNum have valid values for the table asserts
    * the information in parents is valid and complete; reports to
    * registered MessageListener s if the table is not a table of the
    * model
    * @return The tableValue value
    * @todo talk to Kelly because an invalid table name should
    * not be a user error but a programming error reports all fatal server
    * errors to registered UIIFatalMessageListener s <p>
    * @returns the value of the table element located in the
    * specified column at the specified row or AdapterConstants.ERROR
    public synchronized String getTableValue(
    String tableName,
    String columnName,
    int rowNum,
    ParentTableInfo[] parents )
    AbstractCmd cmd = new MVC2GetTableValueCmd(tableName, columnName, rowNum, parents);
    execute(cmd);
    return ((String) cmd.getReturnValue());
    * @param tableId The new tableValue value
    * @param columnName The new tableValue value
    * @param row The new tableValue value
    * @param value The new tableValue value
    * @return Description of the Return Value
    * @see setTableValue(String tableName, String columnName,
    * int rowNum, String value, ParentTableInfo[] parents) for method
    * contract
    public synchronized String setTableValue(
    String tableId,
    String columnName,
    int row,
    String value )
    return setTableValue( tableId, columnName, row, value,
    ( ( ParentTableInfo[] ) null ) );
    * Preconditions: asserts the controller has been initialized and
    * columnName is not null
    * @param tableName must be a valid table of the model.
    * @param columnName is a valid column in the table of the model.
    * @param rowNum is a valid row in the table of the model.
    * @param value is a valid value of the tables column and row (cell)
    * @param parents used if the table is a subtable of another table, its
    * parent table(s) info must be specified and must be valid. If the
    * table is not a subtable, then parents should be empty. <p>
    * Postconditions: Sets the value of the table cell located in the
    * specified column at the specified rowNum to the new value. <p>
    * asserts both the columnName or rowNum have valid values for the
    * table asserts the information in parents is valid and complete
    * reports to registered MessageListener s if the table is not a table
    * of the model and if the value is not a valid value for the cell of
    * the table reports all fatal server errors to registered
    * UIIFatalMessageListener s
    * @return Description of the Return Value
    * @returns the value that the table cell is set to or
    * AdapterConstants.ERROR
    public synchronized String setTableValue(
    String tableName,
    String columnName,
    int rowNum,
    String value,
    ParentTableInfo[] parents )
    AbstractCmd cmd = new MVC2SetTableValueCmd(tableName, columnName,
    rowNum, value, parents);
    execute(cmd);
    return ((String) cmd.getReturnValue());
    * Preconditions: the controller has been initialized and tableName is not
    * null
    * @param tableName must be a valid table of the model.
    * @param parents used if the table is a subtable of another table, its
    * parent table(s) info must be specified and must be valid. If the
    * table is not a subtable, then parents should be empty. <p>
    * Postconditions: <p>
    * asserts the information in parents argument is valid and complete.
    * reports to registered MessageListener s if table is not a valid
    * table reports all fatal server errors to registered
    * UIIFatalMessageListener s
    * @return The numberOfRows value
    * @returns the number of rows in the table if successful, else -1
    public synchronized int getNumberOfRows(
    String tableName,
    ParentTableInfo[] parents )
    AbstractCmd cmd = new MVC2GetNumberOfRowsCmd(tableName, parents);
    execute(cmd);
    Object returnValue = cmd.getReturnValue();
    if(returnValue.equals(AdapterConstants.ERROR))
    return -1;
    return ((Integer) cmd.getReturnValue()).intValue();
    * Preconditions: the controller has been initialized and tableName is not
    * null
    * @param tableName must be a valid table of the model.
    * @param parents used if the table is a subtable of another table,
    * its parent table(s) info must be specified and must be valid. If the
    * table is not a subtable, then parents should be empty.
    * @param rowPosition represents the (zero-based) position where you want
    * the new row <p>
    * Postconditions: Adds one row to the table at the specified position.
    * <p>
    * asserts that the rowPosition is within range to add to the table
    * asserts that the information in parents is valid and complete.
    * reports to registered MessageListener s if table is not a valid
    * table and if it is not valid to add the row to the specified
    * position reports all fatal server errors to registered
    * UIIFatalMessageListener s
    * @return Description of the Return Value
    * @returns the new row number of the inserted row if
    * successful, else -1
    public synchronized int addRow(
    String tableName,
    int rowPosition,
    ParentTableInfo[] parents )
    AbstractCmd cmd = new MVC2AddRowCmd(tableName, rowPosition, parents);
    execute(cmd);
    return ((Integer) cmd.getReturnValue()).intValue();
    * Preconditions: the controller has been initialized, tableName is not
    * null, and rowsToDelete is not null or empty
    * @param tableName must be a valid table of the model.
    * @param parents used if the table is a subtable of another table,
    * its parent table(s) info must be specified and must be valid. If the
    * table is not a subtable, then parents should be empty.
    * @param rowsToDelete all rows specified in this container must exist in
    * the table 'tableName' <p>
    * Postconditions: Deletes all rows specified in rowsToDelete from the
    * table. <p>
    * asserts all row indexes in rowsToDelete are valid asserts the
    * information in parents argument is valid and complete reports to
    * registered MessageListener s if the 'tableName' is not a valid table
    * of the model and if it is not valid to delete the rows at the
    * specified positions reports all fatal server errors to registered
    * UIIFatalMessageListener s
    * @return Description of the Return Value
    * @returns AdapterConstants.SUCCESS or AdapterConstants.ERROR
    public synchronized String deleteRows(
    String tableName,
    int[] rowsToDelete,
    ParentTableInfo[] parents )
    AbstractCmd cmd = new MVC2DeleteRowsCmd(tableName, rowsToDelete, parents);
    execute(cmd);
    return ((String) cmd.getReturnValue());
    * This method retrieves all values for a specified row. The value in each
    * column is retrieved and stored in the row container. The row container
    * is column ordered. Prior contents in the row container are lost as the
    * container is initialized within this method. <p>
    * Preconditions: the controller has been initialized and the container
    * 'row' is not null
    * @param tableName must be a valid table of the model.
    * @param rowPosition represents a valid row in the table.
    * @param parents used if the table is a subtable of another table,
    * its parent table(s) info must be specified and must be valid. If the
    * table is not a subtable, then parents should be empty.
    * @param row container which will be filled with the specified
    * table rows values <p>
    * Postconditions: asserts that rowPosition is valid (i.e not out of
    * range) asserts the information in parents argument is valid and
    * complete asserts that the container row is a valid as an
    * input/output parameter (i.e. not null) reports to registered
    * MessageListener s if tableName is not a valid table of the model
    * reports all fatal server errors to registered
    * UIIFatalMessageListener s
    * @return The row value
    * @returns AdapterConstants.SUCCESS or AdapterConstants.ERROR
    * <p>
    * NOTE: All columns and all rows have zero-based indices.
    public synchronized String getRow(
    String tableName,
    int rowPosition,
    List row,
    ParentTableInfo[] parents )
    AbstractCmd cmd = new MVC2GetRowCmd(tableName, rowPosition, row, paren

    Please can u answer it fast

  • How to invoke A CORBA-Java Client Application, from Oracle???

    Hi,
    I have a CORBA-Java Client Application, which takes the input parameters from a Oracle table and calls the CORBA Server, passes these parameters to the C++ Server Application and gets the results back thorugh CORBA.
    My problem is, this java application needs to be invoked, when ever there is a new record in the Oracle table.
    I am not sure if i can use Java Stored Procedures in Oracle in this case, because my app is in Sun JVM and i am using BEA WebLogic Enterprise 5.1 for the CORBA.
    Is there any other way by which i can invoke this app, when a new record is updated in the Oracle table?
    Currently, i have just put a TIMER in my java App, to check the oracle table in every few seconds, to see if there is a new reocrd. If it finds a new record it invokes the corresponding class(corba class), or else just keep sending a messsage that no new record is available.
    The problems i am facing in this method are as follows;
    1. Unnecessarily, the application has to keep on running if there is no request coming frequently.
    2. When there is a new record found, the Corba Class is called and the whole process (till it gets the result back from the server) takes about 20 - 30 secs. But within this period, if there is another record coming into Oracle table, my timer class doesnt invoke another corba class....(though i am using multithreading by using the RemidTask method in the timer.schedule.
    (timer.schedule(new RemindTask(),10,5*1000);)
    3. Also, if during the first call, there is some error, then the whole process exits, instead of another process running parallely (when a second new record is found).
    So how does this timer class act like a multithreading process?
    Well, i hope i am not confusing....Please let me know if anyone wants bit more elaboration on this.
    It would be really helpful if someone can suggest some answer to my problem.
    Thanks in advance.

    Thank you very much Keith.
    Though i am really getting a hope of solving this problem, from you answer, i am actually not 100% sure if i understood your reply properly.
    First of all, about
    1. "use the update stored procedure to place the updated record (or unique index) onto an Oracle Application Queue."
    -- Why do i need to put the record in the AQ. (Frankly speaking, at this moment i dont have much idea about AQ, probably i can learn more about it from oracle technet site? Or would u suggest anything else?)
    Then,
    2."Your app then waits on this queue and for each new message, consumes it, gets the data required from the AQ load (e.g the index and or record), and fires off the CORBA class"
    -- How does my application stay in the queue? and gets the data from the queue?
    Of course, as far as i understand, i am going through the same principle...keeping on running a timer class, which keeps on checking the table for a new record, and when it finds, it calls the CORBA class.
    Of course, i feel there should be a difference in running the timer continuosly and staying in queue. However i am totally unaware, how can i make my java app to wait in the queue and waits for a new record?
    Can you please elaborate your answer a bit more, because i dont know about the AQ, that you have mentioned.
    Thank you very much in advance for your time. But please know that it will be of great help to me and hence will be higly appreciated.
    Regards,
    Subhasree.

  • The delegate has not been set!

    I am trying to get my java code to do a rebind with a OpenORB naming service. The connection to the naming service works, but when I get to the line:
    ncRef.rebind(nameComponent, server_name); I get the error:
    org.omg.CORBA.BAD_OPERATION: The delegate has not been set! minor code: 0 completed: No
    at org.omg.CORBA.portable.ObjectImpl._get_delegate(ObjectImpl.java:55)
    at org.openorb.iiop.CDROutputStream.write_Object(CDROutputStream.java:1091)
    at org.omg.CosNaming._NamingContextExtStub.rebind(_NamingContextExtStub.java:351)
    at LogManager.main(LogManager.java:107)
    Can anyone please tell me what this is and offer a means to fix or get around this. I have been messing with this for days and can't seem to get anywhere. Thank you very much for you help in advance.

    You can ignore this. I figured it out. With the OpenORB operations I was trying to use the POA means of doing this, when in turn I wanted to use the BOA. So as soon as I started using the line boa.connect(orb); and the boa methodology, then everything started to work fine.
    thanks

  • 2 Java Applications Talking Corba or Socket communication

    So, I have 2 Java applications that need to talk to each other remotely. One application send a request to the other with an ID. After the other application processes that request, it send back a status with the ID.
    I am not up on Corba, but am familar with Socket based communication. Before I just go and code it with how I am familar, I was wondering if someone had a small summary of why I should try and take the time to learn Corba and code the communication that way.
    Creating and using the Sockets in Java is so simplistic, is that the case with Corba? Sorry for the general question, but need some advice from the experts. Thanks....

    Normal CORBA (as in Java IDL) is probably way too complicated for what you're trying to do, unless you're thinking of someday having the programs talk with non-Java programs.
    I'd start with Java RMI rather than RMI-IIOP since you can probably find more tutorials and docs on it (though the RMI-IIOP 1.4 docs here are really quite good). That way, you're writing everything in Java, at least.
    For remote object systems, all the advantaged of object oriented programming come into play, especially extensibility. What if you need to change the wire format to add more information in your socket system but need to maintain compatibility with older clients? What if you need to add security or handle multiple clients at once? What if you'd rather rely on existing serialization methods rather than code your own wire format for everything you want to send (making you write more code)? You can serialize any Java Serializable over Java RMI. That lets you send things without violating encapsulation. What if you want to talk to programs that aren't written in Java? What about automatic failure recovery if the server crashes? etc etc.

  • Org.omg.CORBA.BAD_OPERATION:   vmcid: 0x2000  minor code: 2049  completed:

    Hi,
    I have a stupid CORBA error, can someone please help me to have a clue why this client gives me a hart time?
    Properties props = new Properties();
    props.put("org.omg.CORBA.ORBInitialPort", "1570");
    props.put("org.omg.CORBA.ORBInitialHost", "192.168.10.44");
    ORB orb = ORB.init(args, props);
    org.omg.CORBA.Object obj = orb.resolve_initial_references("NameService");
    NamingContextExt ctx = NamingContextExtHelper.narrow(obj);
    org.omg.CORBA.BAD_OPERATION: vmcid: 0x2000 minor code: 2049 completed: No
         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
         at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
         at java.lang.reflect.Constructor.newInstance(Unknown Source)
         at java.lang.Class.newInstance0(Unknown Source)
         at java.lang.Class.newInstance(Unknown Source)
         at com.sun.corba.se.impl.protocol.giopmsgheaders.MessageBase.getSystemException(Unknown Source)
         at com.sun.corba.se.impl.protocol.giopmsgheaders.ReplyMessage_1_0.getSystemException(Unknown Source)
         at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.getSystemExceptionReply(Unknown Source)
         at com.sun.corba.se.impl.protocol.CorbaClientRequestDispatcherImpl.processResponse(Unknown Source)
         at com.sun.corba.se.impl.protocol.CorbaClientRequestDispatcherImpl.marshalingComplete(Unknown Source)
         at com.sun.corba.se.impl.protocol.CorbaClientDelegateImpl.invoke(Unknown Source)
         at com.sun.corba.se.impl.resolver.BootstrapResolverImpl.invoke(Unknown Source)
         at com.sun.corba.se.impl.resolver.BootstrapResolverImpl.resolve(Unknown Source)
         at com.sun.corba.se.impl.resolver.CompositeResolverImpl.resolve(Unknown Source)
         at com.sun.corba.se.impl.resolver.CompositeResolverImpl.resolve(Unknown Source)
         at com.sun.corba.se.impl.resolver.CompositeResolverImpl.resolve(Unknown Source)
         at com.sun.corba.se.impl.orb.ORBImpl.resolve_initial_references(Unknown Source)

    I too have the same error my friend.
    I am trying to call a remote method of an entity bean when I get the same org.omg.CORBA.BAD_OPERATION message.

  • Can someone tell me where to get information about the search function in Swift

    I need to put a search function into an app I am building and I have no idea where to look for information as to code, where to put the code and the text that it is going to search ( a book's worth) where do I put that file.  Any help would be great.  Thank you in advance.

    Dipak,
    Two things to try:
    1. Check the Oracle8i EJB and CORBA Developer's Guide. It is available online from OTN in the documentation area.
    2. Posting your note to the Oracle8i JVM technical discussion forum.

  • Org.omg.CORBA.NO_RESPONSE:   vmcid: 0x0  minor code: 0 completed: Maybe

    Hi,
    We are using a ejb to connect to corba server (tuxedo) at the backend , in most cases things are fine , but if the server takes more than 65 - 75 secs the above error occurs. The processing at the backend completes just fine ..
    We are not using network access points. I have tried setting the following properties to no avail
    IdleIIOPConnectionTimeout="300"
    CompleteIIOPMessageTimeout="300"
    The ejb is invoked via a jsp. The code snippet to invoke the corba server is as follows
                   //Use the factory finder to find the connection factory. Replace
                   // here with appropriate connection factory
                   org.omg.CORBA.Object connection_fact_oref = IIOPFactory.getFactoryFinder().find_one_factory_by_id(TxnConnectionFactoryHelper.id());
                   // Narrow the connection factory.
                   TxnConnectionFactory connection_factory_ref = TxnConnectionFactoryHelper.narrow(connection_fact_oref);
                   // Find the connection object.
                   TxnConnection connection = connection_factory_ref.getTxnConnection();
                   recv_buff = new byte[Constants.XML_BUFF_LEN];
                   //Prepare for the output
                   org.omg.CORBA.StringHolder buf = new org.omg.CORBA.StringHolder(new String(recv_buff));
                   //Invoke the neccessary method
                   TXNMON.MessageHolder msgHldr = new TXNMON.MessageHolder(new TXNMON.Message(sb));
                   int arrayLength = sb.length;
                   connection.sendByteMessage(arrayLength, msgHldr);
    Meanwhile we are trying to reduce the server processing time ...
    This is ruining my XMas, any help will be greatly appreciated.
    Thanks,
    George

    Sabarinath Kundoor <> writes:
    Are you using WTC? WTC connections should never be timed out. Its
    possible this is coming from the WTC layer, or maybe the gateway
    process is closing the connection. What version of WLS and Tux?
    andy
    Hi,
    We are using a ejb to connect to corba server (tuxedo) at the backend , in most cases things are fine , but if the server takes more than 65 - 75 secs the above error occurs. The processing at the backend completes just fine ..
    We are not using network access points. I have tried setting the following properties to no avail
    IdleIIOPConnectionTimeout="300"
    CompleteIIOPMessageTimeout="300"
    The ejb is invoked via a jsp. The code snippet to invoke the corba server is as follows
                   //Use the factory finder to find the connection factory. Replace
                   // here with appropriate connection factory
                   org.omg.CORBA.Object connection_fact_oref = IIOPFactory.getFactoryFinder().find_one_factory_by_id(TxnConnectionFactoryHelper.id());
                   // Narrow the connection factory.
                   TxnConnectionFactory connection_factory_ref = TxnConnectionFactoryHelper.narrow(connection_fact_oref);
                   // Find the connection object.
                   TxnConnection connection = connection_factory_ref.getTxnConnection();
                   recv_buff = new byte[Constants.XML_BUFF_LEN];
                   //Prepare for the output
                   org.omg.CORBA.StringHolder buf = new org.omg.CORBA.StringHolder(new String(recv_buff));
                   //Invoke the neccessary method
                   TXNMON.MessageHolder msgHldr = new TXNMON.MessageHolder(new TXNMON.Message(sb));
                   int arrayLength = sb.length;
                   connection.sendByteMessage(arrayLength, msgHldr);
    Meanwhile we are trying to reduce the server processing time ...
    This is ruining my XMas, any help will be greatly appreciated.
    Thanks,
    George

  • Corba in weblogic 5.1

    i wanna use corba Server ... what setting should i make in classpath and
    path to work with corba
    thanks in advance
    khaleel

    1. This is all in the documentation for whatever corba service/orb you wish
    to use. Add those classes to the classpath of wls. You can start up the
    orb on server start by using a startup class.
    mbg
    "khaleel" <[email protected]> wrote in message
    news:[email protected]..
    i wanna use corba Server ... what setting should i make in classpath and
    path to work with corba
    thanks in advance
    khaleel

Maybe you are looking for