Error Catching Exceptions on EJB Clients

I'm trying to throw an owm exception from an EJB Session to my EJB
client. I can catch the exception but when i use the getMessage()
method the String I receive is not the message I used to create the
exception. The result of the getMessage() call is the same that them
call to printStackTrace().
does anybody knows if weblogic in change the message of the
exception for the printStackTrace before throws the exception to the
client?
Thanks.

David,
Refer to the following link for best practices concerning EJB exception handling:
http://dev2dev.bea.com/articles/Rong.jsp
Best regards,
Ryan LeCompte
[email protected]
http://www.louisiana.edu/~rml7669
"Cata" <[email protected]> wrote:
>
I'm trying to throw an owm exception from an EJB Session to my EJB
client. I can catch the exception but when i use the getMessage()
method the String I receive is not the message I used to create the
exception. The result of the getMessage() call is the same that them
call to printStackTrace().
does anybody knows if weblogic in change the message of the
exception for the printStackTrace before throws the exception to the
client?
Thanks.

Similar Messages

  • SFTP adapter error : Catching exception calling messaging system

    Error: com.aedaptive.sftp.adapter.SFTPException : Not all messages were delivered succesfully
      Could not deliver message to XI: com.sap.aii.af.lib.mp.module.ModuleException: senderChannel 'ca09269447583427adc545f8c23d244b': Catching exception calling messaging system
    This is error message which i get in sender communication channel while working  with SFTP adapter.

    Hi Pooja,
    I think it would be better to add getcause() to get the cause of the issue.
    Ref: http://help.sap.com/javadocs/pi/SP3/xpi/com/sap/aii/af/lib/mp/module/ModuleException.html
    Thanks,

  • Error while running a EJB client

    Hi All,
    I am trying to execute a Hello World Prgram using EJB's. I have Deployed a Stateless Session bean in J2EE 1.3 deploytool.I am also able to compile my Client, but when i a executing the Client i am getting this error.
    =========================
    java.rmi.RemoteException: CORBA BAD_OPERATION 0 No; nested exception is: org.omg.CORBA.BAD_OPERATION: vmcid: 0x0 minor code: 0 completed: No at com.sun.corba.ee.internal.iiop.ShutdownUtilDelegate.mapSystemException(ShutdownUtilDeleg ate.java:137) at javax.rmi.CORBA.Util.mapSystemException(Util.java:65) at headfirst._Advice_Stub.getAdvice(Unknown Source) at AdviceClient.go(AdviceClient.java:21) at AdviceClient.main(AdviceClient.java:11) Caused by: org.omg.CORBA.BAD_OPERATION: vmcid: 0x0 minor code: 0 completed: No at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java :39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorI mpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:274) at java.lang.Class.newInstance0(Class.java:296) at java.lang.Class.newInstance(Class.java:249) at com.sun.corba.ee.internal.iiop.messages.ReplyMessage_1_2.getSystemException(ReplyMessage _1_2.java:93) at com.sun.corba.ee.internal.iiop.ClientResponseImpl.getSystemException(ClientResponseImpl. java:108) at com.sun.corba.ee.internal.POA.GenericPOAClientSC.invoke(GenericPOAClientSC.java:132) at org.omg.CORBA.portable.ObjectImpl._invoke(ObjectImpl.java:457) at headfirst._Advice_Stub.getAdvice(Unknown Source) ... 2 more ===============================
    I have undeployed and redeployed couple of time but i am still getting the same problem. I am using J2EE 1.3 deploytool for deploying the EJB.
    Can anyone please help me in figuring out the problem.
    Thanks in Advance.
    ~Ravi.

    You are having network-related errors to the client.
    Let me see your Remote interface

  • Javax.naming.NameNotFoundException: error in whil calling EJB Bean

    Dear friends,
    I have created (Bean Managed Entity) a remote,home and bean objects for adding a country in a database. When i convert
    into jar and and deploy means, its working fine. But if i put into a package means it does work
    and raise "javax.naming.NameNotFoundException" error.
    i keep my files as following folder structure
    d:\siva\projects\ShopCart\
    (under this )
    CountryMas.java
    CountryHome.java
    CountryBean.java
    CountryMasPK.java
    <meta-inf>
    ejb-jar.xml
    weblogic-ejb-jar.xml
    and deployed in weblogic 6.1 using console.
    i have copied the source code here with
    Remote interface
    package ShopCart;
    import javax.ejb.*;
    import javax.rmi.*;
    public interface CountryMas extends EJBObject {
    Home Interface
    package ShopCart;
    import javax.ejb.*;
    import java.rmi.*;
    public interface CountryHome extends EJBHome {
         public CountryMas create(String Cname) throws CreateException,RemoteException;
         public CountryMas findByPrimaryKey(CountryMasPK pk) throws      
    FinderException,RemoteException;
    BEAN OBJECT
    package ShopCart;
    import java.io.*;
    import java.util.*;
    import java.sql.*;
    import javax.sql.*;
    import javax.ejb.*;
    import javax.naming.*;
    public class CountryBean implements EntityBean {
         private EntityContext ctx;
         private int CountryId;
         private String CountryName;
         public void setEntityContext(EntityContext ctx){
              this.ctx = ctx;
         public void unsetEntityContext(){
              this.ctx = null;
         public void ejbActivate(){
         public void ejbPassivate(){
         public void ejbLoad(){
         public void ejbStore(){
         public void ejbRemove(){
              Connection con = null;
              PreparedStatement ps = null ;
              try {
                   con = getConnection();
                   ps = con.prepareStatement("Delete from CountryMas where id=?");
                   ps.setInt(1,CountryId);
                   if (ps.executeUpdate() !=1) {
                        String Error = "JDBC did not create any row";
                        throw new CreateException (Error);
              }catch (Exception e){
                   System.out.println (e);
         public CountryMasPK ejbCreate(String Cname) throws CreateException {
              this.CountryName =Cname;
              Connection con = null;
              PreparedStatement ps = null ;
              try {
                   con = getConnection();
                   ps = con.prepareStatement("insert into CountryMas values(?)");
                   ps.setString (1,CountryName);
                   if (ps.executeUpdate() !=1) {
                        String Error = "JDBC did not delete any row";
                        throw new CreateException (Error);
                   con.commit();
              }catch (Exception e){
                   System.out.println (e);
              int PKid=0;
              ResultSet rs;
              PreparedStatement ps1 = null;
              try {
                   ps1 = con.prepareStatement("select max(id) as Mid from CountryMas");
                   rs = ps1.executeQuery();
                   PKid = rs.getInt("mid");
              }catch(Exception e){
                   System.out.println (e);
              return new CountryMasPK(PKid);
         public void ejbPostCreate(String Cname) throws CreateException {
         private Connection getConnection()throws SQLException {
              InitialContext initCtx = null;
              DataSource ds = null;
              try{
                   initCtx = new InitialContext ();
                   ds = (javax.sql.DataSource)
                        initCtx.lookup("java:comp/env/jdbc/ShopCartPool");
              }catch(Exception e){
                   System.out.println(e);
              return ds.getConnection();           
         public CountryMasPK ejbFindByPrimaryKey(CountryMasPK pk)throws ObjectNotFoundException {
              Connection con= null;
              PreparedStatement ps = null ;
              try{
                   con = getConnection();
                   ps = con.prepareStatement("select cname from CountryMas where id=?");
                   ps.setInt(1,pk.ID);
                   ps.executeQuery();
                   ResultSet rs= ps.getResultSet();
                   if (rs.next()){
                        this.CountryName = rs.getString(1);
              }catch(Exception e){
                   System.out.println(e);
              //return new CountryMasPK(pk.i);
              return pk;
    PRIMARY KEY OBJECT
    package ShopCart;
    import java.io.Serializable;
    public class CountryMasPK implements java.io.Serializable {
         public int ID;
         public CountryMasPK(int ID){
              this.ID =ID;
         public CountryMasPK(){
         public CountryMasPK(CountryMasPK pk){
                   this.ID = pk.ID;
         public String toString(){
                   return new Integer(ID).toString();
         public int hashCode(){
              return new Integer(ID).hashCode();
         public boolean equals(Object countrymas){
              //return ((CountryMasPK)countrymas).ID.equals(ID);
              return true;
    EJB-JAR.XML
    <?xml version="1.0"?>
    <!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>
    <entity>
    <ejb-name>ShopCart</ejb-name>
    <home>ShopCart.CountryHome</home>
    <remote>ShopCart.CountryMas</remote>
    <ejb-class>ShopCart.CountryBean</ejb-class>
    <persistence-type>Bean</persistence-type>
    <prim-key-class>ShopCart.CountryMasPK</prim-key-class>
    <reentrant>False</reentrant>
    <resource-ref>
    <res-ref-name>jdbc/ShopCartPool</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
    </resource-ref>
    </entity>
    </enterprise-beans>
    <assembly-descriptor>
    <container-transaction>
    <method>
    <ejb-name>ShopCart</ejb-name>
         <method-name>*</method-name>
    </method>
    <trans-attribute>Required</trans-attribute>
    </container-transaction>
    </assembly-descriptor>
    </ejb-jar>
    WEBLOGIC-EJB-JAR.XML
    <?xml version="1.0"?>
    <!DOCTYPE weblogic-ejb-jar PUBLIC
    '-//BEA Systems, Inc.//DTD WebLogic 6.0.0 EJB//EN'
    'http://www.bea.com/servers/wls600/dtd/weblogic-ejb-jar.dtd'>
    <weblogic-ejb-jar>
    <weblogic-enterprise-bean>
    <ejb-name>ShopCart</ejb-name>
    <reference-descriptor>
    <resource-description>
    <res-ref-name>jdbc/ShopCartPool</res-ref-name>
         <jndi-name>ShopCartDataSource</jndi-name>
    </resource-description>
    </reference-descriptor>
    <jndi-name>Country</jndi-name>
    </weblogic-enterprise-bean>
    </weblogic-ejb-jar>
    i converted jar file like this
    d:\siva\projects\> set claapath=%classpath%;.;
    cd d:\siva\projects\ShopCart > javac *.java
    cd d:\siva\projects\ShopCart > jar -cvf Sh.jar *
    cd..
    d:\siva\projects> java weblogic.ejbc ShopCart\Sh.jar ShopCart\Shop.jar
    and deployed using weblogic 6.1 console
    and client code as follows
    Client.java
    import java.io.*;
    import javax.naming.*;
    import javax.ejb.*;
    import javax.rmi.*;
    import java.util.*;
    import ShopCart.*;
    class Client {
         public static void main(String args[]){
              Context ctx=null;
              try{
                   Properties pr = new Properties();
                   pr.put(Context.INITIAL_CONTEXT_FACTORY,
                        "weblogic.jndi.WLInitialContextFactory");
                   pr.put(Context.PROVIDER_URL,"t3://localhost:7001");
                   ctx= new InitialContext(pr);
                   Object obj = ctx.lookup("Country");
                   CountryHome cm = (CountryHome)
    javax.rmi.PortableRemoteObject.narrow(obj,CountryHome.class);
                   cm.create(args[0]);
                   System.out.println ("Creating Country " + args[0] +" ..... [Done]");          
              }catch (Exception e){
                   System.out.println(e);
    when i run this file it raise the error
    D:\Siva\Projects>java Client.java
    Exception in thread "main" java.lang.NoClassDefFoundError: Client/java
    D:\Siva\Projects>java Client
    javax.naming.NameNotFoundException: Unable to resolve Country. Resolved: '' Unre
    solved:'Country' ; remaining name ''
    D:\Siva\Projects>
    This is the error message. Please observe it and do let me know what would be the error. There
    would be small configuration error. But i couldn't locate it . plz help me somebody.
    Thanx & Regards,
    Siva.

    you need to use the name java:comp/env/Country in the client.
    and the client deployment descriptor will need an ejb-ref entry:
    <ejb-ref>
      <ejb-ref-name>
        Country
      </ejb-ref-name>
      <ejb-ref-type>
        Session
      </ejb-ref-type>
      <home>
        ShopCart.CountryHome
      </home>
      <remote>
        ShopCart.CountryMas
      </remote>
    </ejb-ref>toby

  • Error getting application exception message from client EJB 3

    Hi, somebody nkow what is the error?
    I have this simple session bean deploy in a jboss 4.0.5 GA application server
    My interface:
    package server.ejb.usuarios;
    import javax.ejb.Remote;
    @Remote
    public interface Prueba {
         public void getError() throws Exception;
    }My Session bean implementation:
    package server.ejb.usuarios;
    import javax.ejb.Stateless;
    import server.ejb.usuarios.Prueba;
    public @Stateless class PruebaBean implements Prueba {
         public void getError() throws Exception {
              throw new Exception("Mensaje de error");
    }Simple, i can deploy this bean on my application server, now i have this client code:
    package clientold;
    import java.util.Properties;
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    import server.ejb.usuarios.Prueba;
    public class MainPruebaError {
          * @param args
         public static void main(String[] args) {
              Context ctx;
              try {
                   ctx = getInitialContext();
                   Prueba pruebaSession = (Prueba) ctx.lookup("PruebaBean/remote");
                   pruebaSession.getError();
              } catch (NamingException e) {
                   // TODO Auto-generated catch block
                   e.printStackTrace();
              } catch(Exception e){
                   System.out.println("Get error from server: " + e.getMessage());
                   e.printStackTrace();
         private static Context getInitialContext() throws NamingException {
              Properties prop = new Properties();
              prop.setProperty("java.naming.factory.initial",
                        "org.jnp.interfaces.NamingContextFactory");
              prop.setProperty("java.naming.provider.url", "127.0.0.1:1099");
              prop.setProperty("java.naming.factory.url.pkgs", "org.jboss.naming");
              return (new InitialContext(prop));
    }and my client catch the exception but i can�t get the correct exception message. I need pass custom message from my server to my clients and wrap it in a exception, but when i run this example got the next output:
    Get error from server: [Ljava.lang.StackTraceElement;
    java.lang.ClassNotFoundException: [Ljava.lang.StackTraceElement;
         at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
         at java.security.AccessController.doPrivileged(Native Method)
         at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
         at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
         at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
         at org.jboss.remoting.loading.RemotingClassLoader.loadClass(RemotingClassLoader.java:50)
         at org.jboss.remoting.loading.ObjectInputStreamWithClassLoader.resolveClass(ObjectInputStreamWithClassLoader.java:139)
         at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575)
         at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496)
         at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1624)
         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1323)
         at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1945)
         at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1869)
         at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
         at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1945)
         at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1869)
         at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753)
         at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329)
         at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351)
         at org.jboss.remoting.serialization.impl.java.JavaSerializationManager.receiveObject(JavaSerializationManager.java:128)
         at org.jboss.remoting.marshal.serializable.SerializableUnMarshaller.read(SerializableUnMarshaller.java:66)
         at org.jboss.remoting.transport.socket.SocketClientInvoker.transport(SocketClientInvoker.java:279)
         at org.jboss.remoting.RemoteClientInvoker.invoke(RemoteClientInvoker.java:143)
         at org.jboss.remoting.Client.invoke(Client.java:525)
         at org.jboss.remoting.Client.invoke(Client.java:488)
         at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:41)
         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:88)
         at org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:46)
         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:88)
         at org.jboss.aspects.security.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:40)
         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:88)
         at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:77)
         at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:88)
         at org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke(StatelessRemoteProxy.java:102)
         at $Proxy0.getError(Unknown Source)
         at clientold.MainPruebaError.main(MainPruebaError.java:21)What is the problem??, i must see on the output
    Get error from server: Mensaje de errorbut i have :
    Get error from server: [Ljava.lang.StackTraceElement;why???, is only a simple application exception and don,t work, somebody can help me??
    i have tried to use an interceptor class for get the exceptions and work, but without interceptor, dont work
    thanks

    I can resolve this problem change the JDK version used to develop my clint application and to run the jboss application server.
    Current, in JBoss 4.0.5, the JDK requirement is JDK 5, and i was using JDK 6.

  • EJB Client giving error

    Hi All,
    I am new to EJB programming. I am trying to use EJB3 and Weblogic12c.
    and would like to know why I am getting this error:
    run:
    [echo] Executing client class
    [java] java.lang.NoClassDefFoundError: com/saurabh/demo/HelloWorldClient
    [java] Caused by: java.lang.ClassNotFoundException: com.saurabh.demo.HelloW
    orldClient
    [java] at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    [java] at java.security.AccessController.doPrivileged(Native Method)
    [java] at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    [java] at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    [java] at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    [java] at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    [java] Could not find the main class: com.saurabh.demo.HelloWorldClient. P
    rogram will exit.
    [java] Exception in thread "main"
    [java] Java Result: 1
    I am posting my code so that its more easy to debug...
    1. HelloWorld.java -
    package com.saurabh.demo;
    import javax.ejb.Remote;
    @Remote
    public interface HelloWorld
         public void sayHello(String name);
    2. HelloWorldBean.java
    package com.saurabh.demo;
    import javax.ejb.Stateless;
    @Stateless(mappedName="HelloWorld")
    public class HelloWorldBean implements HelloWorld
         public void sayHello(String name)
              System.out.println("Hello "+name+ " Its Working");
    3.
    package com.saurabh.demo;
    import java.util.Hashtable;
    import javax.naming.Context;
    import javax.naming.InitialContext;
    public class HelloWorldClient{
         private static HelloWorld helloworld;
         public static void main(String[] args)
         try{
              Hashtable<String, String> env = new Hashtable<String,String>();
              env.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
              env.put(Context.SECURITY_PRINCIPAL,"username of my weblogic");
              env.put(Context.SECURITY_CREDENTIALS,"password of my weblogic");
              env.put(Context.PROVIDER_URL,"t3://localhost:7001");
              Context ctx=new InitialContext(env);
              System.out.println("Initial Context created");
              helloworld =(HelloWorld)ctx.lookup("HelloWorld#com.saurabh.demo.HelloWorld");
              System.out.println("lookup Successful");
              System.out.println("Calling EJB method...");
              helloworld.sayHello("Saurabh");
              System.out.println("Output will be in Managed Server Console");
         catch(Exception e)
              e.printStackTrace();
    4. build.xml
    <?xml version="1.0" encoding="iso-8859-1"?>
    <project name="Ejb_HelloWorld" basedir="." default="buildEar">
    <property file="${basedir}/developer.properties"/>
    <property name="jarname" value="HelloWorld-ejb"/>
    <property name="appname" value="HelloWorld"/>
    <property name="src" value="${basedir}/src"/>
    <property name="build" value="${basedir}/build"/>
    <property name="dist" value="${basedir}/dist"/>
    <property name="lib" value="${basedir}/lib"/>
    <property name="src.server" value="${src}/server"/>
    <property name="src.client" value="${src}/client"/>
    <property name="build.server" value="${build}/server"/>
    <property name="build.client" value="${build}/client"/>
    <property name="dist.server" value="${dist}/server"/>
    <property name="dist.client" value="${dist}/client"/>
    <path id="dependencies">
         <pathelement location="${lib}/javax.ejb_3.1.0.jar"/>
         <pathelement location="${lib}/weblogic.jar"/>
    </path>
    <target name="clean">
         <echo>"Cleaning the directories"</echo>
         <delete dir="${build}"/>
         <delete dir="${dist}"/>
    </target>
    <target name="compile" depends="clean">
         <echo>"Compiling EJB"</echo>
         <echo message="BEA_HOME:${BEA_HOME}"/>
         <echo message="WLS_HOME:${WLS_HOME}"/>
         <mkdir dir="${build}/server/classes"/>
         <echo message="Source directory : ${src.server}"/>
         <javac includeantruntime="false" srcdir="${src.server}" destdir="${build.server}/classes" debug="on">
         <classpath refid="dependencies"/>
         </javac>
    </target>
    <target name="compileClient">
         <echo>"Compiling Client class"</echo>
         <mkdir dir="${build.client}/classes"/>
         <javac includeantruntime="false" srcdir="${src.client}" destdir="${build.client}/classes" debug="on">
         <classpath refid="dependencies"/>
         <classpath location="${build.server}/classes"/>
         </javac>
    </target>
    <target name="buildEar" depends="compile">
         <echo>"Building EJB EAR"</echo>
         <mkdir dir="${dist.server}"/>
         <jar jarfile="${dist.server}/${jarname}.jar" basedir="${build}/server/classes"/>
         <jar jarfile="${dist.server}/${appname}.ear" basedir="${dist.server}"/>
    </target>
    <target name="run" depends="compileClient">
         <echo message="Executing client class"></echo>
         <java classname="com.saurabh.demo.HelloWorldClient" fork="yes">
         <classpath>
         <pathelement location="{build.client}/classes"/>
         <pathelement location="{dist.server}/HelloWorld-ejb.jar"/>
         <pathelement location="{lib}/wlfullclient.jar"/>
         </classpath>
         </java>
    </target>
    </project>
    5. developer.properties- This property file is being used to set the needed paths.
    BEA_HOME=C:\SG_Installs\wls1211_dev
    JAVA_HOME=C:\SG_Installs\Java
    WLS_HOME=C:\SG_Installs\wls1211_dev\wlserver
    project.home=C:\Saurabh Data\WebDev\EJB-HelloWorld
    wls.domain.path=C:\SG_Installs\BEA_Domain\BEA_Domain
    wls.application.path=C:\SG_Installs\BEA_Domain\BEA_Domain\applications
    There is no deployment descriptors since there is no need for that in EJB3 as I know.
    I have been trying to resolve this issue but with no luck... Please help....
    Edited by: 919201 on Mar 6, 2012 4:31 PM
    Edited by: 919201 on Mar 6, 2012 5:54 PM
    Edited by: Passionate on Mar 8, 2012 9:35 PM

    java.lang.NoClassDefFoundError: com/saurabh/demo/HelloWorldClient
    +[java] Caused by: java.lang.ClassNotFoundException: com.saurabh.demo.HelloW+
    orldClient
    Does {build.client}/classes include the com/saurabh/demo/HelloWorldClient class?

  • Error in running EJB Client on a remote machine

    I delploy my beans and can run the EJB Client locally. However when I try to run the Client on another machine, there are errors.
    Here is the errors
    Syntax error
    Out of environment space
    Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/enterprise/appclient/Main
    I have follow the step in the j2ee tutorial and set the env variables according. Here is the bat file I write
    set APPCPATH=CBSAppClient.jar
    set VMARGS=-Dj2eelogin.name=guest -Dj2eelogin.password=guest123 -Dorg.omg.CORBA.ORBInitialHost=192.168.0.2
    runclient -client CBSApp.ear -name CBSClient -textauth
    Do anyone facing the same problem with me?
    And how can I solve the problems?
    This is really URGENT, please help

    You are running on Windows 9x or Me, right? The darn OS has 300 or so bytes allocated for environment by default.
    Try setting the Initial environment to 4096 in the Properties|Memory tab for the batch file. That will get rid of "Out of environment space". The syntax error is another matter; Windows (except NT and derivatives) shells do not allow '=' in an environment variables value. You cannot overcome that. Some software (Sybase for instance) interprets # as = just because of that. Unfortunately, the JVM doesn't take such an approach.
    Better, grab copies of Unix utilities for Windows (www.gnu.org) including the wonderful shell 'bash' and write .sh scripts, which are inherently more powerful.

  • Cannot catch Exception thrown by ADF (source of exception is EJB)

    Even I tried to use try catch block, it still shows unwanted error popup (showing errors) automatically generated by adf.
    I know the source of this error is EJB, I try to insert duplicate field which must be unique. So EJB throws jdbc exception.
    How can I disable popup automatically generated by ADF and show my custom error text?
            try {
                BindingContainer bindings = getBindings();
                OperationBinding operationBinding = bindings.getOperationBinding("mergeCity");
                Object result = operationBinding.execute();   
                closePopup(popEdit);
                refreshTable();
                if (!operationBinding.getErrors().isEmpty()) {           
                    return null;
            } catch (Exception e) {
                System.out.println(".......... Error..........");
            }        Edited by: user12025867 on Oct 10, 2009 11:17 AM

    For custome error handling check this thread.
    Handling custom exceptions in 11g
    if you call this on button action, do not use partialSubmit that way when the page refreshes the popup will be gone automatically.

  • Error in Executing EJB Client Program

    Hai
    I am Kranthi kumar,encountered an error message when trying to compile the client program.It said NO NAMING.CONTEXT IN NAMING DIRECTORY. But when i was looking up for that naming directory i could not find that.Please let me know where i can find the Context and Initial Context class files in the weblogic.I am working on Weblogic 5.1.Please solve my problem.
    Thanking you
    S.kranthi kumar

    Use this method,
      public Context getInitialContext() throws Exception {
        Properties p = new Properties();
        String url = "t3://206.251.112.49:7001"
        p.put(Context.INITIAL_CONTEXT_FACTORY,
              "weblogic.jndi.WLInitialContextFactory");
        p.put(Context.PROVIDER_URL, url);
        return new InitialContext(p);
    }and
    try {
         Context ctx = getInitialContext();
        Your_Ejb_Home home = (Your_Ejb_Home) ctx.lookup("your_ejb_home_binding_name");
    } catch(Exception e){
         //Handle exception
    }Hope this helps.
    Sudha

  • Java EJB client "Can't connect to ORB" errors...

    I'm writing an application that is a Java EJB client application (no web
    stuff at all). Needless to say there are no examples of such an app in
    the samples dir, they are all web-based.
    My problem is that when I try to run my application (client calls a
    stateless session bean on the server and gets a "hello world" string
    back) I get a "Could not create the TestService bean:
    javax.naming.CommunicationException: Cannot connect to ORB [Root
    exception is org.omg.CORBA.COMM_FAILURE:   minor code: 1 completed:
    Maybe]" error.
    This is a very simple test, and I'm getting quite frustrated in trying
    to figure out what's actually wrong.
    Here's the client code (the bean on the server has been deployed into a
    module called achptestEjb, the bean name is TestService)
    TestService service = null;
    TestServiceHome home=null;
    String host = "localhost";
    String port = "12345";
    try {
    Properties env = new Properties();
    Context context=null;
    String jndiName="ejb/achptestEjb/TestService";
    System.out.println("JNDI name is "+jndiName);
    env.put
    ("java.naming.factory.initial","com.sun.jndi.cosnaming.CNCtxFactory");
    env.put("java.naming.provider.url", "iiop://"+host+":"+port);
    context = new InitialContext(env);
    The error comes when the new InitialContext is set with the properties
    in the env object.
    Any ideas what I'm doing wrong?
    It would be a BIG help if iPlanet included one simple pure EJB client
    example. There are some of us out here who feel HTML is too limiting
    for complicated applications.
    Douglas Bullard

    I finally found the answer to my problem.... in the Ant script I had
    copied from another example, the "-iiop" was lacking in the ejbc
    arguments - almost all of the examples assume you'll be calling EJBs
    from within the container, instead of a stand-alone client, so they
    don't use that flag.
    Putting that "-iiop" flag into the ejbc arguments fixed everything.
    Thanks, Shivani, for pointing out what is now obvious but was
    mysterious.
    Douglas Bullard
    In article <[email protected]>,
    [email protected] says...
    I'm writing an application that is a Java EJB client application (no web
    stuff at all). Needless to say there are no examples of such an app in
    the samples dir, they are all web-based.
    My problem is that when I try to run my application (client calls a
    stateless session bean on the server and gets a "hello world" string
    back) I get a "Could not create the TestService bean:
    javax.naming.CommunicationException: Cannot connect to ORB [Root
    exception is org.omg.CORBA.COMM_FAILURE:   minor code: 1 completed:
    Maybe]" error.
    This is a very simple test, and I'm getting quite frustrated in trying
    to figure out what's actually wrong.
    Here's the client code (the bean on the server has been deployed into a
    module called achptestEjb, the bean name is TestService)
    TestService service = null;
    TestServiceHome home=null;
    String host = "localhost";
    String port = "12345";
    try {
    Properties env = new Properties();
    Context context=null;
    String jndiName="ejb/achptestEjb/TestService";
    System.out.println("JNDI name is "+jndiName);
    env.put
    ("java.naming.factory.initial","com.sun.jndi.cosnaming.CNCtxFactory");
    env.put("java.naming.provider.url", "iiop://"+host+":"+port);
    context = new InitialContext(env);
    The error comes when the new InitialContext is set with the properties
    in the env object.
    Any ideas what I'm doing wrong?
    It would be a BIG help if iPlanet included one simple pure EJB client
    example. There are some of us out here who feel HTML is too limiting
    for complicated applications.
    Douglas Bullard

  • Ejb client error

    Hi, I use jdev 10g. I created a session bean with wizards and after that I created I Ejb client for that bean. When I start the embedded server and run the client java file I get the following error :
    com.evermind.server.rmi.OrionRemoteException: jazn.com/admin is not allowed to call this EJB method, check your security settings (method-permission in ejb-jar.xml and security-role-mapping in orion-application.xml).
         at denemeSessionHome_StatelessSessionHomeWrapper1.create(denemeSessionHome_StatelessSessionHomeWrapper1.java:41)
         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 com.evermind.server.rmi.RMICallHandler.run(RMICallHandler.java:124)
         at com.evermind.server.rmi.RMICallHandler.run(RMICallHandler.java:48)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
         at java.lang.Thread.run(Thread.java:534)
    at connection to localhost/127.0.0.1 as admin
         at com.evermind.server.rmi.RMIConnection.EXCEPTION_ORIGINATES_FROM_THE_REMOTE_SERVER(RMIConnection.java:1527)
         at com.evermind.server.rmi.RMIConnection.invokeMethod(RMIConnection.java:1480)
         at com.evermind.server.rmi.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:55)
         at com.evermind.server.rmi.RecoverableRemoteInvocationHandler.invoke(RecoverableRemoteInvocationHandler.java:22)
         at __Proxy0.create(Unknown Source)
         at ejbpackage.denemeSessionClient.main(denemeSessionClient.java:21)
    Process exited with exit code 0.
    all settings are the default ones.
    Anyone has any idea???

    hi
    There was no problem with that... the AdviceClient is not in the package... I needed j2ee.jar and AdviceAppClient.jar to run the client and hte AdviceClient is in C\java\Projects\Advice directory.... can anyone help me with what is wrong with my first command which didnt work ...
    java -classpath c:\Sun\AppServer\lib\j2ee.jar;c:\java\Projects\Advice;c:\java\Projects\AdviceAppClient.jar AdviceClient
    This one worked though....
    java -cp {$CLASSPATH}:"C:\java\Projects\Advice";AdviceAppClient.jar;c:\Sun\AppServer\lib\j2ee.jar; AdviceClient
    I dont know what makes the difference...
    vidhya

  • ClassCastException exception while running EJB Client

    Folks,
    I am getting following exception while running the EJB Client.. I am
    using WLS 5.1
    Exception in thread "main" java.lang.ClassCastException
    at
    javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:319)
    at FirstStatelessEJBClient.Client.lookupHome(Client.java:149)
    at FirstStatelessEJBClient.Client.<init>(Client.java:44)
    at FirstStatelessEJBClient.Client.main(Client.java:82)
    Can anybody throw a light on this.
    Thanks
    Ashish

    Hi Eduardo,
    Below is my classpath. The stubs are in first_statlessSession.jar file.
    CLASSPATH=C:\weblogic\myserver\first_statelessSession.jar;
    C:\jdk1.2.2\lib\tools.jar;C:\weblogic\license;C:\weblogic\classes;C:\weblogi
    c\lib\weblogicaux.jar;
    C:\weblogic\myserver\clientclasses;C:\weblogic\myserver\serverclasses
    Also, I am just compiling and deploying the
    C:\weblogic\examples\ejb\basic\statelessSession myself and testing it. I
    am
    using the build.cmd files to compile and deploy the above EJB. If I use the
    jars provided by weblogic it works fine with same above classpath.
    I don't know what to do next. I have invested the whole day to solve this
    problem and couldn't.
    Please let me know if I am doing anything wrong.
    Appreciate your help.
    Thanks,
    Ashish
    Eduardo Ceballos wrote:
    Try putting the stubs into the client class path.
    "Ashish N. Shah" wrote:
    Folks,
    I am getting following exception while running the EJB Client.. I am
    using WLS 5.1
    Exception in thread "main" java.lang.ClassCastException
    at
    javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:319)
    at FirstStatelessEJBClient.Client.lookupHome(Client.java:149)
    at FirstStatelessEJBClient.Client.<init>(Client.java:44)
    at FirstStatelessEJBClient.Client.main(Client.java:82)
    Can anybody throw a light on this.
    Thanks
    Ashish

  • The server deploy EJB but I run EJB Client program,The error msg is can't find JNDI

    Hi all:
    I am using Weblogic 6.1/SP2. I use the console to start
    server and deploy EJB jar,from the msg I see my EJB jar
    been deployed. When I run EJB Client program, the error
    msg is can't find JNDI name t3://URL:11003.....
    I check my ejb-jar.xml amd weblogic-ejb-jar.xml are fine.
    Last week I did deploy EJB and ran the client both
    suceessful. Any ideas, Thank you.

    Sabha:
    Thank you for your help info, I soloved the problem.
    The problem is the ejb jar was deleted(I don't why)
    then System Admin to deploy EJB jar from Admin console.
    After that everything is fine.
    "Sabha" <[email protected]> wrote:
    Run weblogic.Admin -url ... LIST to see whether the JNDI name is there
    . or
    you can view the jndi tree of the server from the console (right click
    on
    server name) and check whether the ejb home is bound to the correct jndi
    name.
    -Sabha
    "Matthew Shinn" <[email protected]> wrote in message
    news:[email protected]..
    Hi Albert,
    I would double check to make sure the EJB was indeed deployed (check
    server log). What message did you see that leads you to believe itwas
    successfully deployed? Also, verify the JNDI name you are lookingup in
    your client matches the JNDI name for the EJB. If this doesn't solve
    the problem, please post the error message and stack trace you are
    seeing on the client.
    - Matt
    Albert Pi wrote:
    Hi all:
    I am using Weblogic 6.1/SP2. I use the console to start
    server and deploy EJB jar,from the msg I see my EJB jar
    been deployed. When I run EJB Client program, the error
    msg is can't find JNDI name t3://URL:11003.....
    I check my ejb-jar.xml amd weblogic-ejb-jar.xml are fine.
    Last week I did deploy EJB and ran the client both
    suceessful. Any ideas, Thank you.

  • Error page, catching Exception

    Hello.
    When my page throws Exception, i redirect it to error page.
    I have this code in web.xml:
       <error-page>
          <exception-type>java.lang.Exception</exception-type>
          <location>/error.jsp</location>
       </error-page>      Everything is ok.
    But i want to write this exception to my log. I want do this in error page.
    So my question is:
    how can I get this exception on error page?

    Jsp' directive in /error.jsp
    <%@page isErrorPage="true" %>
    then variable "exeption" is availible in jsp, like this
    <%
    StackTraceElement[] st = exception.getStackTrace();
    %>

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

Maybe you are looking for

  • What's wrong with pdf printing?

    I am experiencing two related problems.  If I save a pdf and then later try to load it I get a message saying the file has been damaged so it cannot be accessed.  Also, when printing, I show a blank page.  So I go to pdf preview and that is blank as

  • Controlling Namespace Prefix in OSB10gR3

    Hi, I am doing a xquery transformation in my application, where I have defined a few namespaces with prefixes, but the prefixes get changed in my output. Is there anyway I can control the namespace prefixes. Thanks, Balaji.

  • I have iPad set with iCloud and I want to set to iTunes

    Option Set as new iPad in iTunes affect my data on iPad?

  • Env-entry-mapping suppressed

    Hi, Did anyone try <env-entry-mapping> in orion-ejb-jar.xml? It seems that it is suppressed during deployment. The orion-ejb-jar.xml being generated into -deploymentDirectory place (specified or default) simply drops these mappings. The effect is tha

  • Install failing when running Database Configuration Assistant

    I am trying to install Oracle 9i on a new Solaris 9 box. Everything goes fine until oui tries to run the Database Configuration Assistant. It is at the "Creating and starting Oracle Instance" stage that I get a popup which says: ORA-27302: failure oc