Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 调用Enterpr中EJB方法的J2SE客户端的部分工作。项目和JPA_Java_Jakarta Ee_Jpa_Netbeans_Ejb - Fatal编程技术网

Java 调用Enterpr中EJB方法的J2SE客户端的部分工作。项目和JPA

Java 调用Enterpr中EJB方法的J2SE客户端的部分工作。项目和JPA,java,jakarta-ee,jpa,netbeans,ejb,Java,Jakarta Ee,Jpa,Netbeans,Ejb,目前,我有一个JavaJ2SE客户端,它在会话EJB中调用两个方法。 一个方法(EJB.test())有效,而另一个EJB.create()无效 其代码如下所示 Properties props = new Properties(); props.load(new FileInputStream("jndi.properties")); InitialContext ctx = new InitialContext(props); BeanRemote EJB = (BeanRemote) c

目前,我有一个JavaJ2SE客户端,它在会话EJB中调用两个方法。 一个方法(EJB.test())有效,而另一个EJB.create()无效

其代码如下所示

Properties props = new Properties();
props.load(new FileInputStream("jndi.properties"));
InitialContext ctx = new InitialContext(props);

BeanRemote EJB = (BeanRemote) ctx.lookup("stateless.pack.BeanRemote");
System.out.println(EJB.test()); //Method works

Testobj t = new Testobj();
t.setName("User");  
EJB.create(t);   //Doesnt Work . This is the remote version. When tried through the local version using servlet of the Enterprise App it works.
EJB实现是

@Stateless
public class Bean implements BeanLocal,BeanRemote
{
    public @PersistenceContext(unitName="emp")   EntityManager manager;

    @Override
    public String test() 
    { return "test123";}

    @Override
    public Testobj create(Testobj cust) 
    {        manager.persist(cust);
             return cust;
    }
   .....
   .....
}
我得到了错误

Jul 21, 2012 9:16:23 AM com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator handleFullLogging
WARNING: IOP00810011: Exception from readValue on ValueHandler in CDRInputStream
org.omg.CORBA.MARSHAL: WARNING: IOP00810011: Exception from readValue on ValueHandler in CDRInputStream  vmcid: OMG  minor code: 11 completed: Maybe
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
    at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:248)
    at com.sun.corba.ee.spi.orbutil.logex.corba.CorbaExtension.makeException(CorbaExtension.java:95)
    at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.handleFullLogging(WrapperGenerator.java:387)
    at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator.access$400(WrapperGenerator.java:107)
    at com.sun.corba.ee.spi.orbutil.logex.WrapperGenerator$2.invoke(WrapperGenerator.java:511)
    at com.sun.corba.ee.spi.orbutil.proxy.CompositeInvocationHandlerImpl.invoke(CompositeInvocationHandlerImpl.java:99)
    at $Proxy24.valuehandlerReadException(Unknown Source)
    at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.readRMIIIOPValueType(CDRInputStream_1_0.java:1022)
    at com.sun.corba.ee.impl.encoding.CDRInputStream_1_0.read_value(CDRInputStream_1_0.java:1123)
    at com.sun.corba.ee.impl.encoding.CDRInputObject.read_value(CDRInputObject.java:531)
    at com.sun.corba.ee.impl.io.IIOPInputStream.inputObjectField(IIOPInputStream.java:2162)
    at com.sun.corba.ee.impl.io.IIOPInputStream.inputClassFields(IIOPInputStream.java:2404)
    at com.sun.corba.ee.impl.io.IIOPInputStream.inputObject(IIOPInputStream.java:1224)
    at com.sun.corba.ee.impl.io.IIOPInputStream.simpleReadObject(IIOPInputStream.java:425)

您必须定义一个接口并用@Remote注释它,然后让EJB实现这样的接口