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 capnproto+unsubscr...@googlegroups.com.
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