TO CALL AN EJB FROM A C++ CLIENT

Hi all,
I was trying out the build-an-EJB example in my Windows 2000 machine.
I was wondering whether instead of Client.java, I could have a Client.cpp?
Of course I thinks that it should be possible through Corba, but I would
like to hear what people here are sayimng....
Sample code or URLs containing sample code would be warmly appreciated.
Thanks in advance.
snodx

Check the docs on RMI-IIOP. You'll need a CORBA ORB.
Michael Girdley
BEA Systems
Learning WebLogic? http://learnweblogic.com
"snodx" <[email protected]> wrote in message
news:[email protected]..
>
Hi all,
I was trying out the build-an-EJB example in my Windows 2000machine.
>
I was wondering whether instead of Client.java, I could have aClient.cpp?
>
Of course I thinks that it should be possible through Corba, but Iwould
like to hear what people here are sayimng....
Sample code or URLs containing sample code would be warmlyappreciated.
>
Thanks in advance.
snodx

Similar Messages

  • How do I call an ejb from a java client?

    I put ejb classes in a jar file along with java client code and deployed it on my OC4J server. Now I am trying to run the ejb by calling the client code on my OC4J server from the command line but I am not having success. Am I doing this the right way? Should I also deploy my client code? Should the client code also be in a directory on my OC4J server?
    Mike

    Hi. Here is a part of the code for a java client. In this particular case it is also an EJB but it is a Message Driven Bean.
    public class MDBEjbMecomsIFSBean implements MessageDrivenBean,
    MessageListener {
    // context
    private MessageDrivenContext m_ctx = null;
    // properties filename
    private String m_propFile = DEF_PROPFILE;
    // application
    private String m_app;
    // callable function from properties
    // private String m_dsJndiName;
    // private String m_dsType;
    // private String m_dsFunc;
    private int m_connRetryMax;
    private int m_connRetryWait;
    // initial stylesheet transformation file
    private String m_xsltFile;
    // web service operation name
    private String m_operationName;
    // trap emitter members from properties
    private String m_trapMbeanURL;
    private String m_trapObjectName;
    private String m_trapAction;
    private String m_trapAppName;
    private Severity m_trapMax = Severity.CRITICAL;
    private int m_trapAfterDelivery;
    private boolean m_trapStart;
    // jmx members for auto shutdown from properties
    private String m_mdbMbeanURL;
    private String m_mdbMbeanAccount;
    private String m_mdbMbeanPassword;
    private String m_mdbObjectName;
    private String m_mdbAutoShutdown;
    // clob allocator to be used by Oracle jdbc call
    // private CLOB m_clob;
    * Remember the context for this MDB.
    * @param ctx the context for this MDB
    public void setMessageDrivenContext(MessageDrivenContext ctx) {
    logger.log(Level.FINEST, "Setting MessageDrivenContext");
    m_ctx = ctx;
    * ejbCreate() is called when the server wants to create a new instance of this MDB.
    * At this time a connection with the target is established and the callable statement
    public void ejbCreate() {
    readProperties();
    // Connection errors are IGNORED, because it seems that raising Exceptions from here
    // does NOT result in a container managed rollback. Instead the dequeue is commited,
    // resulting in AQ message status 2 (success).
    // By ignoring the fault, another Exception will occurr in onMessage(), from where
    // a propagated exception DOES result in a rollback.
    String logStr = "Started TenneT-MDB-" + m_app;
    logger.log(Level.FINEST, prefixLog(logStr));
    if (m_trapStart)
    notify(Severity.NORMAL, logStr);
    * This method is called whenever a message is sent to the queue associated with this MDB.
    * @param msg assumed to be a javax.jms.TextMessage containting an xml string
    public void onMessage(Message msg) {
    * msg id, timestamp and length are logged at info level
    * msg content is logged at debug level
    String msgText = "uninitialized";
    String msgId = "undefined";
    int msgDeliveryCount = 0;
    // this block retrieves msg info from the jms header
    // errors are logged as info and ignored
    try {
    // get msgid first so any subsequent error can be associated with the msg
    msgId = msg.getJMSMessageID();
    logger.log(Level.FINE, prefixLog("MessageID: " + msgId));
    logger.log(Level.FINE,
    prefixLog("Enq_time : " + msg.getJMSTimestamp()));
    // delivery count can be used to send a critical trap only on the last retry
    if (msg.propertyExists(JMS_X_RCV_TIMESTAMP)) {
    logger.log(Level.FINE,
    prefixLog("Deq_time : " + msg.getIntProperty(JMS_X_RCV_TIMESTAMP)));
    // delivery count can be used to send a critical trap only on the last retry
    if (msg.propertyExists(JMS_X_DELIVERY_COUNT)) {
    msgDeliveryCount = msg.getIntProperty(JMS_X_DELIVERY_COUNT);
    logger.log(Level.FINE,
    prefixLog("DeliveryCnt: " + msgDeliveryCount));
    } catch (Exception e) {
    String errStr =
    "Minor exception in JMSConsumeMDBBean.onMessage() receiving msg \"" +
    msgId + "\": " + e.getMessage();
    logger.log(Level.SEVERE, prefixLog(errStr));
    // next the message content is addressed
    try {
    TextMessage message = (TextMessage)msg;
    msgText = message.getText();
    logger.log(Level.FINE,
    prefixLog("MessageLength: " + msgText.length()));
    logger.log(Level.FINEST, prefixLog("Msg: " + msgText));
    } catch (Exception e) {
    String errStr =
    "Error in JMSConsumeMDBBean.onMessage() retrieving msg \"" +
    msgId + "\": " + e.getMessage();
    logger.log(Level.SEVERE, prefixLog(errStr));
    notify(Severity.CRITICAL, errStr);
    throw new EJBException(errStr);
    // From now we can do intial stylesheet transformation if necessary
    try {
    // Prepare input
    XMLDocument xslInput;
    XMLDocument xmlInput;
    DOMParser parser = new DOMParser();
    parser.setPreserveWhitespace(true);
    // Parse XSL
    parser.parse((MDBEjbMecomsIFSBean.class.getResourceAsStream(m_xsltFile)));
    xslInput = parser.getDocument();
    // Parse XML
    parser.parse((Reader)new StringReader(msgText));
    xmlInput = parser.getDocument();
    // Instantiate XSL Processor
    XSLProcessor processor = new XSLProcessor();
    XSLStylesheet stylesheet;
    stylesheet = processor.newXSLStylesheet(xslInput);
    XMLDocumentFragment xmlOutput =
    (XMLDocumentFragment)processor.processXSL(stylesheet,
    xmlInput);
    // Now prepare xml for use with entity bean
    Document xmlDoc = new XMLDocument();
    xmlDoc.appendChild(xmlOutput);
    *// Invoke Entity Bean to perform lookup of destination Web Service*
    Context ctx;
    ctx = new InitialContext();
    EBEjbMecomsIFSLocalHome ebOppIfsLH =
    *(EBEjbMecomsIFSLocalHome)ctx.lookup("java:comp/env/ejb/local/EBEjbopp_ifs");*
    EBEjbMecomsIFSLocal ebOppIfs;
    ebOppIfs = ebOppIfsLH.create();
    *// pass message content to entity bean*
    ebOppIfs.setXMLmessage((Element)xmlDoc.getDocumentElement());
    *// provide correct soap action*
    ebOppIfs.setOperationName(m_operationName);;
    *// do actual work*
    ebOppIfs.doWork();
    } catch (XSLException e) {
    logger.log(Level.INFO,
    prefixLog("XSL Exception during onMessage " +
    e.getMessage()));
    } catch (SAXException e) {
    logger.log(Level.INFO,
    prefixLog("SAX Exception during onMessage " +
    e.getMessage()));
    } catch (CreateException e) {
    logger.log(Level.INFO,
    prefixLog("Create Exception during onMessage " +
    e.getMessage()));
    } catch (NamingException e) {
    logger.log(Level.INFO,
    prefixLog("Naming Exception during onMessage " +
    e.getMessage()));
    } catch (IOException e) {
    logger.log(Level.INFO,
    prefixLog("IO Exception during onMessage " + e.getMessage()));
    private void notify(Severity severity, String message) {
    logger.log(Level.FINEST,
    prefixLog("Started method notify() with severity level " +
    severity));
    try {
    if (m_trapMbeanURL == null || m_trapMbeanURL.equals("")) {
    logger.log(Level.WARNING,
    prefixLog("No MBean URL! Skipping SNMP trap."));
    } else {
    logger.log(Level.INFO,
    prefixLog("Setting up JMX connection with " +
    m_trapMbeanURL));
    ObjectName delegateName = null;
    MBeanServerConnection mbsc = null;
    try {
    JMXServiceURL jmxServiceURL =
    new JMXServiceURL(m_trapMbeanURL);
    JMXConnector connector =
    JMXConnectorFactory.connect(jmxServiceURL);
    mbsc = connector.getMBeanServerConnection();
    delegateName = new ObjectName(m_trapObjectName);
    logger.log(Level.FINEST,
    prefixLog("JMX connection established with " +
    m_trapMbeanURL));
    } catch (Exception ex) {
    logger.log(Level.SEVERE,
    prefixLog("Error while initializing JMX Server connection"),
    ex);
    throw new EJBException("Error while initializing JMX Server connection",
    ex);
    String localHost = null;
    try {
    InetAddress addr = InetAddress.getLocalHost();
    localHost = addr.getCanonicalHostName();
    logger.log(Level.FINEST,
    prefixLog("Localhost=" + localHost));
    } catch (UnknownHostException ex) {
    logger.log(Level.SEVERE, prefixLog(ex.getMessage()), ex);
    throw new EJBException(ex.getMessage(), ex);
    // invoke the trapemitter
    try {
    if (mbsc != null) {
    if (severity.ordinal() > m_trapMax.ordinal()) {
    severity = m_trapMax;
    String severityArg = severityMap.get(severity);
    Object[] arguments =
    { severityArg, message, m_trapAppName, localHost };
    String[] signature =
    { "java.lang.String", "java.lang.String",
    "java.lang.String", "java.lang.String" };
    mbsc.invoke(delegateName, m_trapAction, arguments,
    signature);
    logger.log(Level.INFO,
    prefixLog("TrapEmitter invoked: severity=" +
    severityArg + " - message=" +
    message));
    } else {
    logger.log(Level.SEVERE,
    prefixLog("Error: No MBean server connection established with " +
    m_trapMbeanURL));
    } catch (MBeanException e) {
    logger.log(Level.SEVERE,
    prefixLog("Error occured in invoked method"),
    e);
    } catch (ReflectionException e) {
    logger.log(Level.SEVERE, prefixLog(e.getMessage()),
    e.getCause());
    } catch (IOException e) {
    logger.log(Level.SEVERE,
    prefixLog("A communication problem occurred when talking to the MBean server"),
    e);
    } catch (InstanceNotFoundException e) {
    logger.log(Level.SEVERE,
    prefixLog("The MBean specified is not registered in the MBean server."),
    e);
    } catch (Exception e) {
    logger.log(Level.SEVERE,
    prefixLog("Error in method notify. Handling resumes..."));
    } finally {
    if (severity.equals(Severity.CRITICAL)) {
    stopConsuming();
    private void stopConsuming() {
    logger.log(Level.FINEST, prefixLog("Started method stopConsuming()"));
    if ("true".equals(m_mdbAutoShutdown)) {
    if (m_mdbMbeanURL == null || m_mdbMbeanURL == "") {
    logger.log(Level.WARNING,
    prefixLog("No MDB MBean URL! Skipping stopConsuming()."));
    } else {
    JMXConnector jmxCon = null;
    try {
    Hashtable<String, String> credentials =
    new Hashtable<String, String>();
    credentials.put("login", m_mdbMbeanAccount);
    credentials.put("password", m_mdbMbeanPassword);
    // Properties required to use the OC4J ORMI protocol
    Hashtable env = new Hashtable();
    env.put(JMXConnectorFactory.PROTOCOL_PROVIDER_PACKAGES,
    "oracle.oc4j.admin.jmx.remote");
    env.put(JMXConnector.CREDENTIALS, credentials);
    JMXServiceURL serviceUrl =
    new JMXServiceURL(m_mdbMbeanURL);
    jmxCon =
    JMXConnectorFactory.newJMXConnector(serviceUrl, env);
    jmxCon.connect();
    MBeanServerConnection mbs =
    jmxCon.getMBeanServerConnection();
    logger.log(Level.FINEST,
    prefixLog("JMX connection established with " +
    m_mdbMbeanURL));
    ObjectName objectName = new ObjectName(m_mdbObjectName);
    MessageDrivenBeanMBeanProxy MDBMBean =
    (MessageDrivenBeanMBeanProxy)MBeanServerInvocationHandler.newProxyInstance(mbs,
    objectName,
    MessageDrivenBeanMBeanProxy.class,
    false);
    MDBMBean.stop();
    logger.log(Level.WARNING,
    prefixLog("Message consumption suspended"));
    } catch (Exception ex) {
    logger.log(Level.SEVERE,
    prefixLog("Error while initializing JMX Server connection"),
    ex);
    throw new EJBException("Error while initializing JMX Server connection",
    ex);
    } else {
    logger.log(Level.WARNING,
    prefixLog("No AutoShutdown. property=false"));
    * Called when the server no longer wants to keep this MDB instance.
    * Closes the connection and statement objects created in <code>ejbCreate</code>.
    public void ejbRemove() {
    try {
    cleanup();
    } catch (Throwable t) {
    logger.log(Level.SEVERE,
    prefixLog("Error in ejbRemove(): " + t.getMessage()));
    /* Cleanup resources cleanly */
    private void cleanup() {
    logger.log(Level.INFO, prefixLog("TenneTMDB.cleanup() called."));
    // m_dsService = null;
    // m_dsCall = null;
    private String prefixLog(String logText) {
    String logPrefix = "%" + m_app + ": ";
    //System.out.println(logPrefix + logText);
    return logPrefix + logText;
    private void logCause(Throwable e, LogLevel logLevel) {
    int i = 0;
    String causeStr;
    Throwable exception = e.getCause();
    while (exception != null) {
    i++;
    causeStr = "Cause " + i + ": " + exception.getMessage();
    switch (logLevel) {
    case INFO:
    logger.log(Level.INFO, prefixLog(causeStr));
    break;
    case WARN:
    logger.log(Level.WARNING, prefixLog(causeStr));
    break;
    case ERROR:
    logger.log(Level.SEVERE, prefixLog(causeStr));
    exception = exception.getCause();
    }

  • Can I call an EJB from the database?

    Hi,
    I've just spent the last few days attempting to call an EJB from a stored procedure in a 10g database (and still haven't succeeded).
    Now having spent hours searching the web (and this forum) for any successful examples (so far I have found none) I thought I'd add a message to see if there is anybody out there who has done this successfully. If so can you please provide me some details on how to do this?
    Alternatively, I'd appreciate any input on how I can overcome my current hurdle in attempting to do this myself.
    Here's how far I've got in my attempt:
    I have a simple stateless session bean deployed to both Oracle 10gAS (a standalone OC4J container in 10.1.3) and to Weblogic 9. I have a client java class that calls a method on this bean and displays some ouput if successful. This all works from a standalone JVM (version 1.4) on both Weblogic and 10gAS.
    I then tried to load the required libraries for Weblogic onto the database (namely the Weblogic.jar file). This resulted in the addition of some 32,000 odd objects of which 30,000 odd could not be resolved. I figured a lot of these may be down to JVM version issues (I believe that Weblogic 9 uses the 1.5 JRE) so I decided to put the Weblogic test on the back burner for now and just use the Oracle app server.
    The tests with the Oracle app server looked promising. I only needed a handful of libraries to be loaded onto the database and all the relevant classes required for my test client had resolved (including the initial context factory required to do the jndi lookup of the bean). After granting all the permissions I believed I needed I'd got to the point where I could do a jndi lookup of the EJB; but when I tried to create an instance of the beans remote interface I got the following error:
    java.security.AccessControlException: the Permission (java.lang.RuntimePermission getClassLoader) has not been granted to ProtectionDomain (file:generated/by/proxy <no certificates>)
    com.evermind.net.DynamicClassLoader@612d9d34
    <no principals>
    java.security.Permissions@eb0f3c1a (
    (java.util.PropertyPermission java.version read)
    (java.util.PropertyPermission java.vm.name read)
    (java.util.PropertyPermission java.vm.vendor read)
    (java.util.PropertyPermission os.name read)
    (java.util.PropertyPermission java.vendor.url read)
    (java.util.PropertyPermission java.vm.specification.vendor read)
    (java.util.PropertyPermission java.specification.vendor read)
    (java.util.PropertyPermission os.version read)
    (java.util.PropertyPermission java.specification.name read)
    (java.util.PropertyPermission java.class.version read)
    (java.util.PropertyPermission file.separator read)
    (java.util.PropertyPermission java.vm.version read)
    (java.util.PropertyPermission os.arch read)
    (java.util.PropertyPermission java.vm.specification.name read)
    (java.util.PropertyPermission java.vm.specification.version read)
    (java.util.PropertyPermission java.specification.version read)
    (java.util.PropertyPermission java.vendor read)
    (java.util.PropertyPermission path.separator read)
    (java.util.PropertyPermission line.separator read)
    (java.net.SocketPermission localhost:1024- listen,resolve)
         at java.security.AccessControlContext.checkPermission(AccessControlContext.java:280)
         at java.security.AccessController.checkPermission(AccessController.java:429)
         at java.lang.SecurityManager.checkPermission(SecurityManager.java:528)
         at oracle.aurora.rdbms.SecurityManagerImpl.checkPermission(SecurityManagerImpl.java:192)
         at java.lang.Thread.getContextClassLoader(Thread.java:1203)
         at com.evermind.server.rmi.RMICall.<init>(RMICall.java:36)
         at com.evermind.server.rmi.RmiCallQueue.createCall(RmiCallQueue.java:33)
         at com.evermind.server.rmi.RMIClientConnection.createQueuedCall(RMIClientConnection.java:592)
         at com.evermind.server.rmi.RMIClientConnection.writeRequest(RMIClientConnection.java:581)
         at com.evermind.server.rmi.RMIClientConnection.sendMethodInvocationRequest(RMIClientConnection.java:426)
         at com.evermind.server.rmi.RMIClientConnection.invokeMethod(RMIClientConnection.java:415)
         at com.evermind.server.rmi.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:63)
         at com.evermind.server.rmi.RecoverableRemoteInvocationHandler.invoke(RecoverableRemoteInvocationHandler.java:28)
         at __Proxy0.create(Unknown Source)
         at com.axiomsystems.test.client.TestDBClient.test(TestDBClient.java:76)
    Has anybody come across this before? If so can they help?
    If not has anybody out there actually managed to call an EJB method (without going via an RMI server/Servlet/or any other proxy).
    Any help in this matter would be greatfully appreciated.
    Cheers,
    Anand.

    Sure, here's the code. It's what JDev generates automatically but I have seperated some things into several diffrent lines so I could experiment easier.
    final Context context = getInitialContext();
    Object o=context.lookup( "SessionEJB4" );
    Object l= PortableRemoteObject.narrow( o, SessionEJB4Home.class );
    final SessionEJB4Home sessionEJB4Home = (SessionEJB4Home)l;
    SessionEJB4 sessionEJB4 = sessionEJB4Home.create();
    String ret=( sessionEJB4.hello( ) );
    As I mentioned, for this I have used EJB2.1 bean, because I had same problems with EJB3.0, so I tried earlier versions of Java to make sure that is not the problem.
    hello() method just returns string "hello".
    Of course, this works in standalone client that is not loaded into database.
    Now, I loaded all the jars mentioned in this thread, using loadjava options -v -resolve, and I loaded client using options -v -resolve -genmissing . Select query on user objects in database shows that client class and relevant classes are all valid.
    Then I created stub and ran it. First it stopped throwing exception ORA-29532: Java call terminated by uncought Java exception: Java.lang.NoClassDefFoundError.
    Method I try to run returns String value which is hello message if it works fine, else it prints the part of the stack trace. In this case, after p[revious error, When I try to run it again, i get return from the method :
    Lookup error: java.lang.NoClassDefFoundError; nested exception is:
         java.lang.NoClassDefFoundError
    com.evermind.server.rmi.RMICall.throwRecordedException(RMICall.java:89)
    com.evermind.server.rmi.RMIClientConnection.waitForJndiResponse(RMIClientConnection.java:371)
    com.evermind.server.rmi.RMIClientConnection.lookup(RMIClientConnection.java:179)
    com.evermind.server.rmi.RMIClient.lookup(RMIClient.java:283)
    com.evermind.server.rmi.RMIClientContext.lookup(RMIClientContext.java:51)
    javax.naming.InitialContext.lookup(InitialContext.java:347)
    simpleejbproject.EJB4Client.hello(EJB4Client.java:35)
    Of course, regular version of the client I run frokm command line works fine.
    So I'm kind of a stuck here. I followed all directions, tried it on oracle 9 and oracle 10 DB, the problems remain the same. Am I missing something here?
    Thanks
    Just to add, getInitialContext()
        private static Context getInitialContext() throws NamingException {
            Hashtable env = new Hashtable();
            // Oracle Application Server 10g connection details
            env.put( Context.INITIAL_CONTEXT_FACTORY, "oracle.j2ee.rmi.RMIInitialContextFactory" );
            env.put( Context.SECURITY_PRINCIPAL, "oc4jadmin" );
            env.put( Context.SECURITY_CREDENTIALS, "manager1" );
            env.put(Context.PROVIDER_URL, "opmn:ormi://mserv:4005:home/TestEjb4");
            return new InitialContext( env );
    It goes withouth any exceptions.
    Message was edited by:
    user510152

  • Looking up EJBs from a java client

    While trying to migrate my application from standalone-oc4j
    to Oracle Application Server 10g, I ran into the following problem.
    My application has a stateless session bean. When trying to lookup the bean (from a java client), I get the following exception:
    javax.naming.NamingException: Lookup error: javax.naming.AuthenticationException
    Invalid username/password for UnifyoccEAR (ias_admin)
    My code used the username/password I used to log into web-based console (which I used to deploy the application). The lookup code follows:
    Hashtable env = new Hashtable();
    env.put(Context.INITIAL_CONTEXT_FACTORY,
    OracleJASLayer.INITIAL_CONTEXT_FACTORY);
    env.put(Context.PROVIDER_URL, "ormi://localhost:3201/UnifyoccEAR");
    env.put(Context.SECURITY_AUTHENTICATION, "simple");
    env.put(Context.SECURITY_PRINCIPAL, username);
    env.put(Context.SECURITY_CREDENTIALS, password);
    Context ctx = new InitialContext(env);
    Object obj = ctx.lookup("unify/nxj/controlCenters/occ/ControlCenterEJB");
    On a whim, I tried the old SCOTT/TIGER username/password and got the following
    exception:
    javax.naming.NoPermissionException: Not allowed to look up unify/nxj/controlCenters/occ/ControlCenterEJB,
    check the namespace-access tag setting in orion-application.xml for details
    So evidently, SCOTT/TIGER is in the security database used by the app (but isn't
    authorized) while the ias_admin user is not in the security database.
    I have the following questions:
    1. In the default configuration, is there a username/password I can use to
    lookup EJB homes in the jndi namespace of an OC4J instance? If so, what
    is it?
    2. Where is the security database? I tried looking in the web-based console
    to find how to configure security and could not figure it out. I did find
    the Security page for the application, but when I tried to add a user,
    it had no effect. Furthermore, this page did not show a user entry for
    SCOTT; hence, it doesn't seem that OC4J is actually using the information
    on this page. This is strange because the path to this page is:
    Farm > Application Server: ias_admin.lab10.sac.unify.com > OC4J: home > Application: UnifyoccEAR > Security
    I then went to the Security page for the default application and found
    that it did have a SCOTT user. So I added a new user and tried to run
    my java client. This resulted in the javax.naming.AuthenticationException
    described above (I was expected the NoPermissionException encounted when
    using SCOTT/TIGER). Next, I used the Security page for the default application
    to change the password for SCOTT and reran my java client using SCOTT/TIGER.
    This time I was expecting an AuthenticationException exception, but got the
    NoPermission exception. Therefore, it seems that OC4J isn't using this
    security data either.
    Hunting in the console (again) for the security database, I stumble accross
    the Infrasturcture page and see an Identity Management section and see that
    it is configure to use an Oracle Internet Directory server. Using
    <ORACLE_HOME>/bin/oidadmin, I connect to the directory server and look
    for the SCOTT user. I don't find it, so I believe that this can't be the
    security database either.
    3. Finally, how do I configure the OC4J instance such that it will allow
    anonymous users to lookup my EJB from a java client?
    Please help a confused and frustrated user.

    Looking at your example, it looks like you are using a J2EE client container or some properties file to specify the JNDI environment used to create the initial context (for you use the no-arg constructor to InitialContext). Since our application needs to the ability to dynamically connect to ejb's running on different Java application servers (e.g., WebLogic, WebSphere, JBoss), such an approach will not work. Instead we must do it the old-fashioned way and pass the jdni connection info to the InitialContext constructor.
    In any event, our problem isn't how to write the connection code, it is how to test it. Specifically, we can't figure out a valid username/password that will allow us to look up the home. Nor can we figure out how to configure security for the oc4j instance.

  • Canu00B4t call an EJB from other EJB

    Hi developers,
    I need do the next task :
    I have a EJB in an EAR and i need call some functionality from other EJB in diferent EAR , when execute the code show the next message error:
    java.rmi.RemoteException: com.sap.engine.services.ejb.exceptions.BaseRemoteException: Exception in method generaMDMOutput.
         at com.sapconsulting.customer.inc.CustomerIncObjectImpl0.generaMDMOutput(CustomerIncObjectImpl0.java:135)
         at com.sapconsulting.customer.inc.CustomerIncObjectImpl0p4_Skel.dispatch(CustomerIncObjectImpl0p4_Skel.java:127)
         at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java(Compiled Code))
         at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java(Inlined Compiled Code))
         at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java(Compiled Code))
         at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java(Compiled Code))
         at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java(Compiled Code))
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java(Compiled Code))
         at java.security.AccessController.doPrivileged1(Native Method)
         at java.security.AccessController.doPrivileged(AccessController.java(Compiled Code))
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java(Compiled Code))
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java(Compiled Code))
    Caused by: java.lang.ClassCastException: com.sap.engine.interfaces.cross.ObjectReferenceImpl
         at com.sapconsulting.customer.inc.CustomerIncBean.generaMDMOutput(CustomerIncBean.java:141)
         at com.sapconsulting.customer.inc.CustomerIncObjectImpl0.generaMDMOutput(CustomerIncObjectImpl0.java:119)
         ... 11 more
    the code to invoke the EJB is the next:
    ctx = new InitialContext();
    TestEJBLocalHome home = (TestEJBLocalHome) ctx.lookup("sap.com/TestEJB_ear/TestEJBBean");
                   TestEJB servicio=(TestEJB)home.create();
    the EJB are in the same server , please help,
    regards

    Hi Siarhei,
    thank's for your answers , i'll explain the scenario , i think i copied wrong the code that i have ,
    i have two EAR's applications , i want to call one EJB from the other EJB in other EAR , the call have to be remote , my code is the next :
    ctx = new InitialContext();
    Object obj = ctx.lookup("sap.com/TestEJB_ear/TestEJBBean");  
    TestEJBHome home = (TestEJBHome) PortableRemoteObject.narrow(obj,TestEJBHome.class);
    TestEJB servicio= home.create();
    i've confugured the ejb-xml.jar adding
    <ejb-ref>
    <ejb-ref-name>ejb/TestEJBBean</ejb-ref-name>
    <ejb-ref-type>Session</ejb-ref-type>
    <home>com.innovativesystems.onl.TestEJBHome</home>
    <remote>com.innovativesystems.onl.TestEJB</remote>
    </ejb-ref>
    I've configured the  ejb-j2ee-jar.xml adding
    <ejb-ref>
    <ejb-ref-name>ejb/TestEJBBean</ejb-ref-name>
    <jndi-name>sap.com/TestEJB_ear/TestEJBBean</jndi-name>
    </ejb-ref>
    I've configured the application-j2ee-engine.xml adding a hard reference
    <reference
    reference-type="hard">
    <reference-target
    provider-name="sap.com"
    target-type="application">TestEJB_ear</reference-target>
    </reference>
    with all this configuration still send me the message java.lang.classcast ,
    something is missing????  ,
    regards

  • Error when calling BPEL process from web service client

    I have created three projects here ,there're no problem when testing Composite Application(SynchronousSampleApplication) by test case inside this project.
    When I create a Java Application(SynchronousSampleApp),inside this project I've created a web service client from file WSDL of BPEL. After that, In Main class, I call an operation from web service client.But have the following error:
    Jul 17, 2008 4:48:22 PM synchronoussampleapp.Main main
    SEVERE: null
    java.rmi.RemoteException: HTTP transport error: java.net.MalformedURLException: For input string: "${HttpDefaultPort}"; nested exception is:
    HTTP transport error: java.net.MalformedURLException: For input string: "${HttpDefaultPort}"
    at SynSample.SynchronuosSamplePortType_Stub.synchronuosSampleOperation(SynchronuosSamplePortType_Stub.java:83)
    at synchronoussampleapp.Main.main(Main.java:24)
    Caused by: HTTP transport error: java.net.MalformedURLException: For input string: "${HttpDefaultPort}"
    at com.sun.xml.rpc.client.http.HttpClientTransport.invoke(HttpClientTransport.java:140)
    at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:96)
    at SynSample.SynchronuosSamplePortType_Stub.synchronuosSampleOperation(SynchronuosSamplePortType_Stub.java:67)
    ... 1 more
    Please help me soon. Thanks very much!

    Can't anyone help me? I'm using Netbean 6.1 and Glassfish server.
    Do I need any additional plugin?

  • Calling an EJB from jsp - ServletException

    I am unable to call an EJB from jsp, unless I put the actuall classes of
              the EJB into the classpath. Is this the right way to do it?
              The exception is:
              Servlet failed with ServletException
              javax.servlet.ServletException: Servlet class: 'jsp_servlet._result'
              could not be loaded - the requested class wasn't found in the
              classpath:
              '/local/apps/bea/wlserver6.0/config/gmodomain/applications/.wl_temp_do_not_delete/wl_local_comp34107.war:/local/apps/bea/wlserver6.0/./config/gmodomain/applications/.wl_temp_do_not_delete/WEB-INF/_tmp_war_gmo_gmo_webwar:/local/apps/bea/wlserver6.0/config/gmodomain/applications/.wl_temp_do_not_delete/WEB-INF/_tmp_war_gmo_gmo_webwar'
              at
              weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:532)
              at weblogic.servlet.jsp.JspStub.prepareServlet(JspStub.java:191)
              at weblogic.servlet.jsp.JspStub.prepareServlet(JspStub.java:148)
              at
              weblogic.servlet.internal.ServletStubImpl.getServlet(ServletStubImpl.java:306)
              at
              weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:208)
              at
              weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:246)
              at
              weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:1265)
              at
              weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:1622)
              at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
              at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
              where result.jsp is the jsp page calling the EJB. I did an import of the
              EJB classes in the jsp.
              like i said, it works if I put the bean classes in the classpath. But is
              it right?
              if I have these in the exploded format, do I need to put anything in the
              application web.xml under:
              wlserver6.0/config/gmodomain/applications/DefaultWebApp_gmo/WEB-INF ?
              redhat 6.2, wl6.0sp1
              here are the xml files:
              web.xml:
              <?xml version="1.0"?>
              <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application
              2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
              <!--
              $Id: web.xml,v 1.2 2001/03/14 22:23:03 jeff Exp $
              $Source:
              /usr/local/cvsroot/JUnitEE/example/components/web-war/WEB-INF/web.xml,v
              $
              -->
              <web-app>
              <display-name>My Web Application</display-name>
              <description>none</description>
              <ejb-ref>
              <ejb-ref-name>MyWeb</ejb-ref-name>
              <ejb-ref-type>Session</ejb-ref-type>
              <home>com.blah.ejb.myweb.WyWebHome</home>
              <remote>com.blah.ejb.myweb.MyWeb</remote>
              </ejb-ref>
              </web-app>
              weblogic.xml:
              <!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web
              Application 6.0//EN"
              "http://www.bea.com/servers/wls600/dtd/weblogic-web-jar.dtd">
              <weblogic-web-app>
              <jsp-descriptor>
              <jsp-param>
              <param-name>
              pageCheckSeconds
              </param-name>
              <param-value>
              1
              </param-value>
              </jsp-param>
              <jsp-param>
              <param-name>
              verbose
              </param-name>
              <param-value>
              true
              </param-value>
              </jsp-param>
              <jsp-param>
              <param-name>compileCommand</param-name>
              <param-value>/local/apps/jdk1.3.0_02/bin/javac</param-value>
              </jsp-param>
              </jsp-descriptor>
              <reference-descriptor>
              <ejb-reference-description>
              <ejb-ref-name>MyWeb</ejb-ref-name>
              <jndi-name>MyWeb</jndi-name>
              </ejb-reference-description>
              </reference-descriptor>
              </weblogic-web-app>
              thanks,
              Gary
              

    Did you package your JSPs in a WAR and your EJBs in a JAR and package the
              WAR and JAR in an EAR? That is how to do it in 6.0. Works well.
              Peace,
              Cameron Purdy
              Tangosol, Inc.
              http://www.tangosol.com
              +1.617.623.5782
              WebLogic Consulting Available
              "gmo" <[email protected]> wrote in message
              news:[email protected]...
              > I am unable to call an EJB from jsp, unless I put the actuall classes of
              > the EJB into the classpath. Is this the right way to do it?
              > The exception is:
              > Servlet failed with ServletException
              > javax.servlet.ServletException: Servlet class: 'jsp_servlet._result'
              > could not be loaded - the requested class wasn't found in the
              > classpath:
              >
              '/local/apps/bea/wlserver6.0/config/gmodomain/applications/.wl_temp_do_not_d
              elete/wl_local_comp34107.war:/local/apps/bea/wlserver6.0/./config/gmodomain/
              applications/.wl_temp_do_not_delete/WEB-INF/_tmp_war_gmo_gmo_webwar:/local/a
              pps/bea/wlserver6.0/config/gmodomain/applications/.wl_temp_do_not_delete/WEB
              -INF/_tmp_war_gmo_gmo_webwar'
              >
              > at
              >
              weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.jav
              a:532)
              >
              > at weblogic.servlet.jsp.JspStub.prepareServlet(JspStub.java:191)
              >
              > at weblogic.servlet.jsp.JspStub.prepareServlet(JspStub.java:148)
              >
              > at
              >
              weblogic.servlet.internal.ServletStubImpl.getServlet(ServletStubImpl.java:30
              6)
              >
              > at
              >
              weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
              :208)
              >
              > at
              >
              weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
              :246)
              >
              > at
              >
              weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo
              ntext.java:1265)
              >
              > at
              >
              weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java
              :1622)
              >
              > at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
              >
              > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
              >
              > where result.jsp is the jsp page calling the EJB. I did an import of the
              > EJB classes in the jsp.
              > like i said, it works if I put the bean classes in the classpath. But is
              > it right?
              > if I have these in the exploded format, do I need to put anything in the
              > application web.xml under:
              > wlserver6.0/config/gmodomain/applications/DefaultWebApp_gmo/WEB-INF ?
              >
              > redhat 6.2, wl6.0sp1
              >
              > here are the xml files:
              > web.xml:
              >
              > <?xml version="1.0"?>
              > <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application
              > 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
              >
              > <!--
              > $Id: web.xml,v 1.2 2001/03/14 22:23:03 jeff Exp $
              > $Source:
              > /usr/local/cvsroot/JUnitEE/example/components/web-war/WEB-INF/web.xml,v
              > $
              > -->
              >
              > <web-app>
              > <display-name>My Web Application</display-name>
              > <description>none</description>
              > <ejb-ref>
              > <ejb-ref-name>MyWeb</ejb-ref-name>
              > <ejb-ref-type>Session</ejb-ref-type>
              > <home>com.blah.ejb.myweb.WyWebHome</home>
              > <remote>com.blah.ejb.myweb.MyWeb</remote>
              > </ejb-ref>
              > </web-app>
              >
              > weblogic.xml:
              >
              > <!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web
              > Application 6.0//EN"
              > "http://www.bea.com/servers/wls600/dtd/weblogic-web-jar.dtd">
              > <weblogic-web-app>
              > <jsp-descriptor>
              > <jsp-param>
              > <param-name>
              > pageCheckSeconds
              > </param-name>
              > <param-value>
              > 1
              > </param-value>
              > </jsp-param>
              > <jsp-param>
              > <param-name>
              > verbose
              > </param-name>
              > <param-value>
              > true
              > </param-value>
              > </jsp-param>
              > <jsp-param>
              > <param-name>compileCommand</param-name>
              > <param-value>/local/apps/jdk1.3.0_02/bin/javac</param-value>
              > </jsp-param>
              > </jsp-descriptor>
              > <reference-descriptor>
              > <ejb-reference-description>
              > <ejb-ref-name>MyWeb</ejb-ref-name>
              > <jndi-name>MyWeb</jndi-name>
              > </ejb-reference-description>
              > </reference-descriptor>
              > </weblogic-web-app>
              >
              > thanks,
              >
              > Gary
              >
              >
              

  • How to Call one EJB from another

    Hi all
    I am trying to call one EJB in one system from another EJB residing on diferent system...
    Both are Stateless session beans ...
    I can't use No-args Intialcontext() as i need to specify the Ip address of other system to be looked up.....
    So i am using properties Dorg.omg.CORBA.ORBInitlalHost....
    But its not looking up..Its telling not bound...But i called it from standalone client remotely...
    Am i wrong..?
    I hope I am in right path....
    I hope ill get reply as fast as possible...
    Gopal V

    Hi ken Thanks for replying....
    Ya i packed it as a jar (using Export tool in Eclipse3.2)....
    I am using SUN AS 9.....
    I packed bean1 and bean2 as two different jars in the same domain...
    Here is my code...
    Bean1:
    @Stateless(mappedName="ejb/Second")
    public class SecondIMPL implements SecondRemote {
         public FirstRemote obj;
         public String connect() {
              try{
                   InitialContext ctx= new InitialContext();
                   FirstRemote obj =(FirstRemote)ctx.lookup("ejb/First");
                   System.out.println("Client :"+obj.bMethod());
              }catch(Exception e){
                   e.printStackTrace();
              return "Check server Log";
    }Bean2 :
    @Stateless(mappedName="ejb/First")
    public class FirstIMPL implements FirstRemote {
         public String bMethod() {
              return "From First Bean";
    Client:
    public static void main(String[] args) {
              try{
                   InitialContext ctx= new InitialContext();
                   SecondRemote obj =(SecondRemote)ctx.lookup("ejb/Second");
                   System.out.println("Client :"+obj.connect());
              }catch(Exception e){
                   e.printStackTrace();
    Here is my Stack Trace...
    [#|2007-05-24T18:35:17.214+0530|WARNING|sun-appserver-pe9.0|javax.enterprise.system.stream.err|_ThreadID=18;_ThreadName=p: thread-pool-1; w: 19;_RequestID=bb4848e7-829a-421d-a560-93659898eb02;|
    javax.naming.NamingException: ejb ref resolution error for remote business interfacecom.SecondRemote[Root exception is java.lang.ClassNotFoundException: com.SecondRemote]
         at com.sun.ejb.EJBUtils.lookupRemote30BusinessObject(EJBUtils.java:350)
         at com.sun.ejb.containers.RemoteBusinessObjectFactory.getObjectInstance(RemoteBusinessObjectFactory.java:61)
         at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)
         at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:314)
         at javax.naming.InitialContext.lookup(InitialContext.java:351)
         at com.FirstBean.rediff(FirstBean.java:16)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.sun.enterprise.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1050)
         at com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:165)
         at com.sun.ejb.containers.BaseContainer.invokeTargetBeanMethod(BaseContainer.java:2766)
         at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:3847)
         at com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:190)
         at com.sun.ejb.containers.EJBObjectInvocationHandlerDelegate.invoke(EJBObjectInvocationHandlerDelegate.java:110)
         at $Proxy36.rediff(Unknown Source)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:121)
         at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:650)
         at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:193)
         at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1705)
         at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1565)
         at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:947)
         at com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:178)
         at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:717)
         at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.dispatch(SocketOrChannelConnectionImpl.java:473)
         at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.doWork(SocketOrChannelConnectionImpl.java:1270)
         at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:479)
    Caused by: java.lang.ClassNotFoundException: com.Second
         at com.sun.enterprise.loader.EJBClassLoader.findClassData(EJBClassLoader.java:701)
         at com.sun.enterprise.loader.EJBClassLoader.findClass(EJBClassLoader.java:614)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
         at com.sun.ejb.EJBUtils.getBusinessIntfClassLoader(EJBUtils.java:568)
         at com.sun.ejb.EJBUtils.lookupRemote30BusinessObject(EJBUtils.java:320)
         ... 31 more
    |#]

  • Calling web-service from non-SAP client

    Hi,
    Could anyone here help me with the code with which we can call the non-SAP service in java from a java client.
    I have the wsdl and service deployed on the server.
    Regards,
    Manoj

    Hi Eduardo,
    We are trying to consume a non-SAP webservice (https based) which uses a certificate issued by the non-SAP web service provider for authentication.
    We tried consuming the web service using the Web Dynpro Java's Adaptive WebService Model method. We configured the Logical Destinations with X.509 client certificate authentication and have added the certificate to the WebServicesSecurity keystore.
    However, when we run the application, we get the 'Peer certificate rejected by ChainVerifier' error.
    Could you guide us on how to resolve the same ? If possible would you also provide the step-by-step details of how to create the EJB application that you did to achine this ?
    Any help is greatly appreciated.
    Thanks.
    Melwyn.

  • Challenge: call local ejb from remote ejb on weblogic 9.2

    Hi ALL,
    How do I call to local ejb from remote ejb object. The jar file is deployed on weblogic server 9.2, if you want get it http://geocities.yahoo.com.br/lindembe/BEAProject.jar and the source code are http://geocities.yahoo.com.br/lindembe/BEAProject.zip. It is a sample app with two ejb that works so good on JBOSS, JOnAS, but BEA Weblogic.....
    The complete problem you watch http://forum.java.sun.com/thread.jspa?threadID=768718&messageID=4387570#4387570
    or
    http://forums.bea.com/bea/message.jspa?messageID=600043148&tstart=0

    Your code in SigemFacadeBean should just do:
    InitialContext ctx = new InitialContext();
    when you lookup the local EJB. (This will work on all app servers. There's no need to put an app-server specific intial context factory in your code.)
    Also, you can remove the jndi-name setting for the local ejb from your weblogic-ejb-jar.xml. jndi-name is only applied to remote ejbs.
    -- Rob
    WLS Blog http://dev2dev.bea.com/blog/rwoollen/

  • Calling an EJB from Java Mappings in PI 7.1

    In my operation mapping, I am using a Java class which in turn invokes an EJB using JNDI lookup.
    When I execute the code, the class is successfully finding the EJB using JNDI, but invoking it I am getting a java.lang.NoClassDefFoundError.
    If, I add the class it cannot find to the jar containing the Java mapping class, I get a java.lang.ClassCastException.
    Has anyone been able to call a custom EJB from with a Java Mapping class?
    Any help appreciated.
    Thanks.

    Hello.
    Check my wiki article:
    http://wiki.sdn.sap.com/wiki/display/stage/SapNetweaverProcessIntegration.CallEjb3.0methodfromJavaclassmappingPI7.1
    (SapNetweaver Process Integration. Call Ejb 3.0 method from Java class mapping PI 7.1 )
    Greedings

  • Call an EJB from standalone program in WS

    Hello,
    I am trying to call an ejb program from JavaProject(stand alone program) of WebsphereApplication Developer5.1.2.After getting initial context,it throws an error. The stack trace as follows,
    javax.naming.NamingException: Error during resolve. Root exception is org.omg.CORBA.NO_IMPLEMENT: vmcid: 0x0 minor code: 0 completed: No
    at com.ibm.ws.Transaction.JTS.CurrentImpl.suspend(CurrentImpl.java:394)
    at com.ibm.ws.naming.jndicos.CNContextImpl.suspendTransaction(CNContextImpl.java:4070)
    at com.ibm.ws.naming.jndicos.CNContextImpl.cosResolve(CNContextImpl.java:3521)
    at com.ibm.ws.naming.jndicos.CNContextImpl.doLookup(CNContextImpl.java:1565)
    at com.ibm.ws.naming.jndicos.CNContextImpl.doLookup(CNContextImpl.java:1525)
    at com.ibm.ws.naming.jndicos.CNContextImpl.lookup(CNContextImpl.java:1225)
    at com.ibm.ws.naming.util.WsnInitCtx.lookup(WsnInitCtx.java:132)
    at javax.naming.InitialContext.lookup(InitialContext.java:360)
    at com.cts.ramyaJava.TrySample.main(TrySample.java:48)
    If anyone faced the same problem,please let me know the solution.
    Thanks,
    Ramya Dharmarajan.

    Hello,
    I am trying to call an ejb program from JavaProject(stand alone program) of WebsphereApplication Developer5.1.2.After getting initial context,it throws an error. The stack trace as follows,
    javax.naming.NamingException: Error during resolve. Root exception is org.omg.CORBA.NO_IMPLEMENT: vmcid: 0x0 minor code: 0 completed: No
    at com.ibm.ws.Transaction.JTS.CurrentImpl.suspend(CurrentImpl.java:394)
    at com.ibm.ws.naming.jndicos.CNContextImpl.suspendTransaction(CNContextImpl.java:4070)
    at com.ibm.ws.naming.jndicos.CNContextImpl.cosResolve(CNContextImpl.java:3521)
    at com.ibm.ws.naming.jndicos.CNContextImpl.doLookup(CNContextImpl.java:1565)
    at com.ibm.ws.naming.jndicos.CNContextImpl.doLookup(CNContextImpl.java:1525)
    at com.ibm.ws.naming.jndicos.CNContextImpl.lookup(CNContextImpl.java:1225)
    at com.ibm.ws.naming.util.WsnInitCtx.lookup(WsnInitCtx.java:132)
    at javax.naming.InitialContext.lookup(InitialContext.java:360)
    at com.cts.ramyaJava.TrySample.main(TrySample.java:48)
    If anyone faced the same problem,please let me know the solution.
    Thanks,
    Ramya Dharmarajan.

  • How do youi call an EJB from a composite app

    I created a simple composite application, called testserve.
    Here is the entire body of the implementation class, testserveBeanImpl.java
    package com.sap.demo.testserve.modeled.appsrv.testserve;
    import com.sap.demo.*;
    @com.sap.caf.dt.CAFWebService(name="testserve")
    @javax.jws.soap.SOAPBinding(style=javax.jws.soap.SOAPBinding.Style.RPC, use=javax.jws.soap.SOAPBinding.Use.LITERAL)
    @javax.jws.WebService(name="testserve", serviceName="testserve", portName="testservePort", targetNamespace="http://www.sap.com/caf/demo.sap.com/testserve/modeled", wsdlLocation="META-INF/wsdl/testserve.wsdl")
    @javax.ejb.Stateless(name = "com.sap.demo.testserve.modeled.appsrv.testserve.testserve")
    @javax.ejb.Local(value = { com.sap.demo.testserve.modeled.appsrv.testserve.testserveServiceLocal.class })
    @javax.interceptor.Interceptors(value = { com.sap.caf.rt.interceptors.LogInterceptor.class })
    public class testserveBeanImpl extends
              com.sap.demo.testserve.modeled.appsrv.testserve.testserveBean {
                    //these two lines are used to inject an EJB which is packaged in the EAR
         @javax.ejb.EJB (beanName="com.sap.demo.TestbeanBean")
                   private com.sap.demo.TestbeanBean theTestBean;
         @com.sap.caf.dt.CAFOperation(name = "serviceTest1")
         @javax.jws.WebMethod(exclude=false, operationName="serviceTest1")
         @javax.jws.WebResult(name="outputParameter1")
         public java.lang.Integer serviceTest1() {
                                   //test1() just writes to console, simple test to test EJB connectivity
              theTestBean.test1();
              return 1;
    There is a second ejb project called testejb which contains the stateless session bean TestbeanBean.
    The code compiles fine as typed above.
    However, when deployed, I get the following exception, which I will post in a reply, since this post is too long. I am sure that I neglected to
    set up something so that the testserve service can find the EJB TestbeanBean at runtime, but I need some
    guidance. I have searched the help for a couple days and have not found anything useful. Is there a step by step
    explanation for configuring this?  To be clear, I want a web service created in the Composition Application perspective
    to be able to call an EJB in an EJB project. I don't want to create a web service out of the EJB (TestbeanBean) for performance reasons. Thanks.
    The service works fine when the 3 lines relating to  TestbeanBean are removed.

    Abbreviated error trace
    #1#javax.ejb.EJBException: Exception in getMethodReady() for stateless bean
    : Injection on field theTestBean of instance com.sap.demo.testserve.modeled.appsrv.testserve.testserveBeanImpl@ca49f82 failed. Could not get a value to be injected from the factory.
    Caused by: javax.ejb.EJBException: Cannot perform injection over bean instance
    Caused by: com.sap.engine.lib.injection.InjectionException: Injection on field theTestBean of instance com.sap.demo.testserve.modeled.appsrv.testserve.testserveBeanImpl@ca49f82 failed. Could not get a value to be injected from the factory.
         at com.sap.engine.lib.injection.FieldInjector.inject(FieldInjector.java:115)
    Caused by: javax.naming.NamingException: Error occurs while the EJB Object Factory trying to resolve JNDI reference Reference Class Name: com.sap.demo.testserve.modeled.appsrv.testserve.testserveBeanImpl/theTestBean
    Type: clientAppName
    Content: demo.sap.com/testserve~ear
    Type: interfaceType
    Content: undetermined
    Type: undetermined
    Content: com.sap.demo.TestbeanBean
    Type: ejb-link
    Content: com.sap.demo.TestbeanBean
    javax.ejb.EJBException: Cannot find EJB matching the criterions defined by JNDI reference: 'Reference Class Name: com.sap.demo.testserve.modeled.appsrv.testserve.testserveBeanImpl/theTestBean
    Type: clientAppName
    Content: demo.sap.com/testserve~ear
    Type: interfaceType
    Content: undetermined
    Type: undetermined
    Content: com.sap.demo.TestbeanBean
    Type: ejb-link
    Content: com.sap.demo.TestbeanBean
    '].  Searched applications order is USED_CLASS_LOADER[

  • Error when calling remote EJB from my application

    hi
    I am getting the following error when i am trying to call a remote EJB from my application.
    Can any help me out regarding this issue
    javax.naming.ConfigurationException: COS Name Service not registered with ORB under the name 'NameService'. Root exception is org.omg.CORBA.ORBPackage.InvalidName: NameService:org.omg.CORBA.COMM_FAILURE: purge_calls:1500 reason=1 state=5 vmcid: IBM minor code: 306 completed: Maybe
         at com.ibm.rmi.corba.InitialReferenceClient.resolve_initial_references(InitialReferenceClient.java:218)
         at com.ibm.rmi.corba.ORB.resolve_initial_references(ORB.java:4428)
         at com.ibm.rmi.iiop.ORB.resolve_initial_references(ORB.java:654)
         at com.ibm.CORBA.iiop.ORB.resolve_initial_references(ORB.java:3363)
         at com.sun.jndi.cosnaming.CNCtx.setOrbAndRootContext(CNCtx.java:387)
         at com.sun.jndi.cosnaming.CNCtx.initUsingIiopUrl(CNCtx.java:330)
         at com.sun.jndi.cosnaming.CNCtx.initUsingUrl(CNCtx.java:285)
         at com.sun.jndi.cosnaming.CNCtx.initOrbAndRootContext(CNCtx.java:236)
         at com.sun.jndi.cosnaming.CNCtx.<init>(CNCtx.java:84)
         at com.sun.jndi.cosnaming.CNCtxFactory.getInitialContext(CNCtxFactory.java:50)
         at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:675)
         at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:257)
         at javax.naming.InitialContext.init(InitialContext.java:233)
         at javax.naming.InitialContext.<init>(InitialContext.java:209)
         at com.ibm._jsp._invoke._jspService(_invoke.java:89)
         at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:91)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1572)
         at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:762)
         at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:121)
         at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.handleRequest(JSPExtensionServletWrapper.java:204)
         at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3071)
         at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:236)
         at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:210)
         at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1958)
         at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:109)
         at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:472)
         at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:411)
         at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:288)
         at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminaters(NewConnectionInitialReadCallback.java:207)
         at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:109)
         at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:566)
         at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:619)
         at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:952)
         at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1039)
         at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1471)
    Caused by: org.omg.CORBA.COMM_FAILURE: purge_calls:1500 reason=1 state=5 vmcid: IBM minor code: 306 completed: Maybe
         at com.ibm.rmi.iiop.Connection.purge_calls(Connection.java:1499)
         at com.ibm.rmi.iiop.Connection.doReaderWorkOnce(Connection.java:2702)
         at com.ibm.rmi.transport.ReaderThread.run(ReaderPoolImpl.java:137)
    [4/26/07 19:35:11:727 IST] 00000053 SystemErr R      at com.ibm.rmi.corba.InitialReferenceClient.resolve_initial_references(InitialReferenceClient.java:218)
    [4/26/07 19:35:11:727 IST] 00000053 SystemErr R      at com.ibm.rmi.corba.ORB.resolve_initial_references(ORB.java:4428)
    [4/26/07 19:35:11:727 IST] 00000053 SystemErr R      at com.ibm.rmi.iiop.ORB.resolve_initial_references(ORB.java:654)
    [4/26/07 19:35:11:727 IST] 00000053 SystemErr R      at com.ibm.CORBA.iiop.ORB.resolve_initial_references(ORB.java:3363)
    [4/26/07 19:35:11:727 IST] 00000053 SystemErr R      at com.sun.jndi.cosnaming.CNCtx.setOrbAndRootContext(CNCtx.java:387)
    [4/26/07 19:35:11:727 IST] 00000053 SystemErr R      at com.sun.jndi.cosnaming.CNCtx.initUsingIiopUrl(CNCtx.java:330)
    [4/26/07 19:35:11:727 IST] 00000053 SystemErr R      at com.sun.jndi.cosnaming.CNCtx.initUsingUrl(CNCtx.java:285)
    [4/26/07 19:35:11:727 IST] 00000053 SystemErr R      at com.sun.jndi.cosnaming.CNCtx.initOrbAndRootContext(CNCtx.java:236)
    [4/26/07 19:35:11:727 IST] 00000053 SystemErr R      at com.sun.jndi.cosnaming.CNCtx.<init>(CNCtx.java:84)
    [4/26/07 19:35:11:727 IST] 00000053 SystemErr R      at com.sun.jndi.cosnaming.CNCtxFactory.getInitialContext(CNCtxFactory.java:50)
    [4/26/07 19:35:11:727 IST] 00000053 SystemErr R      at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:675)
    [4/26/07 19:35:11:727 IST] 00000053 SystemErr R      at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:257)
    [4/26/07 19:35:11:727 IST] 00000053 SystemErr R      at javax.naming.InitialContext.init(InitialContext.java:233)
    [4/26/07 19:35:11:727 IST] 00000053 SystemErr R      at javax.naming.InitialContext.<init>(InitialContext.java:209)
    [4/26/07 19:35:11:727 IST] 00000053 SystemErr R      at com.ibm._jsp._invoke._jspService(_invoke.java:89)
    [4/26/07 19:35:11:727 IST] 00000053 SystemErr R      at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:91)
    [4/26/07 19:35:11:727 IST] 00000053 SystemErr R      at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    [4/26/07 19:35:11:727 IST] 00000053 SystemErr R      at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1572)
    [4/26/07 19:35:11:727 IST] 00000053 SystemErr R      at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:762)
    [4/26/07 19:35:11:727 IST] 00000053 SystemErr R      at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:121)
    [4/26/07 19:35:11:727 IST] 00000053 SystemErr R      at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.handleRequest(JSPExtensionServletWrapper.java:204)
    [4/26/07 19:35:11:727 IST] 00000053 SystemErr R      at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3071)
    [4/26/07 19:35:11:727 IST] 00000053 SystemErr R      at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:236)
    [4/26/07 19:35:11:727 IST] 00000053 SystemErr R      at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:210)
    [4/26/07 19:35:11:727 IST] 00000053 SystemErr R      at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1958)
    [4/26/07 19:35:11:727 IST] 00000053 SystemErr R      at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:109)
    [4/26/07 19:35:11:727 IST] 00000053 SystemErr R      at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:472)
    [4/26/07 19:35:11:727 IST] 00000053 SystemErr R      at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:411)
    [4/26/07 19:35:11:727 IST] 00000053 SystemErr R      at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:288)
    [4/26/07 19:35:11:727 IST] 00000053 SystemErr R      at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminaters(NewConnectionInitialReadCallback.java:207)
    [4/26/07 19:35:11:727 IST] 00000053 SystemErr R      at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:109)
    [4/26/07 19:35:11:727 IST] 00000053 SystemErr R      at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:566)
    [4/26/07 19:35:11:727 IST] 00000053 SystemErr R      at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:619)
    [4/26/07 19:35:11:727 IST] 00000053 SystemErr R      at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:952)
    [4/26/07 19:35:11:727 IST] 00000053 SystemErr R      at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1039)
    [4/26/07 19:35:11:727 IST] 00000053 SystemErr R      at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1471)
    [4/26/07 19:35:11:727 IST] 00000053 SystemErr R Caused by: org.omg.CORBA.COMM_FAILURE: purge_calls:1500 reason=1 state=5 vmcid: IBM minor code: 306 completed: Maybe
    [4/26/07 19:35:11:727 IST] 00000053 SystemErr R      at com.ibm.rmi.iiop.Connection.purge_calls(Connection.java:1499)
    [4/26/07 19:35:11:727 IST] 00000053 SystemErr R      at com.ibm.rmi.iiop.Connection.doReaderWorkOnce(Connection.java:2702)
    [4/26/07 19:35:11:727 IST] 00000053 SystemErr R      at com.ibm.rmi.transport.ReaderThread.run(ReaderPoolImpl.java:137)
    [4/26/07 19:35:11:727 IST] 00000054 SystemErr R javax.naming.ConfigurationException: COS Name Service not registered with ORB under the name 'NameService'. Root exception is org.omg.CORBA.ORBPackage.InvalidName: NameService:org.omg.CORBA.COMM_FAILURE: purge_calls:1500 reason=1 state=5 vmcid: IBM minor code: 306 completed: Maybe
         at com.ibm.rmi.corba.InitialReferenceClient.resolve_initial_references(InitialReferenceClient.java:218)
         at com.ibm.rmi.corba.ORB.resolve_initial_references(ORB.java:4428)
         at com.ibm.rmi.iiop.ORB.resolve_initial_references(ORB.java:654)
         at com.ibm.CORBA.iiop.ORB.resolve_initial_references(ORB.java:3363)
         at com.sun.jndi.cosnaming.CNCtx.setOrbAndRootContext(CNCtx.java:387)
         at com.sun.jndi.cosnaming.CNCtx.initUsingIiopUrl(CNCtx.java:330)
         at com.sun.jndi.cosnaming.CNCtx.initUsingUrl(CNCtx.java:285)
         at com.sun.jndi.cosnaming.CNCtx.initOrbAndRootContext(CNCtx.java:236)
         at com.sun.jndi.cosnaming.CNCtx.<init>(CNCtx.java:84)
         at com.sun.jndi.cosnaming.CNCtxFactory.getInitialContext(CNCtxFactory.java:50)
         at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:675)
         at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:257)
         at javax.naming.InitialContext.init(InitialContext.java:233)
         at javax.naming.InitialContext.<init>(InitialContext.java:209)
         at com.ibm._jsp._invoke._jspService(_invoke.java:89)
         at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:91)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1572)
         at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:762)
         at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:121)
         at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.handleRequest(JSPExtensionServletWrapper.java:204)
         at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3071)
         at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:236)
         at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:210)
         at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1958)
         at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:109)
         at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:472)
         at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:411)
         at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:288)
         at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminaters(NewConnectionInitialReadCallback.java:207)
         at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:109)
         at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:566)
         at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:619)
         at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:952)
         at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1039)
         at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1471)
    Caused by: org.omg.CORBA.COMM_FAILURE: purge_calls:1500 reason=1 state=5 vmcid: IBM minor code: 306 completed: Maybe
         at com.ibm.rmi.iiop.Connection.purge_calls(Connection.java:1499)
         at com.ibm.rmi.iiop.Connection.doReaderWorkOnce(Connection.java:2702)
         at com.ibm.rmi.transport.ReaderThread.run(ReaderPoolImpl.java:137)
    [4/26/07 19:35:11:742 IST] 00000054 SystemErr R      at com.ibm.rmi.corba.InitialReferenceClient.resolve_initial_references(InitialReferenceClient.java:218)
    [4/26/07 19:35:11:742 IST] 00000054 SystemErr R      at com.ibm.rmi.corba.ORB.resolve_initial_references(ORB.java:4428)
    [4/26/07 19:35:11:742 IST] 00000054 SystemErr R      at com.ibm.rmi.iiop.ORB.resolve_initial_references(ORB.java:654)
    [4/26/07 19:35:11:742 IST] 00000054 SystemErr R      at com.ibm.CORBA.iiop.ORB.resolve_initial_references(ORB.java:3363)
    [4/26/07 19:35:11:742 IST] 00000054 SystemErr R      at com.sun.jndi.cosnaming.CNCtx.setOrbAndRootContext(CNCtx.java:387)
    [4/26/07 19:35:11:742 IST] 00000054 SystemErr R      at com.sun.jndi.cosnaming.CNCtx.initUsingIiopUrl(CNCtx.java:330)
    [4/26/07 19:35:11:742 IST] 00000054 SystemErr R      at com.sun.jndi.cosnaming.CNCtx.initUsingUrl(CNCtx.java:285)
    [4/26/07 19:35:11:742 IST] 00000054 SystemErr R      at com.sun.jndi.cosnaming.CNCtx.initOrbAndRootContext(CNCtx.java:236)
    [4/26/07 19:35:11:742 IST] 00000054 SystemErr R      at com.sun.jndi.cosnaming.CNCtx.<init>(CNCtx.java:84)
    [4/26/07 19:35:11:742 IST] 00000054 SystemErr R      at com.sun.jndi.cosnaming.CNCtxFactory.getInitialContext(CNCtxFactory.java:50)
    [4/26/07 19:35:11:742 IST] 00000054 SystemErr R      at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:675)
    [4/26/07 19:35:11:742 IST] 00000054 SystemErr R      at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:257)
    [4/26/07 19:35:11:742 IST] 00000054 SystemErr R      at javax.naming.InitialContext.init(InitialContext.java:233)
    [4/26/07 19:35:11:742 IST] 00000054 SystemErr R      at javax.naming.InitialContext.<init>(InitialContext.java:209)
    [4/26/07 19:35:11:742 IST] 00000054 SystemErr R      at com.ibm._jsp._invoke._jspService(_invoke.java:89)
    [4/26/07 19:35:11:742 IST] 00000054 SystemErr R      at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:91)
    [4/26/07 19:35:11:742 IST] 00000054 SystemErr R      at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    [4/26/07 19:35:11:742 IST] 00000054 SystemErr R      at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1572)
    [4/26/07 19:35:11:742 IST] 00000054 SystemErr R      at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:762)
    [4/26/07 19:35:11:742 IST] 00000054 SystemErr R      at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:121)
    [4/26/07 19:35:11:742 IST] 00000054 SystemErr R      at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.handleRequest(JSPExtensionServletWrapper.java:204)
    [4/26/07 19:35:11:742 IST] 00000054 SystemErr R      at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3071)
    [4/26/07 19:35:11:742 IST] 00000054 SystemErr R      at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:236)
    [4/26/07 19:35:11:742 IST] 00000054 SystemErr R      at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:210)
    [4/26/07 19:35:11:742 IST] 00000054 SystemErr R      at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1958)
    [4/26/07 19:35:11:742 IST] 00000054 SystemErr R      at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:109)
    [4/26/07 19:35:11:742 IST] 00000054 SystemErr R      at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:472)
    [4/26/07 19:35:11:742 IST] 00000054 SystemErr R      at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:411)
    [4/26/07 19:35:11:742 IST] 00000054 SystemErr R      at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:288)
    [4/26/07 19:35:11:742 IST] 00000054 SystemErr R      at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminaters(NewConnectionInitialReadCallback.java:207)
    [4/26/07 19:35:11:742 IST] 00000054 SystemErr R      at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:109)
    [4/26/07 19:35:11:742 IST] 00000054 SystemErr R      at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:566)
    [4/26/07 19:35:11:742 IST] 00000054 SystemErr R      at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:619)
    [4/26/07 19:35:11:742 IST] 00000054 SystemErr R      at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:952)
    [4/26/07 19:35:11:742 IST] 00000054 SystemErr R      at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1039)
    [4/26/07 19:35:11:742 IST] 00000054 SystemErr R      at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1471)
    [4/26/07 19:35:11:742 IST] 00000054 SystemErr R Caused by: org.omg.CORBA.COMM_FAILURE: purge_calls:1500 reason=1 state=5 vmcid: IBM minor code: 306 completed: Maybe
    [4/26/07 19:35:11:742 IST] 00000054 SystemErr R      at com.ibm.rmi.iiop.Connection.purge_calls(Connection.java:1499)
    [4/26/07 19:35:11:742 IST] 00000054 SystemErr R      at com.ibm.rmi.iiop.Connection.doReaderWorkOnce(Connection.java:2702)
    [4/26/07 19:35:11:742 IST] 00000054 SystemErr R      at com.ibm.rmi.transport.ReaderThread.run(ReaderPoolImpl.java:137)
    [4/26/07 19:37:22:758 IST] 00000052 SystemErr R javax.naming.ConfigurationException: COS Name Service not registered with ORB under the name 'NameService'. Root exception is org.omg.CORBA.ORBPackage.InvalidName: NameService:org.omg.CORBA.COMM_FAILURE: purge_calls:1500 reason=1 state=5 vmcid: IBM minor code: 306 completed: Maybe
         at com.ibm.rmi.corba.InitialReferenceClient.resolve_initial_references(InitialReferenceClient.java:218)
         at com.ibm.rmi.corba.ORB.resolve_initial_references(ORB.java:4428)
         at com.ibm.rmi.iiop.ORB.resolve_initial_references(ORB.java:654)
         at com.ibm.CORBA.iiop.ORB.resolve_initial_references(ORB.java:3363)
         at com.sun.jndi.cosnaming.CNCtx.setOrbAndRootContext(CNCtx.java:387)
         at com.sun.jndi.cosnaming.CNCtx.initUsingIiopUrl(CNCtx.java:330)
         at com.sun.jndi.cosnaming.CNCtx.initUsingUrl(CNCtx.java:285)
         at com.sun.jndi.cosnaming.CNCtx.initOrbAndRootContext(CNCtx.java:236)
         at com.sun.jndi.cosnaming.CNCtx.<init>(CNCtx.java:84)
         at com.sun.jndi.cosnaming.CNCtxFactory.getInitialContext(CNCtxFactory.java:50)
         at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:675)
         at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:257)
         at javax.naming.InitialContext.init(InitialContext.java:233)
         at javax.naming.InitialContext.<init>(InitialContext.java:209)
         at com.ibm._jsp._invoke._jspService(_invoke.java:89)
         at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:91)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1572)
         at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:762)
         at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:121)
         at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.handleRequest(JSPExtensionServletWrapper.java:204)
         at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3071)
         at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:236)
         at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:210)
         at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1958)
         at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:109)
         at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:472)
         at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:411)
         at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:288)
         at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminaters(NewConnectionInitialReadCallback.java:207)
         at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:109)
         at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:566)
         at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:619)
         at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:952)
         at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1039)
         at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1471)
    Caused by: org.omg.CORBA.COMM_FAILURE: purge_calls:1500 reason=1 state=5 vmcid: IBM minor code: 306 completed: Maybe
         at com.ibm.rmi.iiop.Connection.purge_calls(Connection.java:1499)
         at com.ibm.rmi.iiop.Connection.doReaderWorkOnce(Connection.java:2702)
         at com.ibm.rmi.transport.ReaderThread.run(ReaderPoolImpl.java:137)
    [4/26/07 19:37:22:758 IST] 00000052 SystemErr R      at com.ibm.rmi.corba.InitialReferenceClient.resolve_initial_references(InitialReferenceClient.java:218)
    [4/26/07 19:37:22:758 IST] 00000052 SystemErr R      at com.ibm.rmi.corba.ORB.resolve_initial_references(ORB.java:4428)
    [4/26/07 19:37:22:758 IST] 00000052 SystemErr R      at com.ibm.rmi.iiop.ORB.resolve_initial_references(ORB.java:654)
    [4/26/07 19:37:22:758 IST] 00000052 SystemErr R      at com.ibm.CORBA.iiop.ORB.resolve_initial_references(ORB.java:3363)
    [4/26/07 19:37:22:758 IST] 00000052 SystemErr R      at com.sun.jndi.cosnaming.CNCtx.setOrbAndRootContext(CNCtx.java:387)
    [4/26/07 19:37:22:758 IST] 00000052 SystemErr R      at com.sun.jndi.cosnaming.CNCtx.initUsingIiopUrl(CNCtx.java:330)
    [4/26/07 19:37:22:758 IST] 00000052 SystemErr R      at com.sun.jndi.cosnaming.CNCtx.initUsingUrl(CNCtx.java:285)
    [4/26/07 19:37:22:758 IST] 00000052 SystemErr R      at com.sun.jndi.cosnaming.CNCtx.initOrbAndRootContext(CNCtx.java:236)
    [4/26/07 19:37:22:758 IST] 00000052 SystemErr R      at com.sun.jndi.cosnaming.CNCtx.<init>(CNCtx.java:84)
    [4/26/07 19:37:22:758 IST] 00000052 SystemErr R      at com.sun.jndi.cosnaming.CNCtxFactory.getInitialContext(CNCtxFactory.java:50)
    [4/26/07 19:37:22:758 IST] 00000052 SystemErr R      at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:675)
    [4/26/07 19:37:22:758 IST] 00000052 SystemErr R      at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:257)
    [4/26/07 19:37:22:758 IST] 00000052 SystemErr R      at javax.naming.InitialContext.init(InitialContext.java:233)
    [4/26/07 19:37:22:758 IST] 00000052 SystemErr R      at javax.naming.InitialContext.<init>(InitialContext.java:209)
    [4/26/07 19:37:22:758 IST] 00000052 SystemErr R      at com.ibm._jsp._invoke._jspService(_invoke.java:89)
    [4/26/07 19:37:22:758 IST] 00000052 SystemErr R      at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:91)
    [4/26/07 19:37:22:758 IST] 00000052 SystemErr R      at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    [4/26/07 19:37:22:758 IST] 00000052 SystemErr R      at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1572)
    [4/26/07 19:37:22:758 IST] 00000052 SystemErr R      at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:762)
    [4/26/07 19:37:22:758 IST] 00000052 SystemErr R      at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:121)
    [4/26/07 19:37:22:758 IST] 00000052 SystemErr R      at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.handleRequest(JSPExtensionServletWrapper.java:204)
    [4/26/07 19:37:22:758 IST] 00000052 SystemErr R      at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3071)
    [4/26/07 19:37:22:758 IST] 00000052 SystemErr R      at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:236)
    [4/26/07 19:37:22:758 IST] 00000052 SystemErr R      at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:210)
    [4/26/07 19:37:22:758 IST] 00000052 SystemErr R      at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1958)
    [4/26/07 19:37:22:758 IST] 00000052 SystemErr R      at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:109)
    [4/26/07 19:37:22:758 IST] 00000052 SystemErr R      at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:472)
    [4/26/07 19:37:22:758 IST] 00000052 SystemErr R      at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:411)
    [4/26/07 19:37:22:758 IST] 00000052 SystemErr R      at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:288)
    [4/26/07 19:37:22:758 IST] 00000052 SystemErr R      at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminaters(NewConnectionInitialReadCallback.java:207)
    [4/26/07 19:37:22:758 IST] 00000052 SystemErr R      at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:109)
    [4/26/07 19:37:22:758 IST] 00000052 SystemErr R      at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:566)
    [4/26/07 19:37:22:758 IST] 00000052 SystemErr R      at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:619)
    [4/26/07 19:37:22:758 IST] 00000052 SystemErr R      at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:952)
    [4/26/07 19:37:22:758 IST] 00000052 SystemErr R      at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1039)
    [4/26/07 19:37:22:758 IST] 00000052 SystemErr R      at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1471)
    [4/26/07 19:37:22:758 IST] 00000052 SystemErr R Caused by: org.omg.CORBA.COMM_FAILURE: purge_calls:1500 reason=1 state=5 vmcid: IBM minor code: 306 completed: Maybe
    [4/26/07 19:37:22:758 IST] 00000052 SystemErr R      at com.ibm.rmi.iiop.Connection.purge_calls(Connection.java:1499)
    [4/26/07 19:37:22:758 IST] 00000052 SystemErr R      at com.ibm.rmi.iiop.Connection.doReaderWorkOnce(Connection.java:2702)
    [4/26/07 19:37:22:758 IST] 00000052 SystemErr R      at com.ibm.rmi.transport.ReaderThread.run(ReaderPoolImpl.java:137)
    [4/26/07 19:37:36:117 IST] 00000056 SystemErr R javax.naming.ConfigurationException: COS Name Service not registered with ORB under the name 'NameService'. Root exception is org.omg.CORBA.ORBPackage.InvalidName: NameService:org.omg.CORBA.COMM_FAILURE: purge_calls:1500 reason=1 state=5 vmcid: IBM minor code: 306 completed: Maybe
         at com.ibm.rmi.corba.InitialReferenceClient.resolve_initial_references(InitialReferenceClient.java:218)
         at com.ibm.rmi.corba.ORB.resolve_initial_references(ORB.java:4428)
         at com.ibm.rmi.iiop.ORB.resolve_initial_references(ORB.java:654)
         at com.ibm.CORBA.iiop.ORB.resolve_initial_references(ORB.java:3363)
         at com.sun.jndi.cosnaming.CNCtx.setOrbAndRootContext(CNCtx.java:387)
         at com.sun.jndi.cosnaming.CNCtx.initUsingIiopUrl(CNCtx.java:330)
         at com.sun.jndi.cosnaming.CNCtx.initUsingUrl(CNCtx.java:285)
         at com.sun.jndi.cosnaming.CNCtx.initOrbAndRootContext(CNCtx.java:236)
         at com.sun.jndi.cosnaming.CNCtx.<init>(CNCtx.java:84)
         at com.sun.jndi.cosnaming.CNCtxFactory.getInitialContext(CNCtxFactory.java:50)
         at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:675)
         at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:257)
         at javax.naming.InitialContext.init(InitialContext.java:233)
         at javax.naming.InitialContext.<init>(InitialContext.java:209)
         at com.ibm._jsp._invoke._jspService(_invoke.java:89)
         at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:91)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
         at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1572)
         at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:762)
         at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:121)
         at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.handleRequest(JSPExtensionServletWrapper.java:204)
         at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3071)
         at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:236)
         at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:210)
         at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1958)
         at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:109)
         at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:472)
         at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:411)
         at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:288)
         at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminaters(NewConnectionInitialReadCallback.java:207)
         at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:109)
         at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:566)
         at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:619)
         at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:952)
         at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1039)
         at com.ibm.ws.util.Th

    The procedure apex_cdc.enable_table_capture i created myself with no authid mentioned explicitly, so it uses definer rights, by default.
    BUt this procedure is simply a wrapper for sys.dbms_cdc_publish.create_change_table.
    When I look on the security model for this sys.dbms_cdc_publish, i see it runs under invoker rights. (http://www.psoug.org/reference/dbms_cdc_publish.html).
    The code is like this:
    CREATE OR REPLACE PROCEDURE enable_table_capture
              i_owner               IN VARCHAR2,
              i_change_table_name     IN VARCHAR2,
              i_change_set_name     IN VARCHAR2,
              i_change_source          IN VARCHAR2,
              i_source_schema          IN VARCHAR2,
              i_source_table          IN VARCHAR2,
              i_column_type_list     IN VARCHAR2
         IS
         BEGIN
              EXECUTE IMMEDIATE 'alter session set REMOTE_DEPENDENCIES_MODE=SIGNATURE';
              EXECUTE IMMEDIATE 'begin add_log@orcl01(i_tableName => ''G''); end;';
    sys.DBMS_CDC_PUBLISH.CREATE_CHANGE_TABLE(
    owner => i_owner,
    change_table_name => i_change_table_name,
    change_set_name => i_change_set_name,
    source_schema => i_source_schema,
    source_table => i_source_table,
    column_type_list => i_column_type_list,
    capture_values => 'both',
    rs_id => 'y',
    row_id => 'n',
    user_id => 'n',
    timestamp => 'y',
    object_id => 'n',
    source_colmap => 'n',
    target_colmap => 'y',
    options_string => NULL);
    END enable_table_capture;

  • HELP!!! How I can call to EJB from another EJB??

    I have two EJBs, for each EJB I have a jar, how I can call to EJB jar to another???
    I have tried the following, in the first EJB I have import the second EJB jar and call it with context, lookup, PortableRemoteObject etc.. but the instruction lookup not find the second EJB reference.
    The name in the lookup instruction is the JNDI name of the second EJB but not find a reference to it.
    Please help me!!! Thanks!!
    The error is:
    javax.naming.NameNotFoundException: Missing node. Root exception is org.omg.CosNaming.NamingContextPackage.NotFound
         at org.omg.CosNaming.NamingContextPackage.NotFoundHelper.read(NotFoundHelper.java:34)
         at org.omg.CosNaming.NamingContextPackage.NotFoundHelper.extract(NotFoundHelper.java:50)
         at org.omg.CosNaming._NamingContextStub.resolve(_NamingContextStub.java:161)
         at com.inprise.j2ee.jndi.java.CorbaContext.resolveName(CorbaContext.java:242)
         at com.inprise.j2ee.jndi.java.CorbaContext.lookup(CorbaContext.java:261)
         at com.inprise.j2ee.jndi.java.javaContext.internal_lookup(javaContext.java:483)
         at com.inprise.j2ee.jndi.java.javaContext.internal_lookup(javaContext.java:493)
         at com.inprise.j2ee.jndi.java.javaContext.internal_lookup(javaContext.java:493)
         at com.inprise.j2ee.jndi.java.javaContext.lookup(javaContext.java:937)
         at com.inprise.j2ee.jndi.java.javaContext.lookup(javaContext.java:942)
         at javax.naming.InitialContext.lookup(InitialContext.java:350)
         at ejbclient.EnterpriseClientBean.addition(EnterpriseClientBean.java:115)
         at ejbclient.EnterpriseClientBean.actionPerformed(EnterpriseClientBean.java:97)
         at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1450)
         at avax.swing.AbstractButton$ForwardActionEvents.actionPerformed(Abstr

    ok.. Here it goes.. I am writing a sample code..
    public class EJB1LogBean implements SessionBean {
    // test is a method of stateless session beam
    public void test ( TestVal val )
    throws RemoteException{
    try {
    EJB2LogHome ejb2Home= (EJB2LogHome)getHome("java:comp/env/ejb/EJB2LogHome",1);
    EJB2Log ejb2Log = ejb2LogHome.create ( val );
    } catch ( CreateException e ) {
         System.out.println("Create Exception occurred ");
         e.printStackTrace();
         } catch ( RemoteException e ) {
         System.out.println( "RemoteException Occured");
    e.printStackTrace();
         throw new RemoteException () ;
         } catch(Exception ee) {
    ee.printStackTrace();
    private EJBHome getHome(String jndiName,int type) {
    try {
    Context context = new InitialContext();
    Object ref = context.lookup( jndiName );
    switch(type)
    case 1:
    EJB2LogHome ejb2LogHome = ( EJB2LogHome )
    PortableRemoteObject.narrow( ref, EJB2LogHome.class );
    return ejb2LogHome;
    } catch ( Exception e ) {
    e.printStackTrace();
    return null;
    }//EJB1LogBean ends
    Here as you can see, EJB1LogBean(session bean) is calling a second EJB, EJB2LogBean (entity bean). TestVal is a sample value object passed. It is plain java class and can vary from app to app and it has got nothing to do with ejbs.
    "java:comp/env/ejb" is a J2EE standard and while getting a home interface, you have to append the home interface class name to "java:comp/env/ejb". Here I am passing "java:comp/env/ejb/EJB2LogHome" and "1" to getHome method, whose job is to get a reference to a home interface. getHome method is a local method. "1" is passed just to give a flexibility to getHome method as you can have more ejbs to invoked. In that case, you can go on adding different case statements for 2, 3 etc.
    The only thing you have to keep in mind is that your deployment descriptor for EJB1LogBean will contain the entires for both the beans i.e. for EJB1LogBean and EJB2LogBean. This is because EJB2LogBean is wrapped by EJB1LogBean.
    Hope this helps.
    Please let me know if you need anything more.
    - Amit

Maybe you are looking for

  • Error msg is generated when attempt to crop a TIF that included a 3rd party filter (Win7 Pro SP1)

    Error msg is generated when attempt to crop a TIF that included a 3rd party filter not on local machine. (Windows 7 Professional SP1) 1. File created in CS5 with third party filter applied to smart object (filter:Neat Image published by ABSoft.) 2 Tr

  • When I type an apostrophe in apple's mail program it skips to another line?

    When I type a word that needs a apostrophe in email it skips to another line: When I start typing and use the apostrophe like this- I' m not sure why it goes to the next sentence>

  • Session/cookie in an app without login page

    Hi, I know there are several threads about setting a cookie, checking session etc. But none seem to address my issue. Here's my problem: - I don't have a login page in my apex app. My user logs in from an external program and his userid is captured i

  • Help in creating Calculated Key figure

    Hi, I have a simple question please help me out. I am creating a calculated key figure, in the formulae i have to use the = sign. But i cudnt find any function related to put the = sign i just have to wrtite =KF But cudnt find the function for = sign

  • Weblogic deployer exception

    +"${JAVA_HOME}/bin/java" -Dprod.props.file=${WL_HOME}/.product.properties weblogic.Deployer -adminurl t3://10.18.2.7:9732 -userconfigfile /opt/weblogic/weblogic-WebLogicConfig.properties -userkeyfile /opt/weblogic/weblogic-WebLogicKey.properties -dep