以前写的webservice中接口数据类型个人感觉“层次很高”,即客户端生成之后解析对象不完全或者出现其他错误.现在感觉还是不要那么高层次比较好,传递一些简单的数据类型(int,boolean,string...),顶多存放一个VO。
关于webservice中操作文件的问题,今天真犯傻,居然在server端方法里面实例化了一个File类,并且用客户端生成的String去调用客户端生成的方法.导致一直出现FileNotFoundException,跟踪了一下发现一直调用的服务器端的File,单怪notFound呢。 之后修改了一下,客户端实例化File之后传递给服务端File的属性(Name,size,content)等,主要就是content这处理,之前用的inputStream形式,发现还是不够基本类型化,最后干脆传递了byte[]。
byte[] 转换成stream:
ByteArrayInputStream stream = new ByteArrayInputStream(bytes);
stream转换byte[]:
FileInputStream fis = new FileInputStream(file); byte[] b = new byte[fis.available()]; fis.read(b); return b;