JAVA CORBA(BAD_PARAM)空参数

时间:2015-05-04 13:26:17

标签: java null corba

我在调用方法(BAD_PARAM) Null parameter时收到opt2()错误。我的另一种方法opt1()运行正常。以下是他们的定义:

void call1()
{
    StringHolder text2 = new StringHolder("bolek");
    StringHolder text3 = new StringHolder("a");
    S1 s1 = new S1();
    s1.a = 77;
    s1.b = 'r';

    i1.op1(123);

    String res = i1.op2("myString", text2, text3, s1);

    System.out.println(res);
}

@Override
public short op1(int abc) {
    // TODO Auto-generated method stub
    System.out.println("OP1 " + abc);
    return 0;
}

@Override
public String op2(String text, StringHolder text2, StringHolder text3,
        S1 struct1) {
    return text+" "+text2+" "+text3+" "+struct1.a+" "+struct1.b;
}

S1是一个包含int achar b的结构。

我得到以下堆栈跟踪:

2015-05-04 17:34:24 com.sun.corba.se.impl.encoding.CDROutputStream_1_0 writeString
WARNING: "IOP00110201: (BAD_PARAM) Null parameter"
org.omg.CORBA.BAD_PARAM:   vmcid: SUN  minor code: 201 completed: Maybe
    at com.sun.corba.se.impl.logging.ORBUtilSystemException.nullParam(ORBUtilSystemException.java:1127)
    at com.sun.corba.se.impl.logging.ORBUtilSystemException.nullParam(ORBUtilSystemException.java:1141)
    at com.sun.corba.se.impl.encoding.CDROutputStream_1_0.writeString(CDROutputStream_1_0.java:462)
    at com.sun.corba.se.impl.encoding.CDROutputStream_1_0.write_string(CDROutputStream_1_0.java:456)
    at com.sun.corba.se.impl.encoding.CDROutputStream.write_string(CDROutputStream.java:151)
    at edu.sr.generated.example1.I1POA._invoke(I1POA.java:58)
    at com.sun.corba.se.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:637)
    at com.sun.corba.se.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:189)
    at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1680)
    at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1538)
    at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:920)
    at com.sun.corba.se.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:181)
    at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:692)
    at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.dispatch(SocketOrChannelConnectionImpl.java:449)
    at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.doWork(SocketOrChannelConnectionImpl.java:1211)
    at com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.performWork(ThreadPoolImpl.java:471)
    at com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:500)

我该如何解决这个问题?

0 个答案:

没有答案