/** Creates an XMLRPC call from the given method name and parameters and sends it */ protected void writeCall(String methodName, Object[] args) throws Exception { huc = u.openConnection(); huc.setDoOutput(true); huc.setDoInput(true); huc.setUseCaches(false); huc.setRequestProperty("Content-Type", "binary/message-pack"); huc.setReadTimeout(0); OutputStream os = huc.getOutputStream(); Packer pk = new Packer(os); pk.packArray(args.length + 1); pk.pack(methodName); for (Object o : args) pk.pack(o); os.close(); }
/** Receives an RPC response and converts to an object */ protected Object readResp() throws Exception { InputStream is = huc.getInputStream(); MessagePackObject mpo = MessagePack.unpack(is); return unMsg(mpo); }