Issue calling an EJB

Hello everybody.
I have the following scenario:
I have an enterprise application with two EJB modules.
I am trying to call an EJB located at a package, from a class in the other package. In netbeans I am using the wizard "Call an enterprise bean" and it creates a lookup method which is supposed to return the interface.
When I use this method to initialize the interface field, I am getting an java.lang.NullPointerException.
A thing I do have is that the source package at the two modules is named the same. Could it cause the error?
Any hint about that?
Thanks in advance for your help.
Sergio Guti�rrez

Hi Serkola.
I did try renaming the package and still get the NullPointerException.
I am not sure how to invocate the EJB from the first package. Can I use EJB annotation, or do I have to execute a conventional naming lookup?
Regards.

Similar Messages

  • 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

  • How to call one EJB in another EJB?

    How to call one EJB in another EJB? Please explain with some example code.

    To refer a Ejb from another Ejb include <ejb-ref> element in ejb-jar.xml
    <session>
    <ejb-name>EjbA</ejb-name>
    <ejb-ref>
    <ejb-ref-name>EjbB</ejb-ref-name>
    <ejb-ref-type>Entity</ejb-ref-type>
    <home>com.ejb.EjbBHome</home>
    <remote>com.ejb.EjbB</remote>
    </ejb-ref>
    </session>
    Include a <reference-descriptor> in weblogic-ejb-jar.xml
    <weblogic-enterprise-bean>
    <ejb-name>EjbA</ejb-name>
    <reference-descriptor>
    <ejb-reference-description>
    <ejb-ref-name>EjbB</ejb-ref-name>
    <jndi-name>com.ejb.EjbBHome</jndi-name>
    </ejb-reference-description>
    </reference-descriptor>
    </weblogic-enterprise-bean>
    In EjbA Bean class refer to EjbB with
    a remote reference to EjbB.
    InitialContext initialContext=new InitialContext();
    EjbBHome EjbBHome=(EjbBHome)
    initialContext.lookup("com.ejb.EjbBHome");
    EjbB ejbB=EjbBHome.findByPrimaryKey(primarykey);

  • 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
    |#]

  • JCo 3.0  - RFC call from EJB with SSO

    Hello,
    I am trying to call abap using JCo 3.0 from EJB (NW CE 1.0). I have configured destination on server with authentication method to use SAP Logon tickets. But when I call my EJB method that looks like this:
    JCoDestination dest=JCoDestinationManager.getDestination("RFCCallTest");
    JCoRepository repo=dest.getRepository();
    JCoFunction f= repo.getFunction("ZMG_RET_NAME");
    JCoParameterList in=f.getImportParameterList();
    in.setValue(0, "param1");
    f.execute(dest);
    I get an exception when executing the first line of code:
    Message:     Exception occurred during lookup of RFC Destination RFCCallTest: No SAP logon ticket found
    Category:     /System/Security
    Location:com.sap.security.core.server.destinations.provider.DestinationsProviderFrame.getDestinationProperties()
    When I change the destination authentication method to Technical user it works well.
    SSo between the servers works.
    This scenarion also works when I use older JCo implementation (2.x)
    BR
    Viktor

    Hi Bill,
    I too faced the same problem for quite some time on SP9. I thought it was the adapter problem that persisted ...but it was not !!
    After importing the RFC structure into XI, if the name of the imported RFC program is renamed/changed on R/3 side, then you will get the same error "lookup of binding via CPA-cache failed for AdapterType RFC, AdapterN."
    So make sure that RFC program name on the R/3 side was not changed/renamed after you have imported the RFC structure into XI.
    If the RFC program name had changed, make sure you reimport the RFC structure to avoid this problem.
    Regards,
    Sridhar

  • Help: I'm sure it is a Bug in JNI calling WebLogic EJB

    Help me! I'm using jni to call weblogic EJB from a Com+ component,here is the code:
    // This is the main project file for VC++ application project
    // generated using an Application Wizard.
    #include "stdafx.h"
    #pragma unmanaged
    #include <windows.h>
    #include <jni.h>
    #include <process.h>
    #include <stdio.h>
    #define USER_CLASSPATH "C:\\myClasses;C:\\j2sdk1.4.0\\lib\\tools.jar;Z:\\wlserver6.1\\lib\\weblogic.jar;"
    /* where Prog.class is */
    JavaVM *jvm;
    * Function GetJNIEnv(void) returns the java environment pointer
    * in case we are executing on a thread other than the one the
    * jvm was created on.
    JNIEnv* GetJNIEnv(void){
         JNIEnv *env = NULL;
         jint nRet = jvm->GetEnv((void **)&env, JNI_VERSION_1_2);
         if(nRet == JNI_EDETACHED){
              jvm->AttachCurrentThread((void **)&env, NULL);
         return env;
    * Function DoJNDI(void *arg) uses the Java Invocation API to
    * execute the following Java code:
    * Hashtable prop = new Hashtable();
    * prop.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory"
    * prop.put( Context.PROVIDER_URL, "t3://192.168.40.137:7001" );
    * ctxInitial = new InitialDirContext( prop );
    void DoJNDI(void *arg){
         jclass clsHash, clsInitDirCx;
         jmethodID mHashInit, mHashPut, mInitDirCxInit;
         jobject objHash, objInitDirCx;
         JNIEnv *env = GetJNIEnv(); // Get the environment if on a different thread
         clsHash = env->FindClass("java/util/Hashtable");
         mHashInit = env->GetMethodID(clsHash, "<init>", "()V");
         objHash = env->NewObject(clsHash, mHashInit);
         mHashPut = env->GetMethodID(clsHash, "put", "(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;");
         jstring jstrICxFactoryPut = env->NewStringUTF("java.naming.factory.initial");
         jstring jstrICxFactoryVal = env->NewStringUTF("weblogic.jndi.WLInitialContextFactory");
         env->CallObjectMethod(objHash, mHashPut, jstrICxFactoryPut,jstrICxFactoryVal);
         jstring jstrProviderUrlPut = env->NewStringUTF("java.naming.provider.url");
         jstring jstrProviderUrlVal = env->NewStringUTF("t3://192.168.40.137:7001");
         env->CallObjectMethod(objHash, mHashPut, jstrProviderUrlPut,jstrProviderUrlVal);
         clsInitDirCx = env->FindClass("javax/naming/InitialContext");
         mInitDirCxInit = env->GetMethodID(clsInitDirCx, "<init>", "(Ljava/util/Hashtable;)V");
         objInitDirCx = env->NewObject(clsInitDirCx, mInitDirCxInit, objHash);
         if(objInitDirCx == NULL){
              printf("%s test FAILED:\n\n", (char*)arg);
         else{
              printf("%s test PASSED\n\n", (char*)arg);
         jvm->DetachCurrentThread();
    * Function main(void) creates a JVM, and calls DoJNDI twice:
    * Once as a regular function call, and once as a spun off thread.
    void main() {
    JavaVMInitArgs vm_args;
    JavaVMOption options[5];
         options[0].optionString = "-client";
    options[1].optionString =
    "-cp " USER_CLASSPATH;
    options[2].optionString =
    "-Djava.class.path=" USER_CLASSPATH;
         //options[3].optionString =
         //     "-Xbootclasspath:c:\\j2sdk1.4.0\\lib\\tools.jar;z:\\wlserver6.1\\lib\\weblogic_sp.jar;z:\\wlserver6.1\\lib\\weblogic.jar;";
         options[3].optionString =
              "-Xbootclasspath/a:c:\\j2sdk1.4.0\\lib\\tools.jar;z:\\wlserver6.1\\lib\\weblogic_sp.jar;";
         options[4].optionString =
              "-Xbootclasspath/p:c:\\j2sdk1.4.0\\lib\\tools.jar;z:\\wlserver6.1\\lib\\weblogic_sp.jar;";
    vm_args.version = 0x00010002;
    vm_args.options = options;
    vm_args.nOptions = 5;
    vm_args.ignoreUnrecognized = JNI_TRUE;
         JNIEnv *env;
         jint res = JNI_CreateJavaVM(&jvm, (void**)&env, &vm_args);
         // *** Make the magic calls! (Both lines should do the same thing) ***
         DoJNDI((void*)"Function call");
         _beginthread(DoJNDI,0,(void *)"Thread call");
         /* wait for thread(s) to finish */
         Sleep(5000);
         jvm->DestroyJavaVM();
    But it always send me a Exception like below:
    javax.naming.NoInitialContextException: Cannot instantiate class: weblogic.jndi.WLInitialContextFactory.
    Root exception is java.lang.ClassNotFoundException: weblogic/jndi/WLInitialContextFactory
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:207)
    at com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:42)
    at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:649)
    at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:243)
    at javax.naming.InitialContext.init(InitialContext.java:219)
    at javax.naming.InitialContext.<init>(InitialContext.java:195)
    when I search this problem in java.sun.com,an article announce that it is a bug that
    JNDI not support multi-threads call,and it is fixed is JDK1.4 beta. The link is:
    http://developer.java.sun.com/developer/bugParade/bugs/4307751.html
    It seems that weblogic's JNDI is not support multi-thread call. what can i do?

    Try adding the following code before instantiating your initial context:
    Thread.currentThread().setContextClassLoader( ClassLoader.getSystemClassLoader()
    This fixed the problem for me.
    -Brian
    "Edward Lu" <[email protected]> wrote:
    >
    Help me! I'm using jni to call weblogic EJB from a Com+ component,here is
    the code:
    // This is the main project file for VC++ application project
    // generated using an Application Wizard.
    #include "stdafx.h"
    #pragma unmanaged
    #include <windows.h>
    #include <jni.h>
    #include <process.h>
    #include <stdio.h>
    #define USER_CLASSPATH "C:\\myClasses;C:\\j2sdk1.4.0\\lib\\tools.jar;Z:\\wlserver6.1\\lib\\weblogic.jar;"
    /* where Prog.class is */
    JavaVM *jvm;
    * Function GetJNIEnv(void) returns the java environment pointer
    * in case we are executing on a thread other than the one the
    * jvm was created on.
    JNIEnv* GetJNIEnv(void){
         JNIEnv *env = NULL;
         jint nRet = jvm->GetEnv((void **)&env, JNI_VERSION_1_2);
         if(nRet == JNI_EDETACHED){
              jvm->AttachCurrentThread((void **)&env, NULL);
         return env;
    * Function DoJNDI(void *arg) uses the Java Invocation API to
    * execute the following Java code:
    * Hashtable prop = new Hashtable();
    * prop.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory"
    * prop.put( Context.PROVIDER_URL, "t3://192.168.40.137:7001" );
    * ctxInitial = new InitialDirContext( prop );
    void DoJNDI(void *arg){
         jclass clsHash, clsInitDirCx;
         jmethodID mHashInit, mHashPut, mInitDirCxInit;
         jobject objHash, objInitDirCx;
         JNIEnv *env = GetJNIEnv(); // Get the environment if on a different thread
         clsHash = env->FindClass("java/util/Hashtable");
         mHashInit = env->GetMethodID(clsHash, "<init>", "()V");
         objHash = env->NewObject(clsHash, mHashInit);
         mHashPut = env->GetMethodID(clsHash, "put", "(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;");
         jstring jstrICxFactoryPut = env->NewStringUTF("java.naming.factory.initial");
         jstring jstrICxFactoryVal = env->NewStringUTF("weblogic.jndi.WLInitialContextFactory");
         env->CallObjectMethod(objHash, mHashPut, jstrICxFactoryPut,jstrICxFactoryVal);
         jstring jstrProviderUrlPut = env->NewStringUTF("java.naming.provider.url");
         jstring jstrProviderUrlVal = env->NewStringUTF("t3://192.168.40.137:7001");
         env->CallObjectMethod(objHash, mHashPut, jstrProviderUrlPut,jstrProviderUrlVal);
         clsInitDirCx = env->FindClass("javax/naming/InitialContext");
         mInitDirCxInit = env->GetMethodID(clsInitDirCx, "<init>", "(Ljava/util/Hashtable;)V");
         objInitDirCx = env->NewObject(clsInitDirCx, mInitDirCxInit, objHash);
         if(objInitDirCx == NULL){
              printf("%s test FAILED:\n\n", (char*)arg);
         else{
              printf("%s test PASSED\n\n", (char*)arg);
         jvm->DetachCurrentThread();
    * Function main(void) creates a JVM, and calls DoJNDI twice:
    * Once as a regular function call, and once as a spun off thread.
    void main() {
    JavaVMInitArgs vm_args;
    JavaVMOption options[5];
         options[0].optionString = "-client";
    options[1].optionString =
    "-cp " USER_CLASSPATH;
    options[2].optionString =
    "-Djava.class.path=" USER_CLASSPATH;
         //options[3].optionString =
         //     "-Xbootclasspath:c:\\j2sdk1.4.0\\lib\\tools.jar;z:\\wlserver6.1\\lib\\weblogic_sp.jar;z:\\wlserver6.1\\lib\\weblogic.jar;";
         options[3].optionString =
              "-Xbootclasspath/a:c:\\j2sdk1.4.0\\lib\\tools.jar;z:\\wlserver6.1\\lib\\weblogic_sp.jar;";
         options[4].optionString =
              "-Xbootclasspath/p:c:\\j2sdk1.4.0\\lib\\tools.jar;z:\\wlserver6.1\\lib\\weblogic_sp.jar;";
    vm_args.version = 0x00010002;
    vm_args.options = options;
    vm_args.nOptions = 5;
    vm_args.ignoreUnrecognized = JNI_TRUE;
         JNIEnv *env;
         jint res = JNI_CreateJavaVM(&jvm, (void**)&env, &vm_args);
         // *** Make the magic calls! (Both lines should do the same thing) ***
         DoJNDI((void*)"Function call");
         _beginthread(DoJNDI,0,(void *)"Thread call");
         /* wait for thread(s) to finish */
         Sleep(5000);
         jvm->DestroyJavaVM();
    But it always send me a Exception like below:
    javax.naming.NoInitialContextException: Cannot instantiate class: weblogic.jndi.WLInitialContextFactory.
    Root exception is java.lang.ClassNotFoundException: weblogic/jndi/WLInitialContextFactory
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:207)
    at com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:42)
    at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:649)
    at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:243)
    at javax.naming.InitialContext.init(InitialContext.java:219)
    at javax.naming.InitialContext.<init>(InitialContext.java:195)
    when I search this problem in java.sun.com,an article announce that it is
    a bug that
    JNDI not support multi-threads call,and it is fixed is JDK1.4 beta. The
    link is:
    http://developer.java.sun.com/developer/bugParade/bugs/4307751.html
    It seems that weblogic's JNDI is not support multi-thread call. what can
    i do?

  • Calling an EJB application in webdynpro

    Dear SDN's,
    I am trying to call an EJB application  from a webdynpro application and is succeded in storing values to database via Java Bean Model.
    I want to retrieve all records from table via EJB and all the records should be displayed in Webdynpro Table UI element.
    How can we do it?
    The problem here is, how to return a set of records to webdynpro from EJB via a javabean.
    I am not clear in using Collection Framework! i.e, which collection class i have to use to store the retrieved records.
    Your help will be appreciated.
    Regards,
    Sireesha.B

    Hi Sireesha,
    Instead of adding resultset, create a EMP cinstance and add it.
    Ex : Consider you have created a EMP class
    class EMP
      String empname;
       int id;
      public void setEmpname(String name);
      public String getEmpname();
    Now
    ResultSet rs=statement.executeQuery(select * from emp);
    Vector v=new Vector();
    while(rs.next)
    Emp e=new EMP()l
    e.setEmpName(rs.getString(0));
    e.setID(rs.getInt(1)));
    v.add(emp);
    Iterator i=v.iterator();
    while(i.hasNext())
    Emp e1=(EMP)i.next()l
    System.out.println(e1.getempName());
    System.out.println(e1.getID);
    Regards, ANilkumar

  • Calling an EJB throws an UNKNOWN exception

    Hi EJB experts!
    I`m trying to call an EJB on OAS from Java application running within a JDeveloper. After several calls of remote method the application invokes the remote method again but exception
    java.rmi.UnexpectedException: CORBA: org.omg.CORBA.UNKNOWN: get a timeout exception; nested exception is:
    org.omg.CORBA.UNKNOWN: get a timeout
    is thown.
    class Context {
    public java.sql.Connection conn;
    public EJBRemote logger;
    Reference to a remote EJB is stored in class Context. Instance of Context is shared among three other objects. Strange thing is that whether the exception is thrown or not depends on the number of method calls on objects accessing the Context. In any case remote method completes successfuly. Do you have an idea what to do with this exception?
    Thanks for any advice. David Mrva

    http://www.jboss.org/online-manual/HTML/ch11s21.html

  • How to call the EJB methods from servlet/jsp

    Hello ,
    i have write one ejb signOn having the method validateUser(username,password).i can able to call this function from client.java class.i want to know whether i can call this function from servlet.if yes then where to write that servlet and web.xml file.
    At present i m using weblogic server 8.1and i create directory call c:\ejb\demo and put the ejb files(home ,remote,ejb class ,client.java) then i have created .jar file and put in application file.
    Now i want to create a servlet for that i have to create a new directory and put the servlet,web.xml,weblogin-web.xml file and then create one .war file and put in application directory or do some thing extra.Please help me.
    Thanks In Advance
    [email protected]

    I think this might not be the most appropriate forum for your question. You might try a forum about ejb, or weblogic, or jndi.

  • Calling an EJB deployed in OC4J from a Java Stored Procedure

    Hi all,
    Well, I've been trying to figure this out for a bit now and haven't come up with a solution.
    I have a Java Stored Procedure in a 9i database and would like to call an EJB deployed in the OC4J Container but DO NOT want to load the various Orion JAR files into the database.
    I get hung up on the JNDI piece.
    Has anyone figured out how to do this?
    Got some code?
    Thanks!

    Doug,
    This is not possible in Oracle9i Release1. in the upcoming Oracle9i DB R2, we will support loading a client-side jars of oc4j (oc4jclient.jar) in the database and call-out EJBs in 9iAS
    Please look at this thread Re: Compile procedures for a detailed dicussion on this topic.
    regards
    Debu Panda
    Oracle

  • Security with Web Service calling some EJBs

    Hi everybody,
    I have implemented some web services residing in a war file deployed on my Tomcat. The web services module is a client to some EJBs deployed on my JBoss. I need to log the user in my realm on each WS request and log the user out before the WS response.
    I have implemented security on web applications with JBoss and used JAAS realms succesfully but what do I do in this case with Web Services? I mean the requests are stateless. If I use the org.jboss.security.ClientLoginModule
    won't this override the credentials of another user who is already logged in the realm?
    I have also implemented a standalone application which spawns a thread for each user request and I am wondering about the same thing. This application is a service listening for some kind of messages; on a message the application should log the user in the realm before calling an EJB and log the user after the request is completed. So it's more or less the same situation as above.
    Is this possible? I mean logging many users in the same realm in one non-web application?
    Any ideas?
    Thank you in advance!!!
    thoism

    requests are stateless, just as are requests to webapps.
    Which is hardly surprising as a web services stack is typically implemented as a web application.
    If you could log in only a single user at the same time to an EJB application, it would be rather pointless to have the application as a distributed multiuser system :)
    What you might check is whether you're allowed to log in the same user several times, if I remember correctly this can be limited in the EJB module deployment descriptors.

  • Call weblogic EJB without using weblogic.jndi.T3InitialContextFactory

    I am trying to call an ejb on a weblogic server without using weblogic.jndi.T3InitialContextFactory.
    The context retrieval is as follows:
    Properties table = new Properties();
    table.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.cosnaming.CNCtxFactory");
    table.put(Context.PROVIDER_URL, "iiop://localhost:7001");
    Context context = new InitialContext(table);
    return context;
    but when I run the client I am getting the follwing error:
    javax.naming.CommunicationException: Cannot connect to ORB [Root exception is org.omg.CORBA.COMM_FAILURE:   vmcid: SUN  minor code: 201  completed: No]
    at com.sun.jndi.cosnaming.CNCtx.setOrbAndRootContext(CNCtx.java:362)
    at com.sun.jndi.cosnaming.CNCtx.initUsingIiopUrl(CNCtx.java:289)
    at com.sun.jndi.cosnaming.CNCtx.initUsingUrl(CNCtx.java:245)
    at com.sun.jndi.cosnaming.CNCtx.initOrbAndRootContext(CNCtx.java:209)
    at com.sun.jndi.cosnaming.CNCtx.<init>(CNCtx.java:69)
    at com.sun.jndi.cosnaming.CNCtxFactory.getInitialContext(CNCtxFactory.java:32)
    at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:662)
    at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:243)
    at javax.naming.InitialContext.init(InitialContext.java:219)
    at javax.naming.InitialContext.<init>(InitialContext.java:195)
    at com.test.TestDirectDocumentLoad.getContext(TestDirectDocumentLoad.java:59)
    at com.test.TestDirectDocumentLoad.loadDocs(TestDirectDocumentLoad.java:139)
    at com.test.TestDirectDocumentLoad.main(TestDirectDocumentLoad.java:116)
    Caused by: org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 201 completed: No
    at com.sun.corba.se.internal.iiop.ConnectionTable.getConnection(ConnectionTable.java:173)
    at com.sun.corba.se.internal.iiop.ConnectionTable.getConnection(ConnectionTable.java:65)
    at com.sun.corba.se.internal.iiop.GIOPImpl.getConnection(GIOPImpl.java:67)
    at com.sun.corba.se.internal.corba.ClientDelegate.createRequest(ClientDelegate.java:652)
    at com.sun.corba.se.internal.corba.ClientDelegate.createRequest(ClientDelegate.java:594)
    at com.sun.corba.se.internal.corba.InitialNamingClient.resolve(InitialNamingClient.java:1105)
    at com.sun.corba.se.internal.corba.InitialNamingClient.resolveUsingBootstrapProtocol(InitialNamingClient.java:788)
    at com.sun.corba.se.internal.corba.InitialNamingClient.cachedInitialReferences(InitialNamingClient.java:1186)
    at com.sun.corba.se.internal.corba.InitialNamingClient.resolve_initial_references(InitialNamingClient.java:1079)
    at com.sun.corba.se.internal.corba.ORB.resolve_initial_references(ORB.java:2436)
    at com.sun.jndi.cosnaming.CNCtx.setOrbAndRootContext(CNCtx.java:340)
    ... 12 more
    I have the J2EE jar on the client path and all....but can't get through this error
    need help guys!
    Samir

    Samir j <> writes:
    Make sure IIOP is enabled on the server side. There was a bug in
    earlier 8.1 config wizards that defaulted it to off.
    andy
    I am trying to call an ejb on a weblogic server without using weblogic.jndi.T3InitialContextFactory.
    The context retrieval is as follows:
    Properties table = new Properties();
    table.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.cosnaming.CNCtxFactory");
    table.put(Context.PROVIDER_URL, "iiop://localhost:7001");
    Context context = new InitialContext(table);
    return context;
    but when I run the client I am getting the follwing error:
    javax.naming.CommunicationException: Cannot connect to ORB [Root exception is org.omg.CORBA.COMM_FAILURE:   vmcid: SUN  minor code: 201  completed: No]
    at com.sun.jndi.cosnaming.CNCtx.setOrbAndRootContext(CNCtx.java:362)
    at com.sun.jndi.cosnaming.CNCtx.initUsingIiopUrl(CNCtx.java:289)
    at com.sun.jndi.cosnaming.CNCtx.initUsingUrl(CNCtx.java:245)
    at com.sun.jndi.cosnaming.CNCtx.initOrbAndRootContext(CNCtx.java:209)
    at com.sun.jndi.cosnaming.CNCtx.<init>(CNCtx.java:69)
    at com.sun.jndi.cosnaming.CNCtxFactory.getInitialContext(CNCtxFactory.java:32)
    at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:662)
    at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:243)
    at javax.naming.InitialContext.init(InitialContext.java:219)
    at javax.naming.InitialContext.<init>(InitialContext.java:195)
    at com.test.TestDirectDocumentLoad.getContext(TestDirectDocumentLoad.java:59)
    at com.test.TestDirectDocumentLoad.loadDocs(TestDirectDocumentLoad.java:139)
    at com.test.TestDirectDocumentLoad.main(TestDirectDocumentLoad.java:116)
    Caused by: org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 201 completed: No
    at com.sun.corba.se.internal.iiop.ConnectionTable.getConnection(ConnectionTable.java:173)
    at com.sun.corba.se.internal.iiop.ConnectionTable.getConnection(ConnectionTable.java:65)
    at com.sun.corba.se.internal.iiop.GIOPImpl.getConnection(GIOPImpl.java:67)
    at com.sun.corba.se.internal.corba.ClientDelegate.createRequest(ClientDelegate.java:652)
    at com.sun.corba.se.internal.corba.ClientDelegate.createRequest(ClientDelegate.java:594)
    at com.sun.corba.se.internal.corba.InitialNamingClient.resolve(InitialNamingClient.java:1105)
    at com.sun.corba.se.internal.corba.InitialNamingClient.resolveUsingBootstrapProtocol(InitialNamingClient.java:788)
    at com.sun.corba.se.internal.corba.InitialNamingClient.cachedInitialReferences(InitialNamingClient.java:1186)
    at com.sun.corba.se.internal.corba.InitialNamingClient.resolve_initial_references(InitialNamingClient.java:1079)
    at com.sun.corba.se.internal.corba.ORB.resolve_initial_references(ORB.java:2436)
    at com.sun.jndi.cosnaming.CNCtx.setOrbAndRootContext(CNCtx.java:340)
    ... 12 more
    I have the J2EE jar on the client path and all....but can't get through this error
    need help guys!
    Samir

  • 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

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

Maybe you are looking for

  • PO report with asset numbers

    Dear all, where can we set link between asset in one PO  to line item of the same PO.At present we have link between asset and PO. so in one zreport we are getting multiple records for the same asset.means that asset is coming in all lines items of P

  • External Speaker turns on when call answered for 5 sec's.

    Help!  Every call I answer, the external spkr turns on for 5 seconds and then turns off.  Just enough time that I cant hear who it is thats calling me!!  Any ideas? Thanks.

  • ITunes Sign In and Genius Wont Connect?

    Hey All, I have a repeating problem about my connection with Genius and signing in? It says there is an error and that I need to check my internet connection to see if it is active? I am using a modem, and I watch it connect right in front of my eyes

  • Is it possible to stop auction earlier than scheduled?

    Dear SAP gurus, We are using SRM server 550 and SP08 and we are using LAC. As a purchaser, is it possible to stop auction earlier than scheduled? I see one stop button there, but if i click stop button before the time is up, the system just give me m

  • Data Sync stuck in processing

    Can you please delete my data sync? I tried to cancel the data sync, so I could delete it but it has been stuck in processing for almost 24 hours now. The subscription id is 2b362515-3f77-44fc-9803-08334705d01a and the sync group is called DevSyncGro