org.omg.CORBA.MARSHAL: vmcid: SUN minor code: 211 completed: Maybe

用weblogic 12c 测试 ejb3

import javax.naming.InitialContext;
import javax.naming.NamingException;

import ejb3test.HelloWorld;
import weblogic.jndi.WLInitialContextFactory;

public class Test {
 public static void main(String[] args) throws NamingException {
     
         java.util.Properties prop = new java.util.Properties();
        prop.setProperty(javax.naming.Context.INITIAL_CONTEXT_FACTORY, WLInitialContextFactory.class.getName());
        prop.setProperty(javax.naming.Context.PROVIDER_URL, "t3://localhost:7001");
        InitialContext ic = new InitialContext(prop);    
        HelloWorld h = (HelloWorld)ic.lookup("HelloWorldBean#ejb3test.HelloWorld");
        System.out.println(h.sayHello("somebody "));////somebody  say Hello .
 }
}

如何生成ejb:

ejb 中 包含一个接口 和一个实现类

package ejb3test;

public interface HelloWorld {
    public String sayHello(String name);  
}
package ejb3test;

import javax.ejb.Remote;
import javax.ejb.Stateless;

@Stateless(mappedName = "HelloWorldBean")  
@Remote ({HelloWorld.class}) 
public class HelloWorldBean implements HelloWorld {
    
    public String sayHello(String name) {
        return name+" say Hello .";
    }
}
打包 HelloWorld    HelloWorldBean 到 HelloApp.jar (普通jar即可)  并且部署到 weblogic服务器上   
打包 HelloWorld  到 HelloI.jar 供 Test 类调用  


测试遇到问题

  org.omg.CORBA.MARSHAL:   vmcid: SUN  minor code: 211 completed: Maybe.....

   解决办法  

        其一  直接引入weblogic.jar(好像这个版本是支持的)

        或者  cd 到 OracleMiddlewareOracle_Homewlserverserverlib  下,执行 java -jar wljarbuilder.jar   ,最后生成 wljarbuilder.jar 引入到测试类中即可  { 官方给的操作:http://docs.oracle.com/cd/E24329_01/web.1211/e24378/jarbuilder.htm#SACLT421 }

      

原文地址:https://www.cnblogs.com/rojas/p/4613723.html