EJB Client JAR Creation - Workspace Studio (ALSB 3.0/WLS 10)

hi
I'm trying to create an EJB Client JAR for an 2.1 Session Bean EJB Created in a WLS 10 domain using BEA Workspace Studio (i.e. this is the Aqualogic Service Bus 3.0 Product install).
I'm doing this in preparation for testing the ALSB EJB Transport which requires a client JAR.
I simply can't get a useful JAR from the facility provided in the Workspace IDE. The Workspace help is pointing to an IBM generated page and I'm following the procedure there.
I have configured the EJB for an EJB Client Project.
If I export an EAR from the Application containing the EJB, the EAR only contains the EJB JAR (with a Manifest entry to a non-existent Client JAR).
If I export the EJB Client Project to a JAR the JAR is simply empty i.e. contains some descriptor type artefacts but no classes.
I have tried this quite a few times with the same outcome. Can anyone from BEA or the user community confirm whether or not this facility actually works!
Thanks
Jim Nicolson

http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/ejbTransport/ejbtransport.html#wp1079062 . This is document for OSB 10xx and yours is a a version or two older than this (So it will be applicable).
Can you please check if your EJB are complying to 2.1specification?
However the latest version of service has support for both EJB 2.1 and EJB 3.0 specification
http://download.oracle.com/docs/cd/E14571_01/doc.1111/e15866/ejb.htm#CCGIFFCI
Thanks
Manoj

Similar Messages

  • EJB Client JAR project produces empty JAR

    I've built an EJB module in WorkSpace Studio using the "WebLogic EJB Project" type, which is part of an EAR. I created a couple stateless session beans within this project, and then created an EJB Client JAR project using the "EJB Client JAR-->Create EJB Client Jar" menu item on the EJB project's hidden menu.
    According to the documentation, exporting an EAR file from the EAR project will cause the client JAR to be generated. I exported the EAR file from the EAR project, and sure enough, it included the client JAR (in /APP-INF/lib/). I extracted the client JAR from the EAR and opened it up to make sure it contained all of the client-side classes. I discovered that the client JAR was empty, the only contents being the MANIFEST.MF file. The interface classes were instead contained in the EJB JAR itself.
    How can I get the EJB client code to actually be included in the EJB client JAR?
    Thanks,
    Eric

    Well I have tried this with 6.1 and first
    1. One would expect the jar name to be the name in the ejb-jar.xml -
    ejb-client-jar section
    2. It outputs the file XXXEJB_Compiled.jar but it is same size as base jar
    this is 6.1 sp3
    whats up?
    Matthew Shinn wrote:
    Hi Sanjay,
    There is a bug in the documentation. The client-jar name should never be part of the
    ejbc command line. Step 3 below should be something like:
    java weblogic.ejbc xxxEJB.jar xxxEJB_Compiled.jar
    If you have an ejb-client-jar entry in your ejb-jar.xml, the client jar should be placed
    in the directory from which you ran ejbc. Make sure that the classes that you want to be
    put in the client-jar are not loaded from the classpath. This is very important or your
    client-jar won't be created correctly. The client-jar will only contain classes loaded
    from the input jar to ejbc. A bug for the incorrect documentation has already been filed
    and should be fixed soon.
    - Matt
    Sanjay Dwivedi wrote:
    Hi,
    I am trying to use the
    <ejb-client-jar> sub-element of the Sun's <ejb-jar> (EB 2.0 DTD) element of the
    ejb-jar.xml to generate the ejb-client.jar. I followed the step as documented
    by WebLogic but the files in EJB jars and ejb-client jars are identical. Here
    is what I am doing:
    1. Build the xxxEJB.jar for my EJB by running the WebLogic.ejbc on the standard
    EJB jar file.
    2. My ejb-jar.xml file has following line:
    <ejb-jar>
    <ejb-client-jar>xxxEJBClient.jar</ejb-client-jar>
    </ejb-jar>
    3. Next I used the following command to generate the ejb-client.jar file
    java weblogic.ejbc xxxEJB.jar xxxEJBClient.jar
    My xxxEJBClient.jar files consists of exactly same files (with same sizes) as
    the xxxEJB.jar file. Only difference is that the xxxEJB.jar file includes generated
    java source files for the bean implementation class and home/remote classes.
    In my opinion the xxxEJBClient.jar should not contain the EJB implementation classes.
    Any experience using the ejb-client-jar for generating the ejb-client.jar?
    Thanks,
    Sanjay.
    [att1.html]

  • Using JarSettings to generate EJB client jar, but supported classes missed

    Appreciated for any comments in advance.
    I am using @jarSetting to generate EJB client jar file from workshop 9.2. The remote method of EJB has one input parameter that is defined as an interface. The interface is included in client jar, but the implementation of this interface is not.
    Please advise how I can add the implementation of this interface to client jar?
    Best Regards,
    James

    Hi James,
    I believe the algorithm for creating the client jar is to simply inspect the EJB interfaces using reflection and to include all user defined classes and exceptions that are referenced by the interfaces. In your case, it sounds like a class is not being included because it is not directly referenced by one of the EJB interfaces.
    I think the client jar creation algorithm can be described as "best effort" and unfortunately, it does not always end up including all classes needed by the client. I would recommend you add the additional classes manually using the jar tool.
    - Matt

  • Ejb-client.jar

    Hi,
    I've got an EJB system that until now have been packaging as just a
    bean jar and not bothering with a ejb-client.jar. I now want to
    package as follows
    a). A bean EAR file (containing bean jar, and dependency jars) - for
    deploying on EJB server.
    b). An app EAR file (containing WAR, containing ejb-client.jar).
    The first part is done. The second raised questions about the contents
    of the ejb-client.jar. I have packaged the Home/Remote interfaces and
    all necessary utility classes (i.e omitting the Local/LocalHome/EJB
    classes). What I need to know is what goes in there in terms of
    descriptors.
    Do I just package the exact same ejb-jar.xml, jboss.xml,
    jbosscmp-jdbc.xml, weblogic-ejb-jar.xml, weblogic-cmp-rdbms-jar.xml ?
    or do I have to change these in some way ?
    Do I also add the ejb-client-jar tag to the ejb-jar.xml ? (would this
    also go in the ejb-jar.xml that goes in the bean jar ?) ... and indeed
    what would I put in there ... just the name of ejb-client-jar file
    even though its only being packaged into any application WAR (what
    purpose does it serve) ?
    TIA

    The ejb-link value should include pathnames relative to the top level of the EAR
    file.
    <ejb-link>../my_beans-client.jar#CurrencyExchange</ejb-link>
    Andy Jefferson <[email protected]> wrote:
    Deepak Vohra wrote:
    An ejb-client.jar contains the class files, the home and remote interfaces
    and the primary key class, a client program needs to call the EJBs
    contained in the ejb-jar file.
    Also, ejb-client.jar contains a copy of any classes from the ejb-jarfile
    that
    are referenced by the home and remote interfaces and the primary key
    class. Deployment descriptors are not required in the ejb-client.jar.
    ejb-client-jar element is not a required element in ejb-jar.xml. If
    ejb-client-jar.xml is specified in ejb-jar.xml ejbc generates the
    ejb-clent.jar file.
    Thx. I'm not interested in using any server-specific tools (like ejbc)
    since
    I'm deploying to multiple servers and so am generating the ejb-client
    jar
    myself in my build process. In this context, what purpose does the
    <ejb-client-jar> tag in the ejb-jar.xml descriptor have ? Why does the
    beans jar need to know anything about where the client stubs are ?
    As far as I can tell I'm including the right things in my ejb-client.jar,
    and I've tried deploying my web-app EAR to WebLogic 7.0 and I always
    get
    that it can't find the ejb-link elements. What i've got in my EAR is
    my_app.war
    META-INF/application.xml
    and in the WAR
    my JSP files
    WEB-INF/web.xml
    WEB-INF/jboss-web.xml
    lib/my_beans-client.jar
    In the WEB-INF I have ejb-ref's like the following
    <ejb-ref >
    <ejb-ref-name>ejb/CurrencyExchangeHome</ejb-ref-name>
    <ejb-ref-type>Session</ejb-ref-type>
    <home>my_domain.CurrencyExchangeHome</home>
    <remote>my_domain.CurrencyExchangeRemote</remote>
    <ejb-link>my_beans-client.jar#CurrencyExchange</ejb-link>
    </ejb-ref>
    Should I be putting the my_beans-client.jar in the EAR and not the WAR
    Seems I am missing something, but not sure what exactly.

  • Two web apps using the same EJB client jar

    I am currently deploying two web apps on a server. Both web apps use an EJB client
    jar (the same jar) to access EJB's and both apps work when tested independently.
    The problem arises when I log into app A and then log into app B. As soon as
    I do app A loses it's references to the EJBHomes, and other classes.
    It seems a classloader is unloading the first classes and instances loaded by
    the first app and then loading them from app B's client.jar.
    If I put the client.jar in the system classpath everything is fine, but that's
    just a hack.
    Is it not possible to deploy two web apps on a server using the same client.jar's
    in their own WEB-INF/lib's?

    Joe,
    As Pravin mentions, the checking of those boxes in Workbench triggers scheduled jobs within the EAC that kicks off the scripts at the appropriate time/day. But as you've noticed, there's not a ton of flexibility and you don't get cron or Windows Scheduler-type capabilities.
    If you need to do something special, you can manually kick off the report generation scripts from your control directory using the runcommand.bat (or sh) script or place the command into a cron/Windows Scheduler job:
    For example, to kick off the WeeklyReports job, you would do this:
    runcommand.sh WeeklyReports runSo, assuming you go down the route of creating multiple ReportGenerators and scripts, you would create a job to kick off the new script you've created at the appropriate time.
    Hope that helps,
    Patrick
    http://branchbird.com

  • ejb-client-jar example from the core specification

    Hello all,
    the ejb3.0 specification says (chapter 60 page 241):
    the jar file that contains the client should contain one of the following: 
    • a reference to the ejb-client JAR file 
    • a reference to the ejb-jar file that contains the client view classes 
    • a copy of the client view classes  There is also an example on page 242:
    In this example, the Bean Provider has chosen to package the enterprise bean client view classes in a
    separate jar file and to reference that jar file from the other jar files that need those classes. Those classes
    are needed both by ejb2.jar, packaged in the same application as ejb1.jar, and by ejb3.jar,
    packaged in a different application. Those classes are also needed by ejb1.jar itself because they
    define the remote interface of the enterprise beans in ejb1.jar, and the Bean Provider has chosen the
    by reference approach to making these classes available.
    The deployment descriptor for ejb1.jar names the client view jar file in the ejb-client-jar
    element. Because ejb2.jar requires these client view classes, it includes a Class-Path reference to
    ejb1_client.jar.
    The Class-Path mechanism must be used by components in app2.ear to reference the client view jar
    file that corresponds to the enterprise beans packaged in ejb1.jar of app1.ear. Those enterprise
    beans are referenced by enterprise beans in ejb3.jar. Note that the client view jar file must be
    included directly in the app2.ear file.
        app1.ear:
            META-INF/application.xml
            ejb1.jar Class-Path: ejb1_client.jar
                deployment descriptor contains:
                    <ejb-client-jar>ejb1_client.jar</ejb-client-jar>
            ejb1_client.jar
            ejb2.jar Class-Path: ejb1_client.jar
        app2.ear:
            META-INF/application.xml
            ejb1_client.jar
            ejb3.jar Class-Path: ejb1_client.jarNow finally my questions are:
    1. Why did we need to include the ejb1_client.jar in app2.ear (or even in app1.ear), wasn't it enough to deploy the ejb1_client.jar separately then refer to it (using class-path in Manifest, or may be just by using <ejb-client-jar>) as the bullets quoted first suggest?
    2. How come we didn't need to use <ejb-client-jar> for ejb2.jar
    3. Since both of ejb1.jar and ejb2.jar are packaged in app1.ear couldn't we simply refer to the ejb1_client.jar in the Manifest file of app1.ear?
    Please, I appreciate your input on this

    I am guessing here and please correct me if I am wrong:
    ejb1.jar uses interfaces in ejb1_client.jar as the interface for some of the beans so we needed to use ejb-client-jar and we needed a reference in the manifest file.
    ejb2.jar uses some of the claess/interfaces as may be a return type but not as an interface for one of its beans so we didn't need to use ejb-client-jar but we needed an entry in the manifest file.
    regarding app1.ear, we can put the ejb1_client.jar in the META-INF/lib app1.ear without the need for any entries in the manifest files.
    Edited by: malrawi on Jun 14, 2009 11:59 PM

  • Manifest to ejb-client-jar ??

    Hi,
    I have an EAR with an EJB module. Into the EJBmodule.jar my Manifest.mf lists many jars in "Class-path:".
    In EJB1.1 it's deprecated (if I understood it well...), can I specify many jars in the ejb-jar.xml <ejb-client-jar> element?? (If yes, how to write them??)
    Example:
    -- Manifest
    Class-path: myjar1.jar myjar2.jar
    --> <ejb-client-jar>myjar1.jar myjar2.jar</ejb-client-jar> ?

    I realized that class-path has not to do with ejb-client-jar... but is this a kind of filter on the client view of beans (i.e. another jar with only stubs and interfaces?? this should be a deploy-tool yield..)?

  • Generate Ejb client Jar

    Hi,
    I m working with Jdeveloper 10G and oracle 9IAS 9.0.3.
    I ve deployed an Ejb module on 9IAS
    I m now wondering how generate the EJB client jar (Stubs and interfaces )to access my EJB module from anywhere.
    Any Idea?

    I found the answer.
    specify the client jar name in the jar settings and the workshop will generate the client jar for you.
    inlcude the client jar and the wlclient.jar in the remote client application.

  • Generating EJB Client jars

    Hi,
    i want to know wheather there is any way to generate client jars for any specified ejb's in oracle 10g. In weblogic using appc generates a client jar that contains all required classes for the ejb's including the Stub implementation classes.
    I need the client jar's in order to make it available to a war file which does a lookup of these beans.
    Any ant taks that oracle provides for this??

    You need to deploy the class files specific to your client as well as the generated stubs for the EJB.

  • FileGeneration/Wlappc not including local ejb interfaces in client jar

    With the following setting in the EJB source:
    @FileGeneration(
              remoteClass = Constants.Bool.TRUE,
              remoteHome = Constants.Bool.TRUE,
              remoteClassName = "ReportService",
              remoteHomeName = "ReportServiceHome",
              localClass = Constants.Bool.TRUE,
              localHome = Constants.Bool.TRUE,
              localClassName = "ReportSvc",
              localHomeName = "ReportSvcHome")
              @JarSettings(ejbClientJar = "dist/ReportFacadeClient.jar")
              @JndiName(remote="service-ReportFacade", local="local-ReportFacade")
              @Session(maxBeansInFreePool = "100",
                        initialBeansInFreePool = "10",
                        transTimeoutSeconds = "0",
                        type = Session.SessionType.STATELESS,
                        defaultTransaction = Constants.TransactionAttribute.SUPPORTS,
                        ejbName = "statelessSession",
                        enableCallByReference = Constants.Bool.TRUE)
    Along with the "<ejb-client-jar>ReportServiceClient.jar</ejb-client-jar>" entry in the ejb-jar.xml
    the ant build script invocation of wlappc successfully creates the "dist/ReportFacadeClient.jar" file as specified which includes the Remote Home and Remote interface, however the local definitions are absent.
    It is confirmed that the wlcompile does create the local implementation and interface files, they are just missing from the client jar.
    Do I need to manually append them to the jar or is there a configuration setting that I am missing to have this done automatically as is is done
    for the remote interface?
    Thanks.

    Hi,
    the local interface and local home is for local client which is within the same application (.ear). So local client needn't any client jar. it can always load the classes (local interface, local home, etc. ) it needs.
    so there isn't needs to put local interface and local home to a client jar.
    the client jar is for client out of the application, and it will be a remote invocation certainly.

  • Error of Validation of XML Schema in BEA WorkSpace Studio

    When I validate my XML Schemas throught the BEA WorkSpace Studio Version: 1.1 Build id: 1090602 the follow error happens:
    Referenced file contains errors (file:/MyPath/MyXMLSchema1.xsd).
    For more information, right click on the message and select "Show Details..."
    Show Details:
    The errors below were detected when validating the file "MyXMLSchema1.xsd" via the file "MyXMLSchema2.xsd".
    In most cases these errors can be detected by validating "MyXMLSchema1.xsd" directly.
    However it is possible that errors will only occur when MyXMLSchema1.xsd is validated in the context of MyXMLSchema2.xsd.
    src-resolve: Cannot resolve the name 'srv:Services' to a(n) 'type definition' component
    When I validate my XML Schemas throught the oepe_11gR1PS4 (Eclipse Platform Version: 3.6.2 Build id: M20110210-1200) no errors were found.
    My project is an OSB Project (ALSB Project).
    What's happen?

    BEA WorkSpace Studio Version: 1.1 Build id: 1090602 use xerces bea\alsb3.0\tools\eclipse_pkgs\1.1\eclipse_3.2.2\eclipse\plugins\org.apache.xerces_2.8.0.v200606131651
    oepe_11gR1PS4 (Eclipse Platform Version: 3.6.2 Build id: M20110210-1200) use xerces Oracle\Middleware_10.3.5\oepe_11gR1PS4\plugins\org.apache.xerces_2.9.0.v201005080400.jar
    If you replace the follow files:
    bea\alsb3.0\tools\eclipse_pkgs\1.1\eclipse_3.2.2\eclipse\plugins\org.apache.xerces_2.8.0.v200606131651\resolver.jar
    bea\alsb3.0\tools\eclipse_pkgs\1.1\eclipse_3.2.2\eclipse\plugins\org.apache.xerces_2.8.0.v200606131651\xercesImpl.jar
    bea\alsb3.0\tools\eclipse_pkgs\1.1\eclipse_3.2.2\eclipse\plugins\org.apache.xerces_2.8.0.v200606131651\xml-apis.jar
    for:
    Oracle\Middleware_10.3.5\oepe_11gR1PS4\plugins\org.apache.xerces_2.9.0.v201005080400.jar
    BEA WorkSpace Studio Version: 1.1 Build id: 1090602 will validate without errors (the same oepe_11gR1PS4 behaviour)

  • Building an EJB Client

    I'm completely confused on how to build an EJB client automagically using Ant.
    I have a simple EJB, which I compile using the wlwBuild Ant task. If I set the "ejbgen.jar-settings.ejb-client-jar" property in the project's build.properties, the client jar gets built, but it then ends up in the application EAR file. Worse yet, the generated application.xml descriptor includes the client module. Deploying the ear file fails since WebLogic tries to deploy both modules, and it blows up on NamingExceptions.
    I've kludged the process by using wlwBuild and then 'fixing' the resulting EAR file, but that's far from ideal. It works for simple projects, but not Integration projects with the auto-generated very ugly EJB names.
    I've looked at wlappc, but the documentation is so scarce I can't tell if this is the tool to use, or how to make it work. Trial and error has gotten me nowhere...:(
    So the question is: how can I build the EJB client through Ant without having it end up in the application EAR?
    thanks
    mike

    I'm looking for too and there isn't any.
    Here is an example. I hope it could be helpful.
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <HTML>
    <HEAD>
    <%@ page import="javax.naming.*" %>
    <%@ page import="javax.rmi.*" %>
    <%@ page import="java.rmi.*" %>
    <%@ page import="javax.ejb.*" %>
    <%@ page import="modelo.ejb.*" %>
    <%@ page
    language="java"
    contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"
    %>
    <%!
    Fachada sbFachada = null;
    public void jspInit() {
         String sJNDI = "ejb/modelo/ejb/FachadaHome";
         try{          
              Context ejbCtx = (Context) new InitialContext();
              System.out.println("Obteniendo la referencia JNDI: " + sJNDI);
              Object oRef = ejbCtx.lookup(sJNDI);
              FachadaHome home = (FachadaHome) PortableRemoteObject.narrow(oRef, FachadaHome.class);
              try {     
                   sbFachada = home.create();
              } catch (CreateException ce){
                   System.out.println("Error en la creaci�n");          
              } catch (RemoteException re) {
                   System.out.println("Error remoto en creaci�n");
         } catch (NamingException ne){
              System.out.println("NamingException " + ne.toString());
    %>
    <TITLE>InvocarEJB2.jsp</TITLE>
    </HEAD>
    <BODY>
    <%
         out.println(sbFachada.contador());
    %>
    </BODY>
    </HTML>
    Salu2.
    V�ctor.

  • Applet -ejb ; weblogic.jar

    Hi,
    <b>I am trying to access EJB from an applet thro' ejb-client.jar. It works fine if I include weblogic.jar in the applet archive but it throws a corba exception if I use wlclient.jar and wljmsclient.jar instead of weblogic.jar in the archive. As weblogic.jar is too huge <b>I want to use thin clients</b>. Could someone help me with this exception. I am using WLS8.1_sp4; jdk 1.4.2_05 and ie6 with latest jvm. Both applet and ejb are deployed in same localhost</b>
    com.sun.corba.se.internal.iiop.ConnectionTable(Thread[thread applet-informatics.inventory.plates.editor.PlateMapEditor.class,
    4,file:/C:/projects/perforce/java/PlateMapViewer/-threadGroup]): Client get called: host = localhost port = 7001
    com.sun.corba.se.internal.iiop.ConnectionTable(Thread[thread applet-informatics.inventory.plates.editor.PlateMapEditor.class,
    4,file:/C:/projects/perforce/java/PlateMapViewer/-threadGroup]): Creating new connection Connection[type=IIOP_CLEAR_TEXT remo
    te_host=localhost remote_port=7001 state=ESTABLISHED]
    com.sun.corba.se.internal.iiop.MessageMediator(Thread[JavaIDL Reader for localhost:7001,4,ORB ThreadGroup]): Creating message
    from stream
    com.sun.corba.se.internal.iiop.ConnectionTable(Thread[thread applet-informatics.inventory.plates.editor.PlateMapEditor.class,
    4,file:/C:/projects/perforce/java/PlateMapViewer/-threadGroup]): Succesfully created socket for new connection
    com.sun.corba.se.internal.iiop.MessageMediator(Thread[JavaIDL Reader for localhost:7001,4,ORB ThreadGroup]): Reading the mess
    age fully, size =1204
    com.sun.corba.se.internal.iiop.MessageMediator(Thread[JavaIDL Reader for localhost:7001,4,ORB ThreadGroup]): Handling GIOP 1.
    0 LocateReply
    com.sun.corba.se.internal.iiop.IIOPInputStream(Thread[JavaIDL Reader for localhost:7001,4,ORB ThreadGroup]): Constructing IIO
    PInputStream object
    com.sun.corba.se.internal.iiop.IIOPInputStream(Thread[JavaIDL Reader for localhost:7001,4,ORB ThreadGroup]): Setting the time
    stamp
    com.sun.corba.se.internal.iiop.MessageMediator(Thread[JavaIDL Reader for localhost:7001,4,ORB ThreadGroup]): Creating message
    from stream
    com.sun.corba.se.internal.iiop.ConnectionTable(Thread[thread applet-informatics.inventory.plates.editor.PlateMapEditor.class,
    4,file:/C:/projects/perforce/java/PlateMapViewer/-threadGroup]): Client get called: host = 172.16.65.14 port = 7001
    com.sun.corba.se.internal.iiop.ConnectionTable(Thread[thread applet-informatics.inventory.plates.editor.PlateMapEditor.class,
    4,file:/C:/projects/perforce/java/PlateMapViewer/-threadGroup]): Creating new connection Connection[type=IIOP_CLEAR_TEXT remo
    te_host=172.16.65.14 remote_port=7001 state=ESTABLISHED]
    com.sun.corba.se.internal.iiop.MessageMediator(Thread[JavaIDL Reader for 172.16.65.14:7001,4,ORB ThreadGroup]): Creating mess
    age from stream
    com.sun.corba.se.internal.iiop.ConnectionTable(Thread[thread applet-informatics.inventory.plates.editor.PlateMapEditor.class,
    4,file:/C:/projects/perforce/java/PlateMapViewer/-threadGroup]): Succesfully created socket for new connection
    com.sun.corba.se.internal.iiop.GIOPImpl(Thread[thread applet-informatics.inventory.plates.editor.PlateMapEditor.class,4,file:
    /C:/projects/perforce/java/PlateMapViewer/-threadGroup]): getEndpoint(IIOP_CLEAR_TEXT, 0, null)
    com.sun.corba.se.internal.iiop.GIOPImpl(Thread[thread applet-informatics.inventory.plates.editor.PlateMapEditor.class,4,file:
    /C:/projects/perforce/java/PlateMapViewer/-threadGroup]): createListener( socketType = IIOP_CLEAR_TEXT port = 0 )
    javax.naming.NamingException: Unhandled exception in lookup [Root exception is org.omg.CORBA.MARSHAL:   vmcid: SUN  minor cod
    e: 217 completed: Maybe]
    at weblogic.corba.j2ee.naming.Utils.wrapNamingException(Utils.java:81)
    at weblogic.corba.j2ee.naming.ContextImpl.lookup(ContextImpl.java:237)
    at weblogic.corba.j2ee.naming.ContextImpl.lookup(ContextImpl.java:171)
    at javax.naming.InitialContext.lookup(InitialContext.java:347)
    at informatics.inventory.plates.editor.EJBPlateMapDAO.<init>(Unknown Source)
    at informatics.inventory.plates.editor.PlateMapEditor.init(Unknown Source)
    at sun.applet.AppletPanel.run(AppletPanel.java:353)
    at java.lang.Thread.run(Thread.java:534)
    Caused by: org.omg.CORBA.MARSHAL: vmcid: SUN minor code: 217 completed: Maybe
    at com.sun.corba.se.internal.iiop.CDROutputStream_1_0.write_wstring(CDROutputStream_1_0.java:464)
    at com.sun.corba.se.internal.iiop.CDROutputStream.write_wstring(CDROutputStream.java:189)
    at weblogic.corba.cos.naming.NamingContextAnyPackage.WNameComponentHelper.write(WNameComponentHelper.java:79)
    at weblogic.corba.cos.naming.NamingContextAnyPackage.WNameHelper.write(WNameHelper.java:59)
    at weblogic.corba.cos.naming._NamingContextAnyStub.resolve_any(_NamingContextAnyStub.java:79)
    at weblogic.corba.j2ee.naming.ContextImpl.lookup(ContextImpl.java:213)
    ... 6 more

    Hi,
    <b>I am trying to access EJB from an applet thro' ejb-client.jar. It works fine if I include weblogic.jar in the applet archive but it throws a corba exception if I use wlclient.jar and wljmsclient.jar instead of weblogic.jar in the archive. As weblogic.jar is too huge <b>I want to use thin clients</b>. Could someone help me with this exception. I am using WLS8.1_sp4; jdk 1.4.2_05 and ie6 with latest jvm. Both applet and ejb are deployed in same localhost</b>
    com.sun.corba.se.internal.iiop.ConnectionTable(Thread[thread applet-informatics.inventory.plates.editor.PlateMapEditor.class,
    4,file:/C:/projects/perforce/java/PlateMapViewer/-threadGroup]): Client get called: host = localhost port = 7001
    com.sun.corba.se.internal.iiop.ConnectionTable(Thread[thread applet-informatics.inventory.plates.editor.PlateMapEditor.class,
    4,file:/C:/projects/perforce/java/PlateMapViewer/-threadGroup]): Creating new connection Connection[type=IIOP_CLEAR_TEXT remo
    te_host=localhost remote_port=7001 state=ESTABLISHED]
    com.sun.corba.se.internal.iiop.MessageMediator(Thread[JavaIDL Reader for localhost:7001,4,ORB ThreadGroup]): Creating message
    from stream
    com.sun.corba.se.internal.iiop.ConnectionTable(Thread[thread applet-informatics.inventory.plates.editor.PlateMapEditor.class,
    4,file:/C:/projects/perforce/java/PlateMapViewer/-threadGroup]): Succesfully created socket for new connection
    com.sun.corba.se.internal.iiop.MessageMediator(Thread[JavaIDL Reader for localhost:7001,4,ORB ThreadGroup]): Reading the mess
    age fully, size =1204
    com.sun.corba.se.internal.iiop.MessageMediator(Thread[JavaIDL Reader for localhost:7001,4,ORB ThreadGroup]): Handling GIOP 1.
    0 LocateReply
    com.sun.corba.se.internal.iiop.IIOPInputStream(Thread[JavaIDL Reader for localhost:7001,4,ORB ThreadGroup]): Constructing IIO
    PInputStream object
    com.sun.corba.se.internal.iiop.IIOPInputStream(Thread[JavaIDL Reader for localhost:7001,4,ORB ThreadGroup]): Setting the time
    stamp
    com.sun.corba.se.internal.iiop.MessageMediator(Thread[JavaIDL Reader for localhost:7001,4,ORB ThreadGroup]): Creating message
    from stream
    com.sun.corba.se.internal.iiop.ConnectionTable(Thread[thread applet-informatics.inventory.plates.editor.PlateMapEditor.class,
    4,file:/C:/projects/perforce/java/PlateMapViewer/-threadGroup]): Client get called: host = 172.16.65.14 port = 7001
    com.sun.corba.se.internal.iiop.ConnectionTable(Thread[thread applet-informatics.inventory.plates.editor.PlateMapEditor.class,
    4,file:/C:/projects/perforce/java/PlateMapViewer/-threadGroup]): Creating new connection Connection[type=IIOP_CLEAR_TEXT remo
    te_host=172.16.65.14 remote_port=7001 state=ESTABLISHED]
    com.sun.corba.se.internal.iiop.MessageMediator(Thread[JavaIDL Reader for 172.16.65.14:7001,4,ORB ThreadGroup]): Creating mess
    age from stream
    com.sun.corba.se.internal.iiop.ConnectionTable(Thread[thread applet-informatics.inventory.plates.editor.PlateMapEditor.class,
    4,file:/C:/projects/perforce/java/PlateMapViewer/-threadGroup]): Succesfully created socket for new connection
    com.sun.corba.se.internal.iiop.GIOPImpl(Thread[thread applet-informatics.inventory.plates.editor.PlateMapEditor.class,4,file:
    /C:/projects/perforce/java/PlateMapViewer/-threadGroup]): getEndpoint(IIOP_CLEAR_TEXT, 0, null)
    com.sun.corba.se.internal.iiop.GIOPImpl(Thread[thread applet-informatics.inventory.plates.editor.PlateMapEditor.class,4,file:
    /C:/projects/perforce/java/PlateMapViewer/-threadGroup]): createListener( socketType = IIOP_CLEAR_TEXT port = 0 )
    javax.naming.NamingException: Unhandled exception in lookup [Root exception is org.omg.CORBA.MARSHAL:   vmcid: SUN  minor cod
    e: 217 completed: Maybe]
    at weblogic.corba.j2ee.naming.Utils.wrapNamingException(Utils.java:81)
    at weblogic.corba.j2ee.naming.ContextImpl.lookup(ContextImpl.java:237)
    at weblogic.corba.j2ee.naming.ContextImpl.lookup(ContextImpl.java:171)
    at javax.naming.InitialContext.lookup(InitialContext.java:347)
    at informatics.inventory.plates.editor.EJBPlateMapDAO.<init>(Unknown Source)
    at informatics.inventory.plates.editor.PlateMapEditor.init(Unknown Source)
    at sun.applet.AppletPanel.run(AppletPanel.java:353)
    at java.lang.Thread.run(Thread.java:534)
    Caused by: org.omg.CORBA.MARSHAL: vmcid: SUN minor code: 217 completed: Maybe
    at com.sun.corba.se.internal.iiop.CDROutputStream_1_0.write_wstring(CDROutputStream_1_0.java:464)
    at com.sun.corba.se.internal.iiop.CDROutputStream.write_wstring(CDROutputStream.java:189)
    at weblogic.corba.cos.naming.NamingContextAnyPackage.WNameComponentHelper.write(WNameComponentHelper.java:79)
    at weblogic.corba.cos.naming.NamingContextAnyPackage.WNameHelper.write(WNameHelper.java:59)
    at weblogic.corba.cos.naming._NamingContextAnyStub.resolve_any(_NamingContextAnyStub.java:79)
    at weblogic.corba.j2ee.naming.ContextImpl.lookup(ContextImpl.java:213)
    ... 6 more

  • Basic question: what to provide EJB client

    Weblogic 6.1, SP1, on Red Hat Linux and Windows 2000
    I have been developing an application for a few months now, but all EJBs have
    only had local interfaces. My team now needs to expose a few remote interfaces
    to another division of my company that's using WLS on another server. I understand
    the changes that I need to make on the server side. I have searched the documentation
    several times for help, but I can't seem to find a "Start here" page on how to
    create the client Jar.
    My understanding is this so far. For the server that will contain and run the
    beans, I still bundle up the MyServiceBean, MyServiceRemote, and MyServiceHome
    class files into a jar and run ejbc to perform the EJB compiling. My Manifest's
    Class-Path element references some helper Jars like exceptions and value objects.
    Once that's done, I then create a separate jar for the client. I must modify
    my ejb-jar.xml file to add an ejb-client-jar element with MyServiceClient.jar
    (or whatever the final file name will be) as its value. The client jar should
    otherwise contain the same classes as the server jar, but without the bean class.
    And then I also just provide the helper jars as well.
    I'm sure I don't have this right yet, and I'd really appreciate some insight.
    But then I have a more fundamental question: how does the client know which server
    contains my EJBs? I haven't found this info in any deployment descriptor. The
    only guess I have so far is that when the client creates an InitialContext to
    fetch the home interface, they have to specify a ProviderUrl with my server's
    IP address when they create an Environment.
    Any help would be greatly appreciated. Thanks so much.
    Andy

    You don't really need to put an entry for ejb-client-jar element in the
    ejb-jar.xml. You can still create your client and run it. Only thing is that
    you need to put ur client jar in the classpath of your java client.
    Hey Seth, where exactly is the ejb-client-jar entry is used ? I mean without
    this also you can run ur client. Where does this help?
    Rupesh.
    Andrew Byala <[email protected]> wrote in message
    news:[email protected]...
    >
    Hey, thanks for the rapid reply, Seth. But I'm wondering about theejb-client-jar
    element of the ejb-jar.xml file. It seems a bit silly to use the xml filein
    one version to generate my server-side Jar, and then have to make anotherversion
    to generate the client-side Jar. Is there a simple way to do this withoutwriting
    custom Ant tasks or anything like that?
    Seth White <[email protected]> wrote:
    Andrew Byala wrote:
    Weblogic 6.1, SP1, on Red Hat Linux and Windows 2000
    I have been developing an application for a few months now, but allEJBs have
    only had local interfaces. My team now needs to expose a few remoteinterfaces
    to another division of my company that's using WLS on another server.I understand
    the changes that I need to make on the server side. I have searchedthe documentation
    several times for help, but I can't seem to find a "Start here" pageon how to
    create the client Jar.
    My understanding is this so far. For the server that will containand run the
    beans, I still bundle up the MyServiceBean, MyServiceRemote, and
    MyServiceHome
    class files into a jar and run ejbc to perform the EJB compiling.My Manifest's
    Class-Path element references some helper Jars like exceptions andvalue objects.
    Once that's done, I then create a separate jar for the client. I mustmodify
    my ejb-jar.xml file to add an ejb-client-jar element with
    MyServiceClient.jar
    (or whatever the final file name will be) as its value. The clientjar should
    otherwise contain the same classes as the server jar, but without thebean class.
    And then I also just provide the helper jars as well.
    I'm sure I don't have this right yet, and I'd really appreciate someinsight.
    Sounds like you've got it, actually. The client just needs to have the
    remote interface
    classes
    for the bean + helper classes in its classpath. Any generated RMIclasses
    will be loaded
    over the network, if needed.
    But then I have a more fundamental question: how does the client knowwhich server
    contains my EJBs? I haven't found this info in any deployment
    descriptor.
    The
    only guess I have so far is that when the client creates an
    InitialContext
    to
    fetch the home interface, they have to specify a ProviderUrl with myserver's
    IP address when they create an Environment.To the best of my knowledge, this is correct as well.
    Any help would be greatly appreciated. Thanks so much.
    Andy

  • Skipping the RMI if ejb client is in the same box as WLS.

    does weblogic skip RMI if the ejb client is on the same machine as WLS?
    if it does, is that automatic or do we need to set anything?
    thanks,
    ali.

    If the ejb client is (for example) a servlet hosted by WLS and the ejb is in
    the same instance of WLS then it skips the RMI. Otherwise it uses RMI.
    Cameron Purdy
    http://www.tangosol.com
    "Ali Ozgun" <[email protected]> wrote in message
    news:[email protected]..
    does weblogic skip RMI if the ejb client is on the same machine as WLS?
    if it does, is that automatic or do we need to set anything?
    thanks,
    ali.

Maybe you are looking for