How to init sequence on server to return to client?

How do I initialize a sequence to be returned to a

client from a java server?

sample idl :

module someModule {

typedef sequence<octet> Data;

struct SomeStructure {

Data file;

string info;

};

typedef sequence<SomeStructure> results;

interface someObject {

get(in string infotoget, out results results_out, out unsigned long

numberOfItems);

};

};

on client :

.

.

.

String info = "filename";

someModule.resultsHolder rh = new someModule.resultsHolder();

org.omg.CORBA.IntHolder ih = new org.omg.CORBA.IntHolder();

someObject.get(info,rh,ih);

on server :

?

[745 byte] By [SunOfTheRisingMoona] at [2007-10-1 23:31:06]
# 1

I implemented a server, but I get the following error :

org.omg.CORBA.UNKNOWN:vmcid: SUN minor code: 202 completed: Maybe

Test2 Client Error:

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:274)

at java.lang.Class.newInstance0(Class.java:308)

at java.lang.Class.newInstance(Class.java:261)

at com.sun.corba.se.internal.iiop.messages.ReplyMessage_1_2.getSystemException(ReplyMessage_1_2.java:90)

at com.sun.corba.se.internal.iiop.ClientResponseImpl.getSystemException(ClientResponseImpl.java:105)

at com.sun.corba.se.internal.corba.ClientDelegate.invoke(ClientDelegate.java:314)

at org.omg.CORBA.portable.ObjectImpl._invoke(ObjectImpl.java:457)

at someModule._someObjectStub.get(_someObjectStub.java:20)

at Test2Client.main(Test2Client.java:54)

I think the error is caused by incorrect implementation of the sequence on the server.

SunOfTheRisingMoona at 2007-7-15 14:13:50 > top of Java-index,Core,Core APIs...
# 2

Here is the method implementation on the server side :

public void get(String toget, someModule.resultsHolder results_out, org.omg.CORBA.IntHolder numberOfItems)

{

System.out.println("inside get : " + toget);

someModule.SomeStructure[] srs_array = new someModule.SomeStructure[1];

srs_array[0].info = "EMPTY";

// create array for octet sequence

byte[] data_array = new byte[1];

data_array[0] = 0;

srs_array[0].file = data_array;

results_out = new someModule.resultsHolder(srs_array);

numberOfItems = new IntHolder(0);

}

SunOfTheRisingMoona at 2007-7-15 14:13:50 > top of Java-index,Core,Core APIs...