• Post Reply Bookmark Topic Watch Topic
  • New Topic

help me,applet invoke ejb  RSS feed

 
pinheng wang
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
i use JB5 and weblogic6.1 create a sessionbean,and deploy seccessfull.
so i create a applet to invoke method in the sessionbean ,the html file is index.html.
in jb5,right click index.html, and select "run", it run good.
i jar the applet to test.jar,and add "archive ='jarname'" to index.html.
copy test.jar and index.html to DefaultWebApp and view http://localhost:7001/index.html
applet:
ctx = getInitialContext();
//look up jndi name
Object ref = ctx.lookup("myBean1");
//cast to Home interface
myBean1HomeObject = (myBean1Home) PortableRemoteObject.narrow(ref, myBean1Home.class);
myBean1RemoteObject = myBean1HomeObject.create();
......
.........
private Context getInitialContext() throws Exception {
String url = "t3://localhost:7001";
String user = "system";
String password = "12345678";
Properties properties = null;
try {
properties = new Properties();
properties.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
properties.put(Context.PROVIDER_URL, url);
if (user != null) {
properties.put(Context.SECURITY_PRINCIPAL, user);
properties.put(Context.SECURITY_CREDENTIALS, password == null ? "" : password);
}
return new InitialContext(properties);
}
catch(Exception e) {
throw e;
}
}

the wrongs show:
javax.naming.NoInitialContextException: Cannot instantiate class: weblogic.jndi.WLInitialContextFactory. Root exception is java.lang.ClassNotFoundException: java.io.FileNotFoundException: http://localhost:7001/weblogic/jndi/WLInitialContextFactory.class
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at sun.plugin.protocol.jdk12.http.HttpURLConnection.getInputStream(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getHeaderField(Unknown Source)
at sun.plugin.protocol.jdk12.http.HttpURLConnection.checkCookieHeader(Unknown Source)
at sun.plugin.protocol.jdk12.http.HttpURLConnection.getInputStream(Unknown Source)
at java.net.HttpURLConnection.getResponseCode(Unknown Source)
at sun.applet.AppletClassLoader.getBytes(Unknown Source)
at sun.applet.AppletClassLoader.access$100(Unknown Source)
at sun.applet.AppletClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.applet.AppletClassLoader.findClass(Unknown Source)
at sun.plugin.security.PluginClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.applet.AppletClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at com.sun.naming.internal.VersionHelper12.loadClass(Unknown Source)
at javax.naming.spi.NamingManager.getInitialContext(Unknown Source)
at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source)
at javax.naming.InitialContext.init(Unknown Source)
at javax.naming.InitialContext.<init>(Unknown Source)
at wfpatterndesign.wfdesign.getInitialContext(wfdesign.java:1170)
at wfpatterndesign.wfdesign.jbInit(wfdesign.java:131)
at wfpatterndesign.wfdesign.init(wfdesign.java:121)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
java.lang.NoClassDefFoundError: javax/ejb/EJBObject
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at sun.applet.AppletClassLoader.findClass(Unknown Source)
at sun.plugin.security.PluginClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.applet.AppletClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
at wfpatterndesign.wfdesign.getPatternType(wfdesign.java:1127)
at wfpatterndesign.wfdesign.jbInit(wfdesign.java:160)
at wfpatterndesign.wfdesign.init(wfdesign.java:121)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

 
Mathew Sam
Ranch Hand
Posts: 124
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Make the following change and try.
String url = "t3://"+getCodeBase().getHost()+":7001";

Sam
 
pinheng wang
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
the wrong as of old
 
walter wang
Ranch Hand
Posts: 159
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by pinheng wang:
the wrong as of old

I think applet will be download to local client
,so it will not be able to lookup( EJBHome stub class)
you may also deploy EJBclient component at client
side. the applet is able to lookup
 
pinheng wang
Greenhorn
Posts: 5
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by walter wang:

I think applet will be download to local client
,so it will not be able to lookup( EJBHome stub class)
you may also deploy EJBclient component at client
side. the applet is able to lookup

so every one visit the site deploy EJBclient component too??
 
It is sorta covered in the JavaRanch Style Guide.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!