不再集成spring,只需ifire即可。
思路是把上传文件转换成流,然后通过传byte[]来实现附件的上传.
在附件上传之前,需要鉴权,
soap方式鉴权。
功能看附件代码,可直接运行。
部分代码:
服务端:
public UserInfo editNews(NewsInfo info, List<UploadFileInfo> fileList) {
if(fileList==null||fileList.size()<1){
}else{
for(UploadFileInfo uploadFileInfo:fileList){
// 这里调用文件处理类来保存文件
FileUtil.byteToFile(uploadFileInfo.getBytes(), "D:/log", uploadFileInfo.getFileName());
}
}
System.out.println(""+info.getNewsTitle());
System.out.println(""+info.getNewsUrl());
System.out.println(""+info.getNewsText());
UserInfo u = new UserInfo();
u.setName(info.getNewsTitle()+","+info.getNewsUrl());
u.setNum(222);
return u;
}
//
客户端代码:
public void uploadFile() throws IOException{
String url="http://localhost:8080/x1/services/HelloWord";
Service serviceModel = new ObjectServiceFactory().create(HelloWorldS.class);
HelloWorldS service = (HelloWorldS) new XFireProxyFactory().create(serviceModel,url);
XFireProxy proxy = (XFireProxy)Proxy.getInvocationHandler(service);
Client client = proxy.getClient();
client.addOutHandler(new ClientAuthenticationHandler("abcd","1234"));//鉴权用户名和密码
List<UploadFileInfo> fileList = new ArrayList<UploadFileInfo>();
File file = new File("D:/my");
File[] files = file.listFiles();
for(File f:files){
if(f.isFile()){
byte[] bytes =FileUtil.getBytesFromFile(f);
UploadFileInfo uplpadFileInfo = new UploadFileInfo();
uplpadFileInfo.setBytes(bytes);
uplpadFileInfo.setFileName(f.getName());
fileList.add(uplpadFileInfo);
}
}
NewsInfo newsInfo = new NewsInfo();
newsInfo.setNewsTitle("newsTitle");
newsInfo.setNewsUrl("newsUrl");
newsInfo.setNewsText("newsText");
UserInfo userInfo = service.editNews(newsInfo, fileList);
System.out.print(userInfo.getName()+","+userInfo.getNum());
}
分享到:
相关推荐
spring集成xfire webservice实现远程调用 将项目发布后,点击http://localhost:8080/SpringWebServiceTest/services/HelloWS?wsdl即可 其中也有客户端的调用,自己试试吧。
xfire webservice 上传下载源码 一个完整的demo
xfire实现webservice实例,XFire WebService开发快速起步
xfire的一个完整实例,不过我建议大家,学习完理论知识后,根据自己学得知识,手动练习一下,遇到异常就百度,一下,这样比较好!
spring和xfire集成的时候修要的jar文件,spring需要的jar文件自己另行下载。.
spring+xfire( 编写webservice完整配置+案例)
Spring+xFire实现webService
grails+Xfire webservice
XFire WebService 精简包 搭建XFire WebService必备包
本文详细介绍了利用xfire组件实现webservice的服务端和客户端实例,适合入门参考和使用!
经本人仔细研究最少导入8个包,就可以做一个简单的webservice的应用,有不同意见着,欢迎讨论:站内留言
XFire Webservice 服务器端
一个基于xfire开发的Webservice小例子,初学者可以看看!
xfire webservice wsdl 文件中字段名称变化
Xfire Webservice的例子,简单易懂~ 发布服务和调用都很简单~ 自己整理了下~ 没事的拿去看下就知道啦~
XFire建立Webservice实例,入门级别,适XFire建立Webservice实例,入门级别,XFire建立Webservice实例,入门级别,适合初学者适合初学者合初学者
用XFire开发WebService Spring注解
初学xfire webservice使用
xFire WebService 实例开发