C++ server send Capn Object to JavaClient like this

capnp::MallocMessageBuilder message;
Info::Builder info = message.initRoot<Info>();
info.setId(123);
kj::ArrayPtr<const kj::ArrayPtr<const capnp::word>> segments = 
message.getSegmentsForOutput();

then I convert the  segments  object to char* send to java_client by proto 
rpc_call (bytes field)


Then In java_client, I do like this to read the capn object
com.google.protobuf.ByteString capn_object_bytes =  
 response.getCapnObject()
SegmentReader segment = new 
SegmentReader(capn_object_bytes.asReadOnlyByteBuffer(), null);
AnyPointer.Reader any = new AnyPointer.Reader(segment, 0, 64*1024*1024);
Info.Reader info = any.getAs(Info.factory);
System.out.println("Id:" + info.getId());


run java_cliet ,happend error like this :
Exception in thread "main" java.lang.NullPointerException
at org.capnproto.WireHelpers.readStructPointer(WireHelpers.java:918)
at 
org.capnproto.StructFactory.fromPointerReaderRefDefault(StructFactory.java:34)
at org.capnproto.StructFactory.fromPointerReader(StructFactory.java:41)
at org.capnproto.StructFactory.fromPointerReader(StructFactory.java:24)
at org.capnproto.AnyPointer$Reader.getAs(AnyPointer.java:56)




-- 
You received this message because you are subscribed to the Google Groups 
"Cap'n Proto" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/capnproto/081ab20b-5eae-43d5-a4fc-8230ef39d4a5%40googlegroups.com.

Reply via email to