private AddressBookProtos.AddressBookService connectExportedProtobufAddress(ExportDeclaration declaration) throws EndpointException, NoSuchMethodException, InvocationTargetException, IllegalAccessException, BinderException {
ProtobufferExportDeclarationWrapper pojo = ProtobufferExportDeclarationWrapper.create(declaration);
Bus cxfbus = BusFactory.getThreadDefaultBus();
BindingFactoryManager mgr = cxfbus.getExtension(BindingFactoryManager.class);
mgr.registerBindingFactory(ProtobufBindingFactory.PROTOBUF_BINDING_ID, new ProtobufBindingFactory(cxfbus));
Class<?> bufferService = AddressBookProtos.AddressBookService.class;
Class<?> bufferMessage = AddressBookProtos.AddressBookServiceMessage.class;
Class<? extends Message> generic = bufferMessage.asSubclass(Message.class);
RpcChannel channel = new SimpleRpcChannel(pojo.getAddress(), generic);
Method method = bufferService.getMethod("newStub", RpcChannel.class);
Object service = method.invoke(bufferService, channel);
AddressBookProtos.AddressBookService addressBook = (AddressBookProtos.AddressBookService) service;
return addressBook;
}
ProtobufferExporterTest.java 文件源码
java
阅读 23
收藏 0
点赞 0
评论 0
项目:fuchsia
作者:
评论列表
文章目录