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,
EricWell 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,
JamesHi 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 -
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) ?
TIAThe 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 thisI 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..)?
-
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. -
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) -
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
mikeI'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 moreHi,
<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.
AndyYou 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
-
Error message runs in direct contrast to the "spirit' of iCloud
I just tried to drop an old song into my favorite playlist on my iMac. I get this error message: "iCloud playlists can only contain songs from your iCloud music library. If you continue 'this playlist' will be removed from iCloud and will only be av
-
Material Code - Report Based on Creation Date
Hi, What is the Standard T.Code to know the Number of Material code created in a day?
-
When my phone is looked, i would see or hear that there is a message or a missed call
When my phone is looked, i would see or hear that there is a message or a missed call on my phone; Is it an App that enable this function?
-
Setting the number of copies to be printed through crystal reports?
I posted this in another section and got redirected to this one. So I'm working with some software that utilizes Crystal Reports 10, and am looking for a method where through Crystal Reports I can take a user entered parameter value and set that as
-
CS5 Live Caption Issue with Anchored Images
For some reason, InDesign will not let me add a live or static caption if it is anchored in the body. I can put it on the pasteboard and add it but not while it is anchored. Does anyone know of a work-around?