当前位置: 首页 > 知识库问答 >
问题:

websphere remote ejb调用corba.object_not_exist locatereply.unknown_object次要代码:C01

柴衡
2023-03-14

我在同一台机器上有两个本地WebSphere7应用程序服务器(两个配置文件)。只是默认安装,没有自定义配置。其中之一公开了一个部署为EJB3会话bean的服务,该会话bean具有ejb/edu/test/ejbfacade JNDI名称。

我编写了一个简单的JUnit集成测试,它远程调用一个方法:

@Test
public void testCall() throws Exception {
    Hashtable props = new Hashtable();
    props.put(Context.PROVIDER_URL, "corbaloc:iiop:localhost:2811");
    props.put(Context.INITIAL_CONTEXT_FACTORY, "com.ibm.websphere.naming.WsnInitialContextFactory");
    props.put("org.omg.CORBA.ORBClass", "com.ibm.CORBA.iiop.ORB");
    InitialContext initialContext = new InitialContext(props);

    Object obj = initialContext.lookup("cell/nodes/myNode03/servers/server1/ejb/edu/test/EjbFacade");
    EjbFacade facade = (EjbFacade) PortableRemoteObject.narrow(obj, EjbFacade.class);
    facade.doSomething();
}

ibm-web-bnd.xmi

  <ejbRefBindings xmi:id="EjbRefBinding_1386431681401" jndiName="ejb/edu/test/EjbFacade">
      <bindingEjbRef href="WEB-INF/web.xml#EjbRefBinding_EjbFacade"/>
  </ejbRefBindings>

web.xml

  <ejb-ref id="EjbRefBinding_EjbFacade">
      <ejb-ref-name>ejb/edu/test/EjbFacade</ejb-ref-name>
      <ejb-ref-type>Session</ejb-ref-type>
      <home/>
      <remote>edu.test.EjbFacade</remote>
  </ejb-ref>

我正在使用本地JNDI名称:java:comp/env/EJB/edu/test/ejbfacade在websphere管理控制台中映射到corbaloc:iiop:localhost:2811/cell/nodes/mynode03/servers/server1/EJB/edu/test/ejbfacade的servlet中进行相同的EJB调用。

Caused by: javax.naming.ServiceUnavailableException: A communication failure
occurred while attempting to obtain an initial context with the provider URL: 
"corbaloc:iiop:localhost:2811/cell/nodes/myNode03/servers/server1/ejb/edu/test/EjbFacade". 
Make sure that any bootstrap address information in the URL is correct and that the target 
name server is running.  A bootstrap address with no port specification defaults to port 2809.
Possible causes other than an incorrect bootstrap address or unavailable name server 
include the network environment and workstation network configuration. 
[Root exception is org.omg.CORBA.OBJECT_NOT_EXIST: LocateRequest 6 received    
LocateReply.UNKNOWN_OBJECT  vmcid: IBM  minor code: C01  completed: No]

我应该在WAS控制台中配置什么JNDI名称?为什么相同的代码在JUnit下工作,但在Servlet中失败了?

共有1个答案

梁泰
2023-03-14

您需要uniqueServerName选项。请参阅InfoCenter中应用程序访问问题主题的“在同一主机上运行的两台同名服务器正在被用于互操作”部分。

 类似资料:
  • Lua 的解析器有官方的 standard Lua 和 LuaJIT,需要明确一点的是目前大量的优化文章都比较陈旧,而且都是针对 standard Lua 解析器的,standard Lua 解析器在性能上需要书写者自己规避,才能写出高性能来。需要各位看官注意的是,OpenResty 最新版默认已经绑定 LuaJIT,优化手段和方法已经略有不同。我们现在的做法是:代码易读是首位,目前还没有碰到同样

  • 问题内容: 我正在使用golang网络应用程序。在这种情况下,我需要迭代HTML行的次数。 我该如何实施? 问题答案: 要在Go模板中重复执行某些操作,您可以使用操作。但是该动作希望可以对其进行迭代,例如切片,数组或映射。 传递零值切片 所以你必须养活它。但是不需要内存的空片就足够了,例如。 模板代码: 测试它: 输出(在Go Playground上尝试): 使用填充的切片 如我们所见,索引从0开

  • 问题内容: 有没有人能将C#代码集成到Java应用程序中呢? 代码很小,所以我可以用Java重写,但是如果可能的话,我宁愿重用代码。不要重复自己,等等。 另外,我知道我可以将C#公开为Web服务或其他任何东西,但是其中包含一些安全性/加密功能,因此,我宁愿将其紧密集成。 编辑:它将在基于服务器的应用程序上,因此“下载”另一个运行时是无关紧要的。 问题答案: 有一个IL到Java字节码编译器Gras

  • 本文向大家介绍Swift调用Objective-C代码,包括了Swift调用Objective-C代码的使用技巧和注意事项,需要的朋友参考一下 最近iOS开发之新编程语言Swift在iOS开发圈内反响比较大,国内外都有很多教程或小示例。 虽然Swift这门语言仍然在不断的进化之中,而且变动还是比较大,苹果公司也不承诺目前所写代码会在将来兼容,但仍挡不住iOS开发者的热情。 为什么要使用Swift调

  • gcc-g-i/usr/lib/jvm/java-1.6.0-openJDK-1.6.0.0.x86_64/include/-i/usr/lib/jvm/java-1.6.0-openJDK-1.6.0.0.x86_64/include/-i/usr/lib/jvm/java-1.6.0-openJDK-1.6.0.0.x86_64/include/-i/usr/lib/jvm/java-1.6.

  • 问题内容: 我正在使用c ++为node.js编写附加组件。 这里有一些片段: 我需要将一个JavaScript函数另存为回调,以便稍后调用。Client类是另一个对象的观察者,应从onAsyncMethodEnds调用javascript回调。不幸的是,当我调用函数“ BeInitiator”时,在回调Call()之前收到“ Bus error:10”错误 感谢建议 问题答案: 您不能从另一个线