相关疑难解决方法(0)

在Weblogic 10.3中调用EJB时​​出现NameNotFoundException

我有一个EJB定义如下:

package com.foo;
@Stateless (mappedName="HelloWorld")
public class HelloWorldBean implements HelloWorld, HelloWorldLocal
....
Run Code Online (Sandbox Code Playgroud)

当它部署到Weblogic(WL)时,它获得名称myBean.我不确定这是否重要.

我尝试使用以下代码调用bean:

Hashtable ht = new Hashtable();
ht.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
ht.put(Context.PROVIDER_URL, "t3://localhost:7001");
ic = new InitialContext(ht);
tp = (HelloWorld) ic.lookup("HelloWorld#com.foo.HelloWorldBean");
Run Code Online (Sandbox Code Playgroud)

任何人都知道我为什么会收到以下错误?

javax.naming.NameNotFoundException: While trying to lookup 'HelloWorld#com.foo.HelloWorldBean' didn't find subcontext 'HelloWorld#com'.
 Resolved '' [Root exception is javax.naming.NameNotFoundException: While trying
 to lookup 'HelloWorld#com.foo.HelloWorldBean' didn't find
 subcontext 'HelloWorld#com'. Resolved '']; remaining name 'HelloWorld#com/foo/HelloWorldBean'
Run Code Online (Sandbox Code Playgroud)

java weblogic stateless-session-bean ejb-3.0 weblogic-10.x

7
推荐指数
1
解决办法
4万
查看次数