Encoding in EJB

Hi all,
I am developing a web applications for finding Japanese words from an Oracle database. The Japanese words are stored in the data base as unicodes.(I directly inserted the unicode values into the database using a java program)
I developed a jsp application with struts if works fine. It search for japanese words from the db and displays as it is in the jsp page. Here I used EUC-JP encoding.
But when I use an ejb for this finding (i used CMP with WLQL for finder), it doesn't search the word properly, and when I retrive all words from the db it returnd question marks for each character.(?).
I think it is due to different encoding used in the ejb.
How can I solve this problem
regards
kumaran

I think it is due to different encoding used in the
ejb. No, EJB's support unicode as all Java programms.
Problem should be related with JDBC driver that your container is using.
Perhaps you need to specify encoding in JDBC url or something.

Similar Messages

  • How to deploy the EJB which used Japanese word on Weblogic server

    Hi All,
    I am running a test on WIN 2K pro Japanese system. When I deploy an ejb bean with
    using Japanese character in the Java src code and also in ejb-jar.xml file, some
    exceptions were thrown.
    I am thinking that the weblogic cann’t pass ejb-jar.xml which is encoding as UTF-8
    but with Japanese character. Could you please let me know how to configure the
    Weblogic to solve the problem or to encode the ejb-jar.xml differently?
    Any suggestion will be welcome.
    Thanks,
    OUTPUT>>OUTPUT>>Invalid byte 3 of 3-byte UTF-8 sequence.
    OUTPUT>>OUTPUT>>java.io.UTFDataFormatException: Invalid byte 3 of 3-byte UTF-8
    s
    equence.
    OUTPUT>>OUTPUT>> at weblogic.apache.xerces.impl.io.UTF8Reader.invalidByte
    (UTF8Reader.java:693)
    OUTPUT>>OUTPUT>> at weblogic.apache.xerces.impl.io.UTF8Reader.read(UTF8Re
    ader.java:445)
    ===
    weblogic.management.ApplicationException:
    Exception:weblogic.management.ApplicationException: prepare failed for ejb
    Module: ejb Error: Exception preparing module: EJBModule(ejb,status=NEW)
    EJB ejb.jar ‚ð ejb.jar ‚©‚çƒfƒvƒƒC‚Å‚«‚Ü‚¹‚ñB
    EJB ‚Ђ낱 ‚ł́A‚·‚×‚Ä‚Ì cmp/cmr ƒtƒB[ƒ‹ƒh‚ª¬•¶Žš‚ÅŠJŽn‚³‚ê‚é•K—v‚ª‚ ‚è‚Ü‚·BƒtƒB[ƒ‹ƒh
    '‚È‚Ü‚¦‚P' ‚Í‚±‚ê‚É“K‡‚µ‚Ü‚¹‚ñB
    at weblogic.ejb20.compliance.EJBComplianceChecker.check(EJBComplianceChecker.java:268)
    at weblogic.ejb20.compliance.EJBComplianceChecker.checkDeploymentInfo(EJBComplianceChecker.java:232)
    at weblogic.ejb20.ejbc.EJBCompiler.complianceCheckJar(EJBCompiler.java:810)
    at weblogic.ejb20.ejbc.EJBCompiler.checkCompliance(EJBCompiler.java:766)
    at weblogic.ejb20.ejbc.EJBCompiler.doCompile(EJBCompiler.java:200)
    at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:476)
    at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:407)
    at weblogic.ejb20.deployer.EJBDeployer.runEJBC(EJBDeployer.java:493)
    at weblogic.ejb20.deployer.EJBDeployer.compileJar(EJBDeployer.java:763)
    at weblogic.ejb20.deployer.EJBDeployer.compileIfNecessary(EJBDeployer.java:701)
    at weblogic.ejb20.deployer.EJBDeployer.prepare(EJBDeployer.java:1277)
    at weblogic.ejb20.deployer.EJBModule.prepare(EJBModule.java:477)
    at weblogic.j2ee.J2EEApplicationContainer.prepareModule(J2EEApplicationContainer.java:2962)
    at weblogic.j2ee.J2EEApplicationContainer.prepareModules(J2EEApplicationContainer.java:1534)
    at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1188)
    at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1031)
    at weblogic.management.deploy.slave.SlaveDeployer$ComponentActivateTask.prepareContainer(SlaveDeployer.java:2602)
    at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.createContainer(SlaveDeployer.java:2552)
    at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDeployer.java:2474)
    at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:798)
    at weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.java:507)
    at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:465)
    at weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:25)
    Making application available for use ... done.
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    weblogic.ejb20.compliance.ComplianceException: EJB ‚Ђ낱 ‚ł́A‚·‚×‚Ä‚Ì cmp/cmr
    ƒtƒB[ƒ‹ƒh‚ª¬•¶Žš‚ÅŠJŽn‚³‚ê‚é•K—v‚ª‚ ‚è‚Ü‚·BƒtƒB[ƒ‹ƒh '‚È‚Ü‚¦‚P' ‚Í‚±‚ê‚É“K‡‚µ‚Ü‚¹‚ñB
            at weblogic.ejb20.compliance.EJB20EntityBeanClassChecker.checkCMPFields(EJB20EntityBeanClassChecker.java:178)
            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:324)
            at weblogic.ejb20.compliance.EJBComplianceChecker.check(EJBComplianceChecker.java:278)
            at weblogic.ejb20.compliance.EJBComplianceChecker.checkDeploymentInfo(EJBComplianceChecker.java:232)
            at weblogic.ejb20.ejbc.EJBCompiler.complianceCheckJar(EJBCompiler.java:810)
            at weblogic.ejb20.ejbc.EJBCompiler.checkCompliance(EJBCompiler.java:766)
            at weblogic.ejb20.ejbc.EJBCompiler.doCompile(EJBCompiler.java:200)
            at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:476)
            at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:407)
            at weblogic.ejb20.deployer.EJBDeployer.runEJBC(EJBDeployer.java:493)
            at weblogic.ejb20.deployer.EJBDeployer.compileJar(EJBDeployer.java:763)
            at weblogic.ejb20.deployer.EJBDeployer.compileIfNecessary(EJBDeployer.java:701)
            at weblogic.ejb20.deployer.EJBDeployer.prepare(EJBDeployer.java:1277)
            at weblogic.ejb20.deployer.EJBModule.prepare(EJBModule.java:477)
            at weblogic.j2ee.J2EEApplicationContainer.prepareModule(J2EEApplicationContainer.java:2962)
            at weblogic.j2ee.J2EEApplicationContainer.prepareModules(J2EEApplicationContainer.java:1534)
            at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1188)
            at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1031)
            at weblogic.management.deploy.slave.SlaveDeployer$ComponentActivateTask.prepareContainer(SlaveDeployer.java:2602)
            at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.createContainer(SlaveDeployer.java:2552)
            at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDeployer.java:2474)
            at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:798)
            at weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.java:507)
            at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:465)
            at weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:25)
            at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
            at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
            at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.createContainer(SlaveDeployer.java:2556)
            at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDeployer.java:2474)
            at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:798)
            at weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.java:507)
            at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:465)
            at weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:25)
            at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
            at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    --------------- nested within: ------------------
    weblogic.management.ManagementException:  - with nested exception:
    [weblogic.management.ApplicationException:
    Exception:weblogic.management.ApplicationException: prepare failed for ejb
            Module: ejb     Error: Exception preparing module: EJBModule(ejb,status=NEW)
    EJB ejb.jar ‚ð ejb.jar ‚©‚çƒfƒvƒƒC‚Å‚«‚Ü‚¹‚ñB
    EJB ‚Ђ낱 ‚ł́A‚·‚×‚Ä‚Ì cmp/cmr ƒtƒB[ƒ‹ƒh‚ª¬•¶Žš‚ÅŠJŽn‚³‚ê‚é•K—v‚ª‚ ‚è‚Ü‚·BƒtƒB[ƒ‹ƒh
    '‚È‚Ü‚¦‚P' ‚Í‚±‚ê‚É“K‡‚µ‚Ü‚¹‚ñB
            at weblogic.ejb20.compliance.EJBComplianceChecker.check(EJBComplianceChecker.java:268)
            at weblogic.ejb20.compliance.EJBComplianceChecker.checkDeploymentInfo(EJBComplianceChecker.java:232)
            at weblogic.ejb20.ejbc.EJBCompiler.complianceCheckJar(EJBCompiler.java:810)
            at weblogic.ejb20.ejbc.EJBCompiler.checkCompliance(EJBCompiler.java:766)
            at weblogic.ejb20.ejbc.EJBCompiler.doCompile(EJBCompiler.java:200)
            at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:476)
            at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:407)
            at weblogic.ejb20.deployer.EJBDeployer.runEJBC(EJBDeployer.java:493)
            at weblogic.ejb20.deployer.EJBDeployer.compileJar(EJBDeployer.java:763)
            at weblogic.ejb20.deployer.EJBDeployer.compileIfNecessary(EJBDeployer.java:701)
            at weblogic.ejb20.deployer.EJBDeployer.prepare(EJBDeployer.java:1277)
            at weblogic.ejb20.deployer.EJBModule.prepare(EJBModule.java:477)
            at weblogic.j2ee.J2EEApplicationContainer.prepareModule(J2EEApplicationContainer.java:2962)
            at weblogic.j2ee.J2EEApplicationContainer.prepareModules(J2EEApplicationContainer.java:1534)
            at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1188)
            at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1031)
            at weblogic.management.deploy.slave.SlaveDeployer$ComponentActivateTask.prepareContainer(SlaveDeployer.java:2602)
            at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.createContainer(SlaveDeployer.java:2552)
            at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDeployer.java:2474)
            at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:798)
            at weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.java:507)
            at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:465)
            at weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:25)
            at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
            at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    weblogic.ejb20.compliance.ComplianceException: EJB ‚Ђ낱 ‚ł́A‚·‚×‚Ä‚Ì cmp/cmr
    ƒtƒB[ƒ‹ƒh‚ª¬•¶Žš‚ÅŠJŽn‚³‚ê‚é•K—v‚ª‚ ‚è‚Ü‚·BƒtƒB[ƒ‹ƒh '‚È‚Ü‚¦‚P' ‚Í‚±‚ê‚É“K‡‚µ‚Ü‚¹‚ñB
            at weblogic.ejb20.compliance.EJB20EntityBeanClassChecker.checkCMPFields(EJB20EntityBeanClassChecker.java:178)
            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:324)
            at weblogic.ejb20.compliance.EJBComplianceChecker.check(EJBComplianceChecker.java:278)
            at weblogic.ejb20.compliance.EJBComplianceChecker.checkDeploymentInfo(EJBComplianceChecker.java:232)
            at weblogic.ejb20.ejbc.EJBCompiler.complianceCheckJar(EJBCompiler.java:810)
            at weblogic.ejb20.ejbc.EJBCompiler.checkCompliance(EJBCompiler.java:766)
            at weblogic.ejb20.ejbc.EJBCompiler.doCompile(EJBCompiler.java:200)
            at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:476)
            at weblogic.ejb20.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:407)
            at weblogic.ejb20.deployer.EJBDeployer.runEJBC(EJBDeployer.java:493)
            at weblogic.ejb20.deployer.EJBDeployer.compileJar(EJBDeployer.java:763)
            at weblogic.ejb20.deployer.EJBDeployer.compileIfNecessary(EJBDeployer.java:701)
            at weblogic.ejb20.deployer.EJBDeployer.prepare(EJBDeployer.java:1277)
            at weblogic.ejb20.deployer.EJBModule.prepare(EJBModule.java:477)
            at weblogic.j2ee.J2EEApplicationContainer.prepareModule(J2EEApplicationContainer.java:2962)
            at weblogic.j2ee.J2EEApplicationContainer.prepareModules(J2EEApplicationContainer.java:1534)
            at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1188)
            at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContainer.java:1031)
            at weblogic.management.deploy.slave.SlaveDeployer$ComponentActivateTask.prepareContainer(SlaveDeployer.java:2602)
            at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.createContainer(SlaveDeployer.java:2552)
            at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDeployer.java:2474)
            at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:798)
            at weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.java:507)
            at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:465)
            at weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:25)
            at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
            at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDeployer.java:2491)
    at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:798)
    at weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.java:507)
    at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:465)
    at weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:25)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
    >

    Open your server console (eg: http://localhost:7001/console)
    Go to deployment modules
    select ejb modules
    Click deploy new ejb module
    a browse will come, browse and find the applicaiton folder where u have kept your ejb
    Select that and click deploy..
    Error msg or successful message will come in the console window.
    regards
    SHanu

  • Error connecting to an EJB 3.0 Remote on OC4J 10.1.3.2 from Tomcat

    Hi, I want to connect to a Remote Session Bean running on the OC4J 10.1.3 and it doesn´t work.
    I have connected to it from a java standalone application using:
    public static void main(String [] args) {
    try {
    final Context context = getInitialContext();
    SessionEJB sessionEJB = (SessionEJB)context.lookup("java:comp/env/ejb/SessionEJB");
    System.out.println(sessionEJB.mergeEntity(""));
    System.out.println( "hola" );
    } catch (Exception ex) {
    ex.printStackTrace();
    private static Context getInitialContext() throws NamingException {
    Hashtable env = new Hashtable();
    // Standalone OC4J connection details
    env.put( Context.INITIAL_CONTEXT_FACTORY, "oracle.j2ee.naming.ApplicationClientInitialContextFactory" );
    env.put( Context.SECURITY_PRINCIPAL, "oc4jadmin" );
    env.put( Context.SECURITY_CREDENTIALS, "passw" );
    env.put(Context.PROVIDER_URL, "ormi://localhost:23791/ejb3jar");
    return new InitialContext( env );
    with this application-client.xml file:
    <?xml version = '1.0' encoding = 'windows-1252'?>
    <application-client xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/application-client_1_4.xsd" version="1.4" xmlns="http://java.sun.com/xml/ns/j2ee">
    <display-name>Model-app-client</display-name>
    <ejb-ref>
    <ejb-ref-name>ejb/SessionEJB</ejb-ref-name>
    <ejb-ref-type>Session</ejb-ref-type>
    <remote>ar.com.eds.ejb3.model.SessionEJB</remote>
    <ejb-link>SessionEJB</ejb-link>
    </ejb-ref>
    thats works fine, but when I try to use the same solution from a jsf proyect running on a Tomcat 5.5.20, it fails with this error:
    Caused by: java.lang.RuntimeException: Error while creating home.
         at ar.com.mcd.fawkes.ui.locator.EJB3Locator.get(EJB3Locator.java:32)
         at ar.com.mcd.fawkes.ui.locator.ServiceLocator$1.get(ServiceLocator.java:12)
         at net.sf.opentranquera.web.jsf.locator.ServiceLocatorBean.get(ServiceLocatorBean.java:42)
         at com.sun.faces.el.PropertyResolverImpl.getValue(PropertyResolverImpl.java:79)
         at com.sun.faces.el.impl.ArraySuffix.evaluate(ArraySuffix.java:187)
         at com.sun.faces.el.impl.ComplexValue.evaluate(ComplexValue.java:171)
         at com.sun.faces.el.impl.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:263)
         at com.sun.faces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:160)
         ... 80 more
    Caused by: javax.naming.NameNotFoundException: Name ejb is not bound in this Context
         at org.apache.naming.NamingContext.lookup(NamingContext.java:769)
         at org.apache.naming.NamingContext.lookup(NamingContext.java:139)
         at org.apache.naming.NamingContext.lookup(NamingContext.java:780)
         at org.apache.naming.NamingContext.lookup(NamingContext.java:139)
         at org.apache.naming.NamingContext.lookup(NamingContext.java:780)
         at org.apache.naming.NamingContext.lookup(NamingContext.java:152)
         at org.apache.naming.SelectorContext.lookup(SelectorContext.java:136)
         at javax.naming.InitialContext.lookup(Unknown Source)
         at ar.com.mcd.fawkes.ui.locator.EJB3Locator.get(EJB3Locator.java:28)
         ... 87 more
    Could you please help me with any tip?
    Mauricio
    Message was edited by:
    Mauricio

    Hi, Rick
    Thanks for your help.
    I deleted de application-client.xml file, added the following lines to the web.xml file:
         <ejb-ref>
              <ejb-ref-name>ejb/SessionEJB</ejb-ref-name>
              <ejb-ref-type>Session</ejb-ref-type>
              <remote>ar.com.eds.ejb3.model.SessionEJB</remote>
         </ejb-ref>
    and now I´m using oracle.j2ee.rmi.RMIInitialContextFactory
    there is no error, and it doesn´t throw any exception but the following line returns null.
    SessionEJB sessionEJB = (SessionEJB)context.lookup("java:comp/env/ejb/SessionEJB");
    Its seems the lookup method finds the remote ejb because it doesn´t fail, but it returns null.
    Any idea what is wrong?
    Mauricio.

  • Error in deploying a simple EJB 3.0

    Hi ,
    I am getting the following error while deploying my simple ejb of version 3.0 in Weblogic 9.2.
    Exception preparing module: EJBModule(build) [EJB:011023]An error occurred while reading the deployment descriptor. The error was: Error processing annotations: java.lang.NullPointerException.
    During my evaluation of Weblogic 9.2 for EJB 3.0 , I have got the following questions.
    EJB Specification states that EJB's in EJB 3.0 can be developed and deployed without the need of deployment descriptors. I have created a simple EJB with two file Env.java and EnvBean.java and the source code is given below.
    a) I just complied these class files and when I was trying to deploy without ejb-jar.xml and weblogic-ejb-jar.xml, the console was not at all allowing me to deploy.Why is this so?
    b) After I created a META-INF file under root of classes directory by placing ejb-jar.xml with empty <enterprise-beans> element, console was allowing me to deploy with errors in parsing ejb-jar.xml. The error was either session/entity/mdb is a required under <enterprise-beans> element. Why is this required when there are several examples stating <enterprise-beans> element can be empty.
    c) Later I updated ejb-jar.xml with <session> element under <enterprise-beans> with the following values. I got the above error when deployed with this change.
    I had been struggling to deploy this simple bean for almost a day.Pleas point me if there is any documentation that solves my stated problem or if there is a solution.Thanks in advance.
    regards
    Karim
    ejb-jar.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <ejb-jar xmlns="http://java.sun.com/xml/ns/javaee" version="3.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd">
    <enterprise-beans>
    <session>
    <description>This is the stateless ejb</description>
    <display-name>Env Bean</display-name>
    <ejb-name>EnvBean</ejb-name>
    </session>
    </enterprise-beans>
    </ejb-jar>
    Env.java
    package examples ;
    public interface Env {
    public void display();
    EnvBean.java
    package examples;
    import javax.ejb.Remote;
    import javax.ejb.Stateless;
    @Stateless
    @Remote(Env.class)
    public class EnvBean implements Env {
    public void display() {
    System.out.println("Welcome to EJB 3.0");
    }

    Presumably you're using the EJB3 tech preview, and not a vanilla WebLogic 9.2 install, right?
    Can you post the full stack trace?
    -Patrick

  • Can not find my EJB's from my Servlet

    Hi
    I am new to EJB and am trying to get a Servlet to call some sessionless EJB beans. I have got it working in JDeveloper but when I deploy it to orion application server I keep getting a javax.naming.NameNotFoundException exception throw from the Servlet when it tries to find the first EJB.
    The code in the Servlet is:
    env.put(Context.INITIAL_CONTEXT_FACTORY, "com.evermind.server.rmi.RMIInitialContextFactory");
    env.put(Context.SECURITY_PRINCIPAL, "admin");
    env.put(Context.SECURITY_CREDENTIALS, "jewels");
    // env.put(Context.PROVIDER_URL, "ormi://localhost:23891/current-workspace-app");
    env.put(Context.PROVIDER_URL, "ormi://localhost:23791/dev");
    Context ctx = new InitialContext(env);
    System.out.println("Getting mapping class ejb");
    //mapping
    ExponentMappingServiceHome mappingHome = (ExponentMappingServiceHome)ctx.lookup("ExponentMappingServiceHome");
    ExponentMappingService mapping = mappingHome.create();
    My EJB xml looks like this:
    <?xml version = '1.0' encoding = 'windows-1252'?>
    <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN" "http://java.sun.com/j2ee/dtds/ejb-jar_1_1.dtd">
    <ejb-jar>
    <enterprise-beans>
    <session>
    <description>Session Bean ( Stateless )</description>
    <display-name>ExponentMappingService</display-name>
    <ejb-name>ExponentMappingService</ejb-name>
    <home>com.exponent.ejb.service.map.ExponentMappingServiceHome</home>
    <remote>com.exponent.ejb.service.map.ExponentMappingService</remote>
    <ejb-class>com.exponent.ejb.service.map.ExponentMappingServiceBean</ejb-class>
    <session-type>Stateless</session-type>
    <transaction-type>Container</transaction-type>
    </session>
    <session>
    <description>Session Bean ( Stateless )</description>
    <display-name>ExponentMappingViewsService</display-name>
    <ejb-name>ExponentMappingViewsService</ejb-name>
    <home>com.exponent.ejb.service.map.ExponentMappingViewsServiceHome</home>
    <remote>com.exponent.ejb.service.map.ExponentMappingViewsService</remote>
    <ejb-class>com.exponent.ejb.service.map.ExponentMappingViewsServiceBean</ejb-class>
    <session-type>Stateless</session-type>
    <transaction-type>Container</transaction-type>
    </session>
    <session>
    <description>Session Bean ( Stateless )</description>
    <display-name>FalconService</display-name>
    <ejb-name>FalconService</ejb-name>
    <home>com.exponent.ejb.service.FalconServiceHome</home>
    <remote>com.exponent.ejb.service.FalconService</remote>
    <ejb-class>com.exponent.ejb.service.FalconServiceBean</ejb-class>
    <session-type>Stateless</session-type>
    <transaction-type>Container</transaction-type>
    </session>
    </enterprise-beans>
    </ejb-jar>
    I have been trying for a while to get the JNDI naming right but everything I try gets the above error. Any help would be great.
    Thanks
    Andre

    You have to lookup for "ExponentMappingService", and not "ExponentMappingServiceHome"
    The name you give in the <ejb-name> tag in ejb-jar.xml is the JNDI name of the EJB. This is the name u have to look up.

  • Help needed for newbie EJB

    Hi, all
    I am a newbie in EJB and I am following the example in the URL:
    http://www.huihoo.com/jboss/online_manual/3.0/
    I am working on the 'interest' example in the first chapter.
    When it come to 'Packaging and deploying the bean', I got some meaage like this:
    ant intro-interest-jar
    Buildfile: build.xml
    validate-servlet:
    validate-jboss:
    fail_if_not_valid:
    init:
    [echo] Using JBoss directory=/opt/jboss
    [echo] Using base classpath=/opt/jboss/client/jboss-j2ee.jar:/opt/jboss/client/jaas.jar:/opt/jboss/client/jbosssx-client.jar:/opt/jboss/client/jboss-client.jar:/opt/jboss/client/jnp-client.jar:/home/xiaobo/learningejb/examples/COULD_NOT_FIND_SERVLET_JAR
    [echo] Using Source directory=/home/xiaobo/learningejb/examples
    [echo] Using Build directory=/home/xiaobo/learningejb/examples/build-examples
    intro-interest-jar:
    compile:
    ejb-jar:
    [delete] Deleting directory /home/xiaobo/learningejb/examples/build-examples/interest/META-INF
    [mkdir] Created dir: /home/xiaobo/learningejb/examples/build-examples/interest/META-INF
    [copy] Copying 1 file to /home/xiaobo/learningejb/examples/build-examples/interest/META-INF
    [copy] Copying 1 file to /home/xiaobo/learningejb/examples/build-examples/interest/META-INF
    [jar] Building jar: /home/xiaobo/learningejb/examples/build-examples/interest/interest.jar
    BUILD SUCCESSFUL
    Total time: 2 seconds
    Why did I get this:
    /home/xiaobo/learningejb/examples/COULD_NOT_FIND_SERVLET_JAR.
    But if I check the "interest.jar" by using 'jar -tvf interest.jar' in the "~/learningejb/examples/build-examples/interest$" directory, it seems it had all files and directories in it.
    But if I copy this jar file into the deploy directory in jboss, and I check the log file 'server.log'
    I found this error message:
    2005-11-28 17:31:03,536 DEBUG [org.jboss.management.j2ee.LocalJBossServerDomain] handleNotification: javax.management.Notification[source=jboss.ejb:service=EJBDeployer,type=org.jboss.deployment.SubDeployer.stop,sequenceNumber=15,timeStamp=1133213463536,message=null,userData=org.jboss.deployment.DeploymentInfo@c36a9f52 { url=file:/opt/jboss-3.2.5/server/default/deploy/interest.jar }
    deployer: org.jboss.ejb.EJBDeployer@3c9c31
    status: Deployment FAILED reason: ejb-jar.xml must define a valid DOCTYPE!
    state: FAILED
    watch: file:/opt/jboss-3.2.5/server/default/deploy/interest.jar
    lastDeployed: 1133210324921
    lastModified: 1133210324000
    mbeans:
    Then I add the follwoing line into the 'ejb-jar.xml':
    <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
    so the 'ejb-jar.xml' looks like this:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
    <ejb-jar>
    <description>JBoss Interest Sample Application</description>
    <display-name>Interest EJB</display-name>
    <enterprise-beans>
    <session>
    <ejb-name>Interest</ejb-name>
    <home>org.jboss.docs.interest.InterestHome</home>
    <remote>org.jboss.docs.interest.Interest</remote>
    <ejb-class>org.jboss.docs.interest.InterestBean</ejb-class>
    <session-type>Stateless</session-type>
    <transaction-type>Bean</transaction-type>
    </session>
    </enterprise-beans>
    </ejb-jar>
    and I rejar it and copy the jar file into the deploy directory. I still got the same error message in the log file???!!!
    Please help!
    X.Chen

    It's a no brainer between the AirPort Extreme and Airport Express.
    The AirPort Extreme has 6 wireless antennas up at the top of the "tower", while the AirPort Express has four, so the Extreme has significantly better wireless speed and range than the Express.
    As you know, the broadcast power of wireless routers is limited by law, and most routers are running full blast. Apple routers are not known for their broadcast power, so what we cannot tell you is whether the Extreme will outperform the existing wireless router that you already have in terms of range.
    Also as you know, the speed of your Internet connection is limited to the plan that you have with Verizon. An Apple router cannot take the speed of Internet connection that it receives from your Verizon plan and make it go any faster.
    A user who has both the same Verizon router as you and an AirPort Extreme might be able to tell you how the products compare in his home.
    But...and this is a big BUT...... the bottom line with any wireless router is that you will not know how well it performs in your home until you try it out in your home. To think otherwise would be foolhardy at best.
    Buy from Apple and you have a 14 day return privilege in case things don't work as well as hoped. Other stores may offer a similar option. Check first, before you buy.

  • Reference for Connecting EJB in KM scheduler Task

    Hi,
           What are the main References we need to add portalapp.xml,when we connect Ejb in Km scheduler Tasks
    For Example:
    portalapp.xml
    <?xml version="1.0" encoding="UTF-8"?>
      <application >
        <application-config>
        <property name="SharingReference" value="usermanagement, knowledgemanagement,landscape,       htmlb, exportalJCOclient, exportal, com.sap.portal.admin.wizardframework"/>  </application-config>
      <components/>
      <services>
        <service name="RFServiceWrapper">
          <service-config>
            <property name="className" value="com.sap.netweaver.rf.wrapper.RFServiceWrapper"/>
            <property name="startup" value="true"/>
          </service-config>
        </service>
      </services>
    </application>
    Regards,
    Vino

    Hi,
    Try some thing like this:
    ClassLoader originalContextClassLoader = Thread.currentThread().getContextClassLoader();                                   
    try {
              Thread.currentThread().setContextClassLoader(this.getClass().getClassLoader());
              Context initial = new InitialContext();
              Object objref = initial.lookup("JNDI Name Of the Session Bean");
              Object obj = PortableRemoteObject.narrow(objref, BeanHome.class);
         } catch (NamingException ex) {
              ex.printStackTrace();          
         } catch (Exception ex) {
              ex.printStackTrace();          
         finally {
         Thread.currentThread().setContextClassLoader(originalContextClassLoader);
    Regards,
    Praveen Gudapati

  • PHP using soap to call EJB

    Hello everybody,
    I've a problem to call a EJB form a PHP script.
    There is a Apache with PHP 5.2.0 and a SAP NetWeaver Application Server 7.10 / AS Java 7.10 running on the system.
    I wanted to use soap to call a method in an EJB. It's only a test EJB:
    [code]
    package beans;
    import javax.ejb.Stateless;
    import javax.jws.WebService;
    import javax.jws.WebMethod;
    @WebService(name="HelloWorldEARBean",serviceName="HelloWorldEARBeanService",targetNamespace="http://beans/",portName="HelloWorldEARBeanPort") @Stateless public class HelloWorldEARBean {
      @WebMethod public String sayHello(String testStr){
                return "Hello Mr. "+testStr;
      @WebMethod public String getReturn(String inputStr){
                return "the return value is"+inputStr;
    [/code]
    I tried it with the PEAR SOAP in the following script:
    [code]
    <?php
    require_once 'SOAP/Client.php';
    $wsdl_url     = 'http://localhost:50000/HelloWorldEARBeanService/HelloWorldEARBean?wsdl';
    $WSDL = new SOAP_WSDL($wsdl_url);
    $client = $WSDL->getProxy();
    $client->__trace(1);
    $options=array('namespace' => 'http://beans/',
      'style' => 'rpc',
      'soapaction' => 'sayHello');
    $NAME = "Bob"; 
    $parameters=array(
         'parameters', $NAME
    $result = $client->getReturn($parameters);
    echo "<pre>";
    print_r($params);
    echo "</pre>";
    echo "<h2>return</h2>";
    echo "<pre>";
    print_r($result);
    echo "</pre>";
    echo '<h2>Request</h2>';
    echo '<pre>' . htmlspecialchars($client->__getlastrequest(), ENT_QUOTES) . '</pre>';
    echo '<h2>Response</h2>';
    echo '<pre>' . htmlspecialchars($client->__getlastresponse(), ENT_QUOTES). '</pre>';
    ?>
    [/code]
    The AS distributes the following WSDL:
    [code]
    - <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://beans/" xmlns:tns="http://beans/">
    - <wsdl:types>
    - <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0" targetNamespace="http://beans/">
      <xs:element name="getReturn" type="tns:getReturn" />
      <xs:element name="getReturnResponse" type="tns:getReturnResponse" />
      <xs:element name="sayHello" type="tns:sayHello" />
      <xs:element name="sayHelloResponse" type="tns:sayHelloResponse" />
    - <xs:complexType name="sayHello">
    - <xs:sequence>
      <xs:element name="arg0" type="xs:string" minOccurs="0" />
      </xs:sequence>
      </xs:complexType>
    - <xs:complexType name="sayHelloResponse">
    - <xs:sequence>
      <xs:element name="return" type="xs:string" minOccurs="0" />
      </xs:sequence>
      </xs:complexType>
    - <xs:complexType name="getReturn">
    - <xs:sequence>
      <xs:element name="arg0" type="xs:string" minOccurs="0" />
      </xs:sequence>
      </xs:complexType>
    - <xs:complexType name="getReturnResponse">
    - <xs:sequence>
      <xs:element name="return" type="xs:string" minOccurs="0" />
      </xs:sequence>
      </xs:complexType>
      </xs:schema>
      </wsdl:types>
    - <wsdl:message name="sayHelloIn">
      <wsdl:part name="parameters" element="tns:sayHello" />
      </wsdl:message>
    - <wsdl:message name="sayHelloOut">
      <wsdl:part name="sayHelloResponse" element="tns:sayHelloResponse" />
      </wsdl:message>
    - <wsdl:message name="getReturnIn">
      <wsdl:part name="parameters" element="tns:getReturn" />
      </wsdl:message>
    - <wsdl:message name="getReturnOut">
      <wsdl:part name="getReturnResponse" element="tns:getReturnResponse" />
      </wsdl:message>
    - <wsdl:portType name="HelloWorldEARBean">
    - <wsdl:operation name="sayHello" parameterOrder="parameters">
      <wsdl:input message="tns:sayHelloIn" />
      <wsdl:output message="tns:sayHelloOut" />
      </wsdl:operation>
    - <wsdl:operation name="getReturn" parameterOrder="parameters">
      <wsdl:input message="tns:getReturnIn" />
      <wsdl:output message="tns:getReturnOut" />
      </wsdl:operation>
      </wsdl:portType>
    - <wsdl:binding name="HelloWorldEARBeanBinding" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" type="tns:HelloWorldEARBean">
      <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
    - <wsdl:operation name="sayHello">
      <soap:operation soapAction="" />
    - <wsdl:input>
      <soap:body parts="parameters" use="literal" />
      </wsdl:input>
    - <wsdl:output>
      <soap:body use="literal" />
      </wsdl:output>
      </wsdl:operation>
    - <wsdl:operation name="getReturn">
      <soap:operation soapAction="" />
    - <wsdl:input>
      <soap:body parts="parameters" use="literal" />
      </wsdl:input>
    - <wsdl:output>
      <soap:body use="literal" />
      </wsdl:output>
      </wsdl:operation>
      </wsdl:binding>
    - <wsdl:service name="HelloWorldEARBeanService">
    - <wsdl:port name="HelloWorldEARBeanPort" binding="tns:HelloWorldEARBeanBinding">
      <soap:address xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" location="http://localhost:50000/HelloWorldEARBeanService/HelloWorldEARBean" />
      </wsdl:port>
      </wsdl:service>
      </wsdl:definitions>
    [/code]
    By the following output it's obvious that the AS or the EJB (webservice) doesn't receive the parameter send by the PHP script. Look at the output:
    return value:
    the return value is null
    [code]
    Request:
    POST /HelloWorldEARBeanService/HelloWorldEARBean HTTP/1.0
    User-Agent: PEAR-SOAP 0.8.0RC4-devel
    Host: localhost
    Content-Type: text/xml; charset=UTF-8
    Content-Length: 438
    SOAPAction: ""
    <?xml version="1.0" encoding="UTF-8"?>
    <SOAP-ENV:Envelope  xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
    >
    <SOAP-ENV:Body>
    <getReturn xmlns="http://beans/">
    <item>parameters</item>
    <item>Bob</item></getReturn>
    </SOAP-ENV:Body>
    </SOAP-ENV:Envelope>
    Response:
    HTTP/1.1 200 OK
    server: SAP NetWeaver Application Server 7.10 / AS Java 7.10
    content-type: text/xml; charset=utf-8
    date: Wed, 14 Feb 2007 15:51:53 GMT
    connection: close
    <?xml version="1.0" encoding="utf-8"?>
    <SOAP-ENV:Envelope xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <SOAP-ENV:Header><wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
    <wsu:Timestamp xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
    <wsu:Created>2007-02-14T15:51:53Z</wsu:Created>
    <wsu:Expires>2007-02-14T15:52:23Z</wsu:Expires></wsu:Timestamp></wsse:Security></SOAP-ENV:Header>
    <SOAP-ENV:Body><ns2:getReturnResponse xmlns:ns2='http://beans/'>
    <return>the return value is null</return></ns2:getReturnResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>
    [/code]
    I used different soap interfaces for PHP like nusoap and the integrated soap interface of PHP 5.
    Further I experimented with different parameters inside the function call
    that results in small differencies at the xml-request.
    Thanks.

    Hi
    I've solved the problem now. I just have to add
    @SOAPBinding(style=SOAPBinding.Style.RPC)
    in the EJB, that's all.
    Here is the complete code, ... maybe some other guys have this problem too, so I will post the working code:
    At first the EJB:
    package beans;
    import javax.ejb.Stateless;
    import javax.jws.WebParam;
    import javax.jws.WebService;
    import javax.jws.WebMethod;
    import javax.jws.soap.SOAPBinding;
    import beans.HelloWorldEARBean;
    @WebService(name="HelloWorldEARBean",serviceName="HelloWorldEARBeanService",targetNamespace="http://beans/",portName="HelloWorldEARBeanPort")
    @SOAPBinding(style=SOAPBinding.Style.RPC)
    @Stateless public class HelloWorldEARBean {
         @WebMethod public String sayHello(@WebParam(name="testStr") String testStr){
                return "Hello Mr. "+testStr;
    2. the local XML:
    <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://beans/" xmlns:tns="http://beans/">
      <wsdl:types>
        <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0" targetNamespace="http://beans/">
          <xs:element name="sayHello" type="tns:sayHello"/>
          <xs:element name="sayHelloResponse" type="tns:sayHelloResponse"/>
          <xs:complexType name="sayHello">
              <xs:element name="testStr" type="xs:string" minOccurs="0"/>
          </xs:complexType>
          <xs:complexType name="sayHelloResponse">
              <xs:element name="return" type="xs:string" minOccurs="0"/>
          </xs:complexType>
        </xs:schema>
      </wsdl:types>
      <wsdl:message name="sayHelloIn">
        <wsdl:part name="parameters" element="tns:sayHello"/>
      </wsdl:message>
      <wsdl:message name="sayHelloOut">
        <wsdl:part name="sayHelloResponse" element="tns:sayHelloResponse"/>
      </wsdl:message>
      <wsdl:portType name="HelloWorldEARBean">
        <wsdl:operation name="sayHello" parameterOrder="parameters">
          <wsdl:input message="tns:sayHelloIn"/>
          <wsdl:output message="tns:sayHelloOut"/>
        </wsdl:operation>
      </wsdl:portType>
      <wsdl:binding name="HelloWorldEARBeanBinding" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" type="tns:HelloWorldEARBean">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <wsdl:operation name="sayHello">
          <soap:operation soapAction=""/>
          <wsdl:input>
            <soap:body parts="parameters" use="literal"/>
          </wsdl:input>
          <wsdl:output>
            <soap:body use="literal"/>
          </wsdl:output>
        </wsdl:operation>
      </wsdl:binding>
      <wsdl:service name="HelloWorldEARBeanService">
        <wsdl:port name="HelloWorldEARBeanPort" binding="tns:HelloWorldEARBeanBinding">
          <soap:address xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" location="http://localhost:50000/HelloWorldEARBeanService/HelloWorldEARBean"/>
        </wsdl:port>
      </wsdl:service>
    </wsdl:definitions>
    3. the PHP script:
    see next post
    Thank you very much for your help.

  • Unable to load "ejb.jar" to database

    Hi All,
    I am trying to load ejb.jar to database by using the following syntax.
    loadjava  -verbose -force -resolve -oracleresolver -user <uname>/<password>@<server>:<port>:<sid>  -t  ejb.jar 
    But it is showing error :
    ksh: loadjava : not found.
    In the server when i type loadjava it is showing the options, means loadjava will work i think. Is there any configuration needs to change to load ejb.jar to database ?
    Machine details :
    AIX 64 Bit 5.3
    DB : Oracle 11g 11.2.0.2.0
    Appreciated your help in this.
    Thanks,
    Prakash

    Prakash wrote:
    Hi,
    I did the following
    export PATH=$ORACLE_HOME/bin
    Then
    loadjava  -verbose -force -resolve -oracleresolver -user <Uname>/<Pwd>@<Server>:<Port>:<Sid>  -t  ejb.jar
    But still i m facing the same issue.
    Even the .profile also we have defined : export PATH=$PATH:$ORACLE_HOME/bin/
    Can you please point me what is missing in the above steps i followed.
    Thanks,
    Prakash
    PLEASE use COPY & PASTE so we can see exactly what you do & response from OS/Oracle
    what is "-t" arguement?
    bcm@bcm-laptop:~$ loadjava
    loadjava: Usage: loadjava [-definer] [-encoding encoding] [-force] [-genmissing] [-genmissingjar jar] [-grant grants] [-help] [-nousage] [-noverify] [-oci8] [-order] [-resolve] [-nativecompile] [-resolver resolver] [-schema schema] [-synonym] [-thin] [-tableschema schema] [-user user/password@database] [-verbose] [-edition edition] classes..jars..resources..properties...
    bcm@bcm-laptop:~$

  • How to get the TransactionManager in a stateful EJB (using JPA toplink)

    I use weblogic 10.3
    This is my stateful EJB and I need to get the TransactionManager because I want to suspend my transaction...
    Here it is ok for the UserTransaction ut but I got an error with the TransactionManager
    EJB Code
    //@Stateless(name = "MyFacadeEJB", mappedName = "MyFacadeEJB")
    @Stateful(name = "MyFacadeEJB", mappedName = "MyFacadeEJB")
    @TransactionManagement(TransactionManagementType.BEAN)
    @Remote
    @Local
    public class MyFacadeEJBBean implements MyFacadeEJB, MyFacadeEJBLocal, Serializable {   
    @Resource javax.transaction.UserTransaction ut;
    @Resource javax.transaction.TransactionManager tm;
    Error Message at the deploy EJB
    Unable to deploy EJB: MyFacadeEJB from PocJTA-PEJB-ejb:
    [EJB:011026]The EJB container failed while creating the java:/comp/env namespace for this EJB deployment.
    weblogic.deployment.EnvironmentException: [EJB:010176]The resource-env-ref 'test.ejb.MyFacadeEJBBean/tm' declared in the ejb-jar.xml descriptor or annotation has no JNDI name mapped to it. The resource-ref must be mapped to a JNDI name using the resource-description element of the weblogic-ejb-jar.xml descriptor or corresponding annotation.
         at weblogic.ejb.container.deployer.EnvironmentBuilder.addResourceEnvReferences(EnvironmentBuilder.java:639)
         at weblogic.ejb.container.deployer.EJBDeployer.setupEnvironmentContext(EJBDeployer.java:247)

    Chpruvos,
    Hi, I ran into a similar issue when specifying WebLogic specific descriptors in ejb-jar.xml and the corresponding weblogic-ejb-jar.xml. I no longer use this approach in our example code - we just use annotations. see: http://wiki.eclipse.org/EclipseLink/Examples/JPA/WebLogic_Web_Tutorial#Tutorial_Source
    My session bean is stateless - I don't know how much it will help with your statefull bean managed config but here are copies of the ejb.jar configuration xml I used to use. All the resource*ref elements (see the resource-description* element) ended up in the weblogic specific weblogic-ejb-jar.xml descriptor file.
    ejb-jar.xml
    &lt;?xml version="1.0" encoding="UTF-8"?&gt;
    &lt;ejb-jar xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:ejb="http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee [http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd]" version="3.0"&gt;
    *&lt;enterprise-beans&gt;*
    *&lt;session&gt;*
    *&lt;ejb-name&gt;ApplicationService&lt;/ejb-name&gt;*
    *&lt;ejb-class&gt;org.eclipse.persistence.example.unified.business.ApplicationService&lt;/ejb-class&gt;*
    *&lt;session-type&gt;Stateless&lt;/session-type&gt;*
    +&lt;!-- default to CMP Container managed transations not BMP --&gt;+
    +&lt;!-- transaction-type&gt;Bean&lt;/transaction-type--&gt;+
    +&lt;!-- resource-env-ref id="ResourceEnvRef_1080980284303"&gt;+
    +&lt;resource-env-ref-name&gt;localOracle10RemoteDS&lt;/resource-env-ref-name&gt;+
    +&lt;resource-env-ref-type&gt;javax.sql.DataSource&lt;/resource-env-ref-type&gt;+
    +&lt;/resource-env-ref--&gt;+
    +&lt;!-- resource-ref&gt;+
    +&lt;res-ref-name&gt;localOracle10RemoteDS&lt;/res-ref-name&gt;+
    +&lt;res-type&gt;javax.sql.DataSource&lt;/res-type&gt;+
    +&lt;res-auth&gt;Application&lt;/res-auth&gt;+
    +&lt;/resource-ref--&gt;+
    *&lt;/session&gt;*
    *&lt;/enterprise-beans&gt;*
    &lt;/ejb-jar&gt;
    weblogic-ejb-jar.xml
    &lt;?xml version="1.0"?&gt;
    &lt;weblogic-ejb-jar&gt;
    *&lt;weblogic-enterprise-bean&gt;*
    *&lt;ejb-name&gt;ApplicationService&lt;/ejb-name&gt;*
    *&lt;stateless-session-descriptor&gt;*
    *&lt;pool&gt;*
    *&lt;max-beans-in-free-pool&gt;8&lt;/max-beans-in-free-pool&gt;*
    *&lt;initial-beans-in-free-pool&gt;2&lt;/initial-beans-in-free-pool&gt;*
    *&lt;/pool&gt;*
    *&lt;/stateless-session-descriptor&gt;*
    {color:#008000}&lt;resource-description&gt;
    &lt;res-ref-name&gt;localOracle10RemoteDS&lt;/res-ref-name&gt;
    &lt;jndi-name&gt;localOracle10RemoteDS&lt;/jndi-name&gt;
    &lt;/resource-description&gt;
    &lt;resource-env-description&gt;
    &lt;resource-env-ref-name&gt;localOracle10RemoteDS&lt;/resource-env-ref-name&gt;
    &lt;jndi-name&gt;localOracle10RemoteDS&lt;/jndi-name&gt;
    &lt;/resource-env-description&gt;
    {color}+&lt;!-- jndi-name&gt;localOracle10RemoteDS&lt;/jndi-name--&gt;+
    *&lt;/weblogic-enterprise-bean&gt;*
    &lt;/weblogic-ejb-jar&gt;
    thank you
    /michael
    [http://www.eclipselink.org|http://www.eclipselink.org/]
    Edited by: michael_obrien on Feb 26, 2009 9:56 AM

  • Trying to write a basic EJB app w/ JPA and remote client

    I'm trying to put together a simple sample app that shows a simple stateless session bean that grabs a Java EE 5 entity from the DB and sends it to the remote caller. I have an entity class called Person that simply has getId() and getName() methods.
    I'm trying to get a reference to the session bean (using InitialContext.lookup()), which works. Then I try to call a method on that bean, which works as long as the type being returned is not a Person object. I've had the bean always return "Hello" and it works just fine.
    Here's the bean code.
    @Stateless(mappedName="RolodexSession")
    public class RolodexSessionBean implements RolodexSessionRemote {
        @PersistenceContext
        private EntityManager em;
        /** Creates a new instance of RolodexSessionBean */
        public RolodexSessionBean() {
        public Object getPersonByName(String name)
            Query q = em.createQuery("select object(o) from Person o where o.name=:n");
            q.setParameter("n",name);
            List results = q.getResultList();
            if (results.isEmpty())
                return "emtpy";
            // this would work just fine...
            // return "Some string";
            // but this doesn't work at all
            return results.get(0);
    }Here's the client code...
    public class Main {
        @EJB
        protected RolodexSessionRemote rolodexSession;
        /** Creates a new instance of Main */
        public Main() throws NamingException {
            Context ctx = new InitialContext();
            rolodexSession = (RolodexSessionRemote)ctx.lookup("RolodexSession");
            Object result = rolodexSession.getPersonByName("John Smith");
            System.out.println(result);
         * @param args the command line arguments
        public static void main(String[] args) throws NamingException {
            Main m = new Main();
    }I made sure to put a Person object into my database with the name "John Smith".
    The error I keep getting is...
    Dec 7, 2006 4:40:29 PM com.sun.corba.ee.impl.encoding.CDRInputStream_1_0 read_value
    WARNING: "IOP00810257: (MARSHAL) Could not find class"
    org.omg.CORBA.MARSHAL:   vmcid: SUN  minor code: 257 completed: Maybe
            at com.sun.corba.ee.impl.logging.ORBUtilSystemException.couldNotFindClass(ORBUtilSystemException.java:8309)
            at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:984)
            at com.sun.corba.ee.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:259)
            at com.sun.corba.ee.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:1987)
            at com.sun.corba.ee.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2211)
            at com.sun.corba.ee.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1219)
            at com.sun.corba.ee.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:398)
            at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValueInternal(ValueHandlerImpl.java:329)
            at com.sun.corba.ee.impl.io.ValueHandlerImpl.readValue(ValueHandlerImpl.java:295)
            at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1005)
            at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:850)
            at com.sun.corba.ee.impl.encoding.CDRInputStream.read_value(CDRInputStream.java:255)
            at com.sun.corba.ee.impl.corba.TCUtility.unmarshalIn(TCUtility.java:269)
            at com.sun.corba.ee.impl.corba.AnyImpl.read_value(AnyImpl.java:558)
            at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_any(CDRInputStream_1_0.java:710)
            at com.sun.corba.ee.impl.encoding.CDRInputStream.read_any(CDRInputStream.java:225)
            at com.sun.corba.ee.impl.javax.rmi.CORBA.Util.readAny(Util.java:449)
            at com.sun.corba.ee.impl.presentation.rmi.DynamicMethodMarshallerImpl$10.read(DynamicMethodMarshallerImpl.java:251)
            at com.sun.corba.ee.impl.presentation.rmi.DynamicMethodMarshallerImpl.readResult(DynamicMethodMarshallerImpl.java:424)
            at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.privateInvoke(StubInvocationHandlerImpl.java:162)
            at com.sun.corba.ee.impl.presentation.rmi.StubInvocationHandlerImpl.invoke(StubInvocationHandlerImpl.java:119)
            at com.sun.corba.ee.impl.presentation.rmi.bcel.BCELStubBase.invoke(BCELStubBase.java:197)
            at session.__RolodexSessionRemote_Remote_DynamicStub.getPersonByName(__RolodexSessionRemote_Remote_DynamicStub.java)
            at session._RolodexSessionRemote_Wrapper.getPersonByName(session._RolodexSessionRemote_Wrapper.java)
            at clientapp.Main.<init>(Main.java:33)
            at clientapp.Main.main(Main.java:41)I'm running this on the Sun Java System App Server 9.0.
    Any ideas?

    I've narrowed down the issue. The Person object that I'm trying to send back has a one-to-many relationship with Address objects. I have this all setup correctly, I think. Here's the code from Person.java that establishes that relationship.
         * Holds value of property addresses.
        @OneToMany(mappedBy = "person")
        private List<Address> addresses;
         * Getter for property addresses.
         * @return Value of property addresses.
        public List<Address> getAddresses() {
            return this.addresses;
         * Setter for property addresses.
         * @param addresses New value of property addresses.
        public void setAddresses(List<Address> addresses) {
            this.addresses = addresses;
        }In Address.java I have the other side of the relationship defined (again, correctly, I think).
    IF I COMMENT OUT THIS RELATIONSHIP EVERYTHING WORKS! So, the problem seems to be related to using foreign key associations. Is there something I'm missing here? Perhaps it's related to lazy-loading of foreign keys?

  • Error while running ejbc. Fatal error from EJB Compiler ---- Error while pr

    Hi!
    I was deploying a test application for a session bean with sun 1 studio 5 and I started getting this message while deploying.
    I had tested the bean previously and I had no problems.
    I found this in the sun app server 7 release notes, but I don't understand what I'm supposed to do...
    "Deployment of CMP beans fails.
    The following error is thrown because there are no <query-params> entries in the container-managed persistence (CMP) bean in sun-ejb-jar.xml file:
    Error while running ejbc. Fatal error from EJB Compiler ---- Error while processing CMP beans.
    Solution
    Even if it isn't necessary for the CMP beans, add the query-params tag for finders in the sun-ejb-jar.xml file with the empty parameters."
    Here is my sun-ejb-jar.xml file:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE sun-ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Sun ONE Application Server 7.0 EJB 2.0//EN" "http://www.sun.com/software/sunone/appserver/dtds/sun-ejb-jar_2_0-0.dtd">
    <sun-ejb-jar>
    <enterprise-beans>
    <name>GestorDoBanco_EJBModule</name>
    <ejb>
    <ejb-name>Cliente</ejb-name>
    <jndi-name>ejb/Cliente</jndi-name>
    <pass-by-reference>false</pass-by-reference>
    <cmp>
    <mapping-properties>pcImpl0/moduleComp1/Data/Cliente.mapping</mapping-properties>
    </cmp>
    <refresh-period-in-seconds>600</refresh-period-in-seconds>
    </ejb>
    <ejb>
    <ejb-name>ClienteAssociadoAConta</ejb-name>
    <jndi-name>ejb/ClienteAssociadoAConta</jndi-name>
    <pass-by-reference>false</pass-by-reference>
    <cmp>
    <mapping-properties>pcImpl0/moduleComp1/Data/ClienteAssociadoAConta.mapping</mapping-properties>
    </cmp>
    <refresh-period-in-seconds>600</refresh-period-in-seconds>
    </ejb>
    <ejb>
    <ejb-name>Conta</ejb-name>
    <jndi-name>ejb/Conta</jndi-name>
    <pass-by-reference>false</pass-by-reference>
    <cmp>
    <mapping-properties>pcImpl0/moduleComp1/Data/Conta.mapping</mapping-properties>
    </cmp>
    <refresh-period-in-seconds>600</refresh-period-in-seconds>
    </ejb>
    <ejb>
    <ejb-name>GestorDoBanco</ejb-name>
    <jndi-name>ejb/GestorDoBanco</jndi-name>
    <pass-by-reference>false</pass-by-reference>
    </ejb>
    <ejb>
    <ejb-name>MensagemM003</ejb-name>
    <jndi-name>ejb/MensagemM003</jndi-name>
    <pass-by-reference>false</pass-by-reference>
    <cmp>
    <mapping-properties>pcImpl0/moduleComp1/Data/MensagemM003.mapping</mapping-properties>
    </cmp>
    <refresh-period-in-seconds>600</refresh-period-in-seconds>
    </ejb>
    <ejb>
    <ejb-name>MensagemM003Rejeitada</ejb-name>
    <jndi-name>ejb/MensagemM003Rejeitada</jndi-name>
    <pass-by-reference>false</pass-by-reference>
    <cmp>
    <mapping-properties>pcImpl0/moduleComp1/Data/MensagemM003Rejeitada.mapping</mapping-properties>
    </cmp>
    <refresh-period-in-seconds>600</refresh-period-in-seconds>
    </ejb>
    <ejb>
    <ejb-name>MensagemM012</ejb-name>
    <jndi-name>ejb/MensagemM012</jndi-name>
    <pass-by-reference>false</pass-by-reference>
    <cmp>
    <mapping-properties>pcImpl0/moduleComp1/Data/MensagemM012.mapping</mapping-properties>
    </cmp>
    <refresh-period-in-seconds>600</refresh-period-in-seconds>
    </ejb>
    <ejb>
    <ejb-name>MensagemM012Rejeitada</ejb-name>
    <jndi-name>ejb/MensagemM012Rejeitada</jndi-name>
    <pass-by-reference>false</pass-by-reference>
    <cmp>
    <mapping-properties>pcImpl0/moduleComp1/Data/MensagemM012Rejeitada.mapping</mapping-properties>
    </cmp>
    <refresh-period-in-seconds>600</refresh-period-in-seconds>
    </ejb>
    <ejb>
    <ejb-name>MensagemM103</ejb-name>
    <jndi-name>ejb/MensagemM103</jndi-name>
    <pass-by-reference>false</pass-by-reference>
    <cmp>
    <mapping-properties>pcImpl0/moduleComp1/Data/MensagemM103.mapping</mapping-properties>
    </cmp>
    <refresh-period-in-seconds>600</refresh-period-in-seconds>
    </ejb>
    <ejb>
    <ejb-name>MensagemM112</ejb-name>
    <jndi-name>ejb/MensagemM112</jndi-name>
    <pass-by-reference>false</pass-by-reference>
    <cmp>
    <mapping-properties>pcImpl0/moduleComp1/Data/MensagemM112.mapping</mapping-properties>
    </cmp>
    <refresh-period-in-seconds>600</refresh-period-in-seconds>
    </ejb>
    <ejb>
    <ejb-name>Registo</ejb-name>
    <jndi-name>ejb/Registo</jndi-name>
    <pass-by-reference>false</pass-by-reference>
    <cmp>
    <mapping-properties>pcImpl0/moduleComp1/Data/Registo.mapping</mapping-properties>
    </cmp>
    <refresh-period-in-seconds>600</refresh-period-in-seconds>
    </ejb>
    <ejb>
    <ejb-name>TransaccaoConfirmada</ejb-name>
    <jndi-name>ejb/TransaccaoConfirmada</jndi-name>
    <pass-by-reference>false</pass-by-reference>
    <cmp>
    <mapping-properties>pcImpl0/moduleComp1/Data/TransaccaoConfirmada.mapping</mapping-properties>
    </cmp>
    <refresh-period-in-seconds>600</refresh-period-in-seconds>
    </ejb>
    <ejb>
    <ejb-name>TransaccaoFinalizada</ejb-name>
    <jndi-name>ejb/TransaccaoFinalizada</jndi-name>
    <pass-by-reference>false</pass-by-reference>
    <cmp>
    <mapping-properties>pcImpl0/moduleComp1/Data/TransaccaoFinalizada.mapping</mapping-properties>
    </cmp>
    <refresh-period-in-seconds>600</refresh-period-in-seconds>
    </ejb>
    <ejb>
    <ejb-name>TransaccaoIniciada</ejb-name>
    <jndi-name>ejb/TransaccaoIniciada</jndi-name>
    <pass-by-reference>false</pass-by-reference>
    <cmp>
    <mapping-properties>pcImpl0/moduleComp1/Data/TransaccaoIniciada.mapping</mapping-properties>
    </cmp>
    <refresh-period-in-seconds>600</refresh-period-in-seconds>
    </ejb>
    <pm-descriptors>
    <pm-descriptor>
    <pm-identifier>SunONE</pm-identifier>
    <pm-version>1.0</pm-version>
    <pm-class-generator>com.iplanet.ias.persistence.internal.ejb.ejbc.JDOCodeGenerator</pm-class-generator>
    <pm-mapping-factory>com.iplanet.ias.cmp.NullFactory</pm-mapping-factory>
    </pm-descriptor>
    <pm-inuse>
    <pm-identifier>SunONE</pm-identifier>
    <pm-version>1.0</pm-version>
    </pm-inuse>
    </pm-descriptors>
    <cmp-resource>
    <jndi-name>mysqlpmanager</jndi-name>
    <default-resource-principal>
    <name>bes</name>
    <password>besbes</password>
    </default-resource-principal>
    </cmp-resource>
    </enterprise-beans>
    </sun-ejb-jar>
    Thanks in advance for any help.
    Nuno

    http://docs.sun.com/source/817-2175-10/decmp.html
    Please go to the above docs and look thru the examples given in it.
    Example 2
    This query returns all products in a specified price range. It defines two query parameters which are the lower and upper bound for the price: double low, double high. The filter compares the query parameters with the price field:
    "low < price && price < high"
    The finder element of the sun-ejb-jar.xml file would look like this:
    <finder>
    <method-name>findInRange</method-name>
    <query-params>double low, double high</query-params>
    <query-filter>low < price && price &lt
    high</query-filter
    </finder>
    I hope this hepls. In your case u just have to make it null.

  • Error while running EJB from java client on JBOSS

    Hi
    As i am new to EJB i have created a helloworld application in ejb which is working fine when i try to call it from servlet but when i try to invoke the same ejb from java client (i.e from diff jvm) on jboss i got the following error:
    javax.naming.CommunicationException: Could not obtain connection to any of these urls: localhost:1099 and discovery failed with error: javax.naming.CommunicationException: Receive timed out [Root exception is java.net.SocketTimeoutException: Receive timed out] [Root exception is javax.naming.CommunicationException: Failed to connect to server localhost:1099 [Root exception is javax.naming.ServiceUnavailableException: Failed to connect to server localhost:1099 [Root exception is java.net.ConnectException: Connection refused]]]
         at org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1399)
         at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:579)
         at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:572)
         at javax.naming.InitialContext.lookup(InitialContext.java:351)
         at com.gl.TestClient.main(TestClient.java:39)
    Caused by: javax.naming.CommunicationException: Failed to connect to server localhost:1099 [Root exception is javax.naming.ServiceUnavailableException: Failed to connect to server localhost:1099 [Root exception is java.net.ConnectException: Connection refused]]
         at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:254)
         at org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1370)
         ... 4 more
    Caused by: javax.naming.ServiceUnavailableException: Failed to connect to server localhost:1099 [Root exception is java.net.ConnectException: Connection refused]
         at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:228)
         ... 5 more
    Caused by: java.net.ConnectException: Connection refused
         at java.net.PlainSocketImpl.socketConnect(Native Method)
         at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
         at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
         at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
         at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
         at java.net.Socket.connect(Socket.java:519)
         at java.net.Socket.connect(Socket.java:469)
         at java.net.Socket.<init>(Socket.java:366)
         at java.net.Socket.<init>(Socket.java:266)
         at org.jnp.interfaces.TimedSocketFactory.createSocket(TimedSocketFactory.java:69)
         at org.jnp.interfaces.TimedSocketFactory.createSocket(TimedSocketFactory.java:62)
         at org.jnp.interfaces.NamingContext.getServer(NamingContext.java:224)
         ... 5 more
    Following is my code:
    Home Interface:
    package com.gl;
    import javax.ejb.CreateException;
    public interface testHome extends EJBHome {
         String JNDI_NAME = "testBean";
         public     test create()
         throws java.rmi.RemoteException,CreateException;
    Remote Interface:
    package com.gl;
    import java.rmi.RemoteException;
    import javax.ejb.EJBObject;
    public interface test extends EJBObject {
         public String welcomeMessage() throws RemoteException;
    Bean:
    package com.gl;
    import java.rmi.RemoteException;
    import javax.ejb.EJBException;
    import javax.ejb.SessionBean;
    import javax.ejb.SessionContext;
    public class testbean implements SessionBean {
         public void ejbActivate() throws EJBException, RemoteException {
              // TODO Auto-generated method stub
         public void ejbPassivate() throws EJBException, RemoteException {
              // TODO Auto-generated method stub
         public void ejbRemove() throws EJBException, RemoteException {
              // TODO Auto-generated method stub
         public void setSessionContext(SessionContext arg0) throws EJBException,
                   RemoteException {
              // TODO Auto-generated method stub
         public void ejbCreate(){}
         public String welcomeMessage(){
              return "Welcome to the World of EJB";
    ejb-jar.xml:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
    <ejb-jar>
    <enterprise-beans>
    <session>
    <ejb-name>testBean</ejb-name>
    <home>com.gl.testHome</home>
    <remote>com.gl.test</remote>
    <ejb-class>com.gl.testbean</ejb-class>
    <session-type>Stateless</session-type>
    <transaction-type>Container</transaction-type>
    </session>
    </enterprise-beans>
    </ejb-jar>
    jboss.xml:
    <?xml version='1.0' ?>
    <!DOCTYPE jboss PUBLIC "-//JBoss//DTD JBOSS 3.2//EN" "http://www.jboss.org/j2ee/dtd/jboss_3_2.dtd">
    <jboss>
    <enterprise-beans>
    <entity>
    <ejb-name>testBean</ejb-name>
    <jndi-name>testBean</jndi-name>
    </entity>
    </enterprise-beans>
    </jboss>
    Client code:
    package com.gl;
    import java.util.Properties;
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.rmi.PortableRemoteObject;
    public class TestClient {
         public static void main(String[] args) throws Exception{
                   try{
                   /*     Properties props=new Properties();
                        props.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
                        props.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");
                        props.put(Context.PROVIDER_URL, "jnp://localhost:1099");
                   Properties props = new Properties();
    props.put(Context.INITIAL_CONTEXT_FACTORY,
    "org.jnp.interfaces.NamingContextFactory");
    props.put(Context.PROVIDER_URL, "localhost:1099");
                        System.out.println("Properties ok");
                        //env.setProperty(Context.INITIAL_CONTEXT_FACTORY,"org.jboss.naming.HttpNamingContextFactory");
                        //env.put(Context.PROVIDER_URL,"http://localhost:8080");
                        //env.put(Context.SECURITY_PRINCIPAL, "");
                        //env.put(Context.SECURITY_CREDENTIALS, "");
                        Context ctx=new InitialContext(props);
                        System.out.println("context ok");
                        //testHome home = (testHome)ctx.lookup("testBean");
                        Object obj = ctx.lookup ("testBean");
                        System.out.println("ojb = " + obj);
                        testHome ejbHome = (testHome)PortableRemoteObject.narrow(obj,testHome.class);
                   test ejbObject = ejbHome.create();
                   String message = ejbObject.welcomeMessage();
                        System.out.println("home ok");
                        System.out.println("remote ok");
                        System.out.println(message);
                        catch(Exception e){e.printStackTrace();}
    I am able to successfully deployed my ejb on JBOSS but i m getting above error when i am trying to invoke ejb from java client.
    kindly suggest me something to solve this issue.
    Regards
    Gagan
    Edited by: Gagan2914 on Aug 26, 2008 3:28 AM

    Is it a remote lookup? Then maybe this will help:
    [http://wiki.jboss.org/wiki/JBoss42FAQ]
    - Roy

  • Error while deploying WC application: Unable to deploy EJB

    Hi All,
    we are getting the below error quite frequently, whenever we deploy the application to server:
    [03:35:14 AM] Weblogic Server Exception: weblogic.application.ModuleException: Exception preparing module: EJBModule(CAWrapperEJB.jar)
    Unable to deploy EJB: CAService from CAWrapperEJB.jar:
    [EJB:011055]Error deploying the EJB 'CAService(Application: CAPortal, EJBComponent: CAWrapperEJB.jar)', the JNDI name 'CAPortal-CAPModel-CAService2#com.lexisnexis.service.CAService' is already in use. You must set a different JNDI name in the weblogic-ejb-jar.xml deployment descriptor or corresponding annotation for this EJB before it can be deployed.
    [03:35:14 AM] Caused by: java.lang.Throwable: Substituted for missing class [EJB - 11055]Error deploying the EJB 'CAService(Application: CAPortal, EJBComponent: CAWrapperEJB.jar)', the JNDI name 'CAPortal-CAPModel-CAService2#com.lexisnexis.service.CAnService' is already in use. You must set a different JNDI name in the weblogic-ejb-jar.xml deployment descriptor or corresponding annotation for this EJB before it can be deployed.
    [03:35:14 AM] See server logs or server console for more details.
    -to solve this issue we just delete the cache and restart the Managed server.
    Please tell me what is the cause of this error and how can we fix it permanently, as restarting the server everytime is not very convenient.
    TIA,
    Bob

    The content of "weblogic-ejb-jar.xml" present in code is:
    <?xml version = '1.0' encoding = 'windows-1252'?>
    <weblogic-ejb-jar xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-ejb-jar http://www.bea.com/ns/weblogic/weblogic-ejb-jar/1.0/weblogic-ejb-jar.xsd"
    xmlns="http://www.bea.com/ns/weblogic/weblogic-ejb-jar">
    </weblogic-ejb-jar>

  • Oracle Application Server 10.1.3 EJB Deployment Error

    Hi ,
    I am keep getting following error when try to deploy my ear files in 10.1.3. standalone env.
    my ejb-jar.xml looks is
    <?xml version = '1.0' encoding = 'windows-1252'?>
    <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
    <ejb-jar>
    <enterprise-beans>
    <session>
    <description>Session Facade Bean ( Stateless )</description>
    <display-name>FacadeBean</display-name>
    <ejb-name>FacadeBean</ejb-name>
    <home>com.sjrwmd.dmsap.ejb.FacadeBeanHome</home>
    <remote>com.sjrwmd.dmsap.ejb.FacadeBeanRemote</remote>
    <ejb-class>com.sjrwmd.dmsap.ejb.FacadeBean</ejb-class>
    <session-type>Stateless</session-type>
    <transaction-type>Bean</transaction-type>
    </session>
    </enterprise-beans>
    <assembly-descriptor>
    <container-transaction>
    <method>
    <ejb-name>FacadeBean</ejb-name>
    <method-name>*</method-name>
    </method>
    <trans-attribute>Required</trans-attribute>
    </container-transaction>
    </assembly-descriptor>
    </ejb-jar>
    Your help appriciated
    Thank You
    Jigar
    2006-02-08 17:13:40.670 NOTIFICATION JMS Router is initiating ...
    2006-02-08 17:13:55.702 NOTIFICATION Application Deployer for dmsap STARTS.
    2006-02-08 17:13:55.733 NOTIFICATION Copy the archive to C:\JDev1013\j2ee\home\applications\dmsap.ear
    2006-02-08 17:13:55.733 NOTIFICATION Initialize ./applications\dmsap.ear begins...
    2006-02-08 17:13:55.733 NOTIFICATION Removing everything under: C:\JDev1013\j2ee\home\.\applications\dmsap
    2006-02-08 17:13:55.733 NOTIFICATION Auto-unpacking C:\JDev1013\j2ee\home\.\applications\dmsap.ear...
    2006-02-08 17:13:55.733 NOTIFICATION Unpacking dmsap.ear
    2006-02-08 17:13:55.733 NOTIFICATION Unjar C:\JDev1013\j2ee\home\.\applications\dmsap.ear in C:\JDev1013\j2ee\home\.\applications\dmsap
    2006-02-08 17:13:55.998 NOTIFICATION Done unpacking dmsap.ear
    2006-02-08 17:13:55.998 NOTIFICATION Finished auto-unpacking C:\JDev1013\j2ee\home\.\applications\dmsap.ear
    2006-02-08 17:13:56.045 NOTIFICATION Auto-unpacking C:\JDev1013\j2ee\home\applications\dmsap\dmsap-web.war...
    2006-02-08 17:13:56.045 NOTIFICATION Unpacking dmsap-web.war
    2006-02-08 17:13:56.045 NOTIFICATION Unjar C:\JDev1013\j2ee\home\applications\dmsap\dmsap-web.war in C:\JDev1013\j2ee\home\applications\dmsap\dmsap-web
    2006-02-08 17:13:56.498 NOTIFICATION Done unpacking dmsap-web.war
    2006-02-08 17:13:56.498 NOTIFICATION Finished auto-unpacking C:\JDev1013\j2ee\home\applications\dmsap\dmsap-web.war
    2006-02-08 17:13:56.498 NOTIFICATION Auto-unpacking C:\JDev1013\j2ee\home\applications\dmsap\uploaddirapp.jar...
    2006-02-08 17:13:56.498 NOTIFICATION Unpacking uploaddirapp.jar
    2006-02-08 17:13:56.498 NOTIFICATION Unjar C:\JDev1013\j2ee\home\applications\dmsap\uploaddirapp.jar in C:\JDev1013\j2ee\home\applications\dmsap\uploaddirapp
    2006-02-08 17:13:56.748 NOTIFICATION Done unpacking uploaddirapp.jar
    2006-02-08 17:13:56.748 NOTIFICATION Finished auto-unpacking C:\JDev1013\j2ee\home\applications\dmsap\uploaddirapp.jar
    2006-02-08 17:13:56.748 NOTIFICATION Auto-unpacking C:\JDev1013\j2ee\home\applications\dmsap\downloadfileapp.jar...
    2006-02-08 17:13:56.764 NOTIFICATION Unpacking downloadfileapp.jar
    2006-02-08 17:13:56.764 NOTIFICATION Unjar C:\JDev1013\j2ee\home\applications\dmsap\downloadfileapp.jar in C:\JDev1013\j2ee\home\applications\dmsap\downloadfileapp
    2006-02-08 17:13:56.967 NOTIFICATION Done unpacking downloadfileapp.jar
    2006-02-08 17:13:56.967 NOTIFICATION Finished auto-unpacking C:\JDev1013\j2ee\home\applications\dmsap\downloadfileapp.jar
    2006-02-08 17:13:56.983 NOTIFICATION Initialize ./applications\dmsap.ear ends...
    2006-02-08 17:13:56.983 NOTIFICATION Starting application : dmsap
    2006-02-08 17:13:56.983 NOTIFICATION Initializing ClassLoader(s)
    2006-02-08 17:13:56.983 NOTIFICATION Initializing EJB container
    2006-02-08 17:13:56.983 NOTIFICATION Loading connector(s)
    2006-02-08 17:13:57.295 NOTIFICATION Starting up resource adapters
    2006-02-08 17:13:57.295 NOTIFICATION Processing EJB module: dmsap-ejb.jar
    2006-02-08 17:13:57.405 ERROR J2EE EJB3027 [dmsap] An error occured deploying EJB module: com.evermind.server.ejb.deployment.InvalidEJBAssemblyException: [dmsap:dmsap-ejb:FacadeBean] - Unable to load ejb-class com.sjrwmd.dmsap.ejb.FacadeBean, see section 23.2 of the EJB 2.1 specificationoracle.classloader.util.AnnotatedClassFormatError: com.sjrwmd.dmsap.ejb.FacadeBean
         Invalid class: com.sjrwmd.dmsap.ejb.FacadeBean
         Loader: dmsap.root:0.0.0
         Code-Source: /C:/JDev1013/j2ee/home/applications/dmsap/dmsap-ejb.jar
         Configuration: <ejb> in C:\JDev1013\j2ee\home\applications\dmsap
         Dependent class: com.evermind.server.ejb.deployment.BeanDescriptor
         Loader: oc4j:10.1.3
         Code-Source: /C:/JDev1013/j2ee/home/lib/oc4j-internal.jar
         Configuration: <code-source> in META-INF/boot.xml in C:\JDev1013\j2ee\home\oc4j.jar
    2006-02-08 17:13:57.405 NOTIFICATION application : dmsap is in failed state
    Feb 8, 2006 5:13:57 PM com.evermind.server.Application setConfig
    WARNING: Application: dmsap is in failed state as initialization failedjava.lang.InstantiationException: Error initializing ejb-modules: [dmsap:dmsap-ejb:FacadeBean] - Unable to load ejb-class com.sjrwmd.dmsap.ejb.FacadeBean, see section 23.2 of the EJB 2.1 specificationoracle.classloader.util.AnnotatedClassFormatError: com.sjrwmd.dmsap.ejb.FacadeBean
         Invalid class: com.sjrwmd.dmsap.ejb.FacadeBean
         Loader: dmsap.root:0.0.0
         Code-Source: /C:/JDev1013/j2ee/home/applications/dmsap/dmsap-ejb.jar
         Configuration: <ejb> in C:\JDev1013\j2ee\home\applications\dmsap
         Dependent class: com.evermind.server.ejb.deployment.BeanDescriptor
         Loader: oc4j:10.1.3
         Code-Source: /C:/JDev1013/j2ee/home/lib/oc4j-internal.jar
         Configuration: <code-source> in META-INF/boot.xml in C:\JDev1013\j2ee\home\oc4j.jar
    06/02/08 17:13:57 oracle.oc4j.admin.internal.DeployerException: java.lang.InstantiationException: Error initializing ejb-modules: [dmsap:dmsap-ejb:FacadeBean] - Unable to load ejb-class com.sjrwmd.dmsap.ejb.FacadeBean, see section 23.2 of the EJB 2.1 specificationoracle.classloader.util.AnnotatedClassFormatError: com.sjrwmd.dmsap.ejb.FacadeBean
         Invalid class: com.sjrwmd.dmsap.ejb.FacadeBean
         Loader: dmsap.root:0.0.0
         Code-Source: /C:/JDev1013/j2ee/home/applications/dmsap/dmsap-ejb.jar
         Configuration: <ejb> in C:\JDev1013\j2ee\home\applications\dmsap
         Dependent class: com.evermind.server.ejb.deployment.BeanDescriptor
         Loader: oc4j:10.1.3
         Code-Source: /C:/JDev1013/j2ee/home/lib/oc4j-internal.jar
         Configuration: <code-source> in META-INF/boot.xml in C:\JDev1013\j2ee\home\oc4j.jar
    06/02/08 17:13:57      at oracle.oc4j.admin.internal.ApplicationDeployer.addApplication(ApplicationDeployer.java:510)
    06/02/08 17:13:57      at oracle.oc4j.admin.internal.ApplicationDeployer.doDeploy(ApplicationDeployer.java:191)
    06/02/08 17:13:57      at oracle.oc4j.admin.internal.DeployerBase.execute(DeployerBase.java:93)
    06/02/08 17:13:57      at oracle.oc4j.admin.jmx.server.mbeans.deploy.OC4JDeployerRunnable.doRun(OC4JDeployerRunnable.java:52)
    06/02/08 17:13:57      at oracle.oc4j.admin.jmx.server.mbeans.deploy.DeployerRunnable.run(DeployerRunnable.java:81)
    06/02/08 17:13:57      at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:814)
    06/02/08 17:13:57      at java.lang.Thread.run(Thread.java:534)
    06/02/08 17:13:57 Caused by: java.lang.InstantiationException: Error initializing ejb-modules: [dmsap:dmsap-ejb:FacadeBean] - Unable to load ejb-class com.sjrwmd.dmsap.ejb.FacadeBean, see section 23.2 of the EJB 2.1 specificationoracle.classloader.util.AnnotatedClassFormatError: com.sjrwmd.dmsap.ejb.FacadeBean
         Invalid class: com.sjrwmd.dmsap.ejb.FacadeBean
         Loader: dmsap.root:0.0.0
         Code-Source: /C:/JDev1013/j2ee/home/applications/dmsap/dmsap-ejb.jar
         Configuration: <ejb> in C:\JDev1013\j2ee\home\applications\dmsap
         Dependent class: com.evermind.server.ejb.deployment.BeanDescriptor
         Loader: oc4j:10.1.3
         Code-Source: /C:/JDev1013/j2ee/home/lib/oc4j-internal.jar
         Configuration: <code-source> in META-INF/boot.xml in C:\JDev1013\j2ee\home\oc4j.jar
    06/02/08 17:13:57      at com.evermind.server.ejb.EJBContainer.postInit(EJBContainer.java:1056)
    06/02/08 17:13:57      at com.evermind.server.ApplicationStateRunning.initializeApplication(ApplicationStateRunning.java:210)
    06/02/08 17:13:57      at com.evermind.server.Application.setConfig(Application.java:391)
    06/02/08 17:13:57      at com.evermind.server.Application.setConfig(Application.java:308)
    06/02/08 17:13:57      at com.evermind.server.ApplicationServer.addApplication(ApplicationServer.java:1771)
    06/02/08 17:13:57      at oracle.oc4j.admin.internal.ApplicationDeployer.addApplication(ApplicationDeployer.java:507)
    06/02/08 17:13:57      ... 6 more
    06/02/08 17:13:57 Caused by: com.evermind.server.ejb.deployment.InvalidEJBAssemblyException: [dmsap:dmsap-ejb:FacadeBean] - Unable to load ejb-class com.sjrwmd.dmsap.ejb.FacadeBean, see section 23.2 of the EJB 2.1 specificationoracle.classloader.util.AnnotatedClassFormatError: com.sjrwmd.dmsap.ejb.FacadeBean
         Invalid class: com.sjrwmd.dmsap.ejb.FacadeBean
         Loader: dmsap.root:0.0.0
         Code-Source: /C:/JDev1013/j2ee/home/applications/dmsap/dmsap-ejb.jar
         Configuration: <ejb> in C:\JDev1013\j2ee\home\applications\dmsap
         Dependent class: com.evermind.server.ejb.deployment.BeanDescriptor
         Loader: oc4j:10.1.3
         Code-Source: /C:/JDev1013/j2ee/home/lib/oc4j-internal.jar
         Configuration: <code-source> in META-INF/boot.xml in C:\JDev1013\j2ee\home\oc4j.jar
    06/02/08 17:13:57      at com.evermind.server.ejb.exception.ValidationExceptions.unableToLoadEJBClass(ValidationExceptions.java:36)
    06/02/08 17:13:57      at com.evermind.server.ejb.deployment.BeanDescriptor.initialize(BeanDescriptor.java:298)
    06/02/08 17:13:57      at com.evermind.server.ejb.deployment.ExposableBeanDescriptor.initialize(ExposableBeanDescriptor.java:158)
    06/02/08 17:13:57      at com.evermind.server.ejb.deployment.SessionBeanDescriptor.initialize(SessionBeanDescriptor.java:190)
    06/02/08 17:13:57      at com.evermind.server.ejb.deployment.EJBPackage.initialize(EJBPackage.java:814)
    06/02/08 17:13:57      at com.evermind.server.ejb.EJBContainer.postInit(EJBContainer.java:855)
    06/02/08 17:13:57      ... 11 more
    06/02/08 17:13:57 Caused by: oracle.classloader.util.AnnotatedClassFormatError: com.sjrwmd.dmsap.ejb.FacadeBean
         Invalid class: com.sjrwmd.dmsap.ejb.FacadeBean
         Loader: dmsap.root:0.0.0
         Code-Source: /C:/JDev1013/j2ee/home/applications/dmsap/dmsap-ejb.jar
         Configuration: <ejb> in C:\JDev1013\j2ee\home\applications\dmsap
         Dependent class: com.evermind.server.ejb.deployment.BeanDescriptor
         Loader: oc4j:10.1.3
         Code-Source: /C:/JDev1013/j2ee/home/lib/oc4j-internal.jar
         Configuration: <code-source> in META-INF/boot.xml in C:\JDev1013\j2ee\home\oc4j.jar
    06/02/08 17:13:57      at oracle.classloader.PolicyClassLoader.defineClass(PolicyClassLoader.java:2268)
    06/02/08 17:13:57      at oracle.classloader.PolicyClassLoader.findLocalClass(PolicyClassLoader.java:1457)
    06/02/08 17:13:57      at oracle.classloader.SearchPolicy$FindLocal.getClass(SearchPolicy.java:167)
    06/02/08 17:13:57      at oracle.classloader.SearchSequence.getClass(SearchSequence.java:119)
    06/02/08 17:13:57      at oracle.classloader.PolicyClassLoader.internalLoadClass(PolicyClassLoader.java:1660)
    06/02/08 17:13:57      at oracle.classloader.PolicyClassLoader.loadClass(PolicyClassLoader.java:1621)
    06/02/08 17:13:57      at oracle.classloader.PolicyClassLoader.loadClass(PolicyClassLoader.java:1606)
    06/02/08 17:13:57      at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
    06/02/08 17:13:57      at java.lang.Class.forName0(Native Method)
    06/02/08 17:13:57      at java.lang.Class.forName(Class.java:219)
    06/02/08 17:13:57      at com.evermind.server.ejb.deployment.BeanDescriptor.initialize(BeanDescriptor.java:296)
    06/02/08 17:13:57      ... 15 more
    06/02/08 17:13:57 Caused by: java.lang.UnsupportedClassVersionError: com.sjrwmd.dmsap.ejb.FacadeBean
    06/02/08 17:13:57      at java.lang.ClassLoader.defineClass0(Native Method)
    06/02/08 17:13:57      at java.lang.ClassLoader.defineClass(ClassLoader.java:537)
    06/02/08 17:13:57      at oracle.classloader.PolicyClassLoader.defineClass(PolicyClassLoader.java:2224)
    06/02/08 17:13:57      ... 25 more
    2006-02-08 17:13:57.545 NOTIFICATION Application Deployer for dmsap FAILED.
    2006-02-08 17:13:57.545 NOTIFICATION Application UnDeployer for dmsap STARTS.
    2006-02-08 17:13:59.045 NOTIFICATION Removing all web binding(s) for application dmsap from all web site(s)
    2006-02-08 17:13:59.795 NOTIFICATION Application UnDeployer for dmsap COMPLETES.
    2006-02-08 17:13:59.795 WARNING java.lang.InstantiationException: Error initializing ejb-modules: [dmsap:dmsap-ejb:FacadeBean] - Unable to load ejb-class com.sjrwmd.dmsap.ejb.FacadeBean, see section 23.2 of the EJB 2.1 specificationoracle.classloader.util.AnnotatedClassFormatError: com.sjrwmd.dmsap.ejb.FacadeBean
         Invalid class: com.sjrwmd.dmsap.ejb.FacadeBean
         Loader: dmsap.root:0.0.0
         Code-Source: /C:/JDev1013/j2ee/home/applications/dmsap/dmsap-ejb.jar
         Configuration: <ejb> in C:\JDev1013\j2ee\home\applications\dmsap
         Dependent class: com.evermind.server.ejb.deployment.BeanDescriptor
         Loader: oc4j:10.1.3
         Code-Source: /C:/JDev1013/j2ee/home/lib/oc4j-internal.jar
         Configuration: <code-source> in META-INF/boot.xml in C:\JDev1013\j2ee\home\oc4j.jar

    A point of clarification: Using JDK 1.5, it compiles and "tries" to start, but then gives this error : Unable to load ejb-class com.MyTestEJB see section 23.2 of the EJB 2.1 specificationjava.lang.ExceptionInInitializerError: java.lang.NullPointerException
    There are other EJB which are deploying fine.
    I really can't tell why one is deploying but this one is not.
    Thanks

Maybe you are looking for