jax-ws 文件下载
发布时间:2020-12-16 22:44:57 所属栏目:安全 来源:网络整理
导读:1.新建接口:FileServer import javax.activation.DataHandler;import javax.jws.WebMethod;import javax.jws.WebService;import javax.jws.soap.SOAPBinding;import javax.jws.soap.SOAPBinding.Style;/** * * @author Administrator TODO */@WebService@SOA
1.新建接口:FileServer import javax.activation.DataHandler; import javax.jws.WebMethod; import javax.jws.WebService; import javax.jws.soap.SOAPBinding; import javax.jws.soap.SOAPBinding.Style; /** * * @author Administrator TODO */ @WebService @SOAPBinding(style = Style.RPC) public interface FileServer { // download a File from server @WebMethod public DataHandler downloadFile(String fileName); } 2.实现类: package com.it.filedown; import javax.activation.DataHandler; import javax.activation.FileDataSource; import javax.jws.WebService; import javax.xml.ws.soap.MTOM; /** * * @author Administrator TODO */ @MTOM @WebService(endpointInterface = "com.it.filedown.FileServer") public class FileServerImpl implements FileServer { public DataHandler downloadFile(String fileName) { FileDataSource dataSource = new FileDataSource("c:/test/"+fileName); DataHandler fileDataHandler = new DataHandler(dataSource); return fileDataHandler; } } 4.发布类:FileDownServerPublisher package com.it.filedown; import javax.xml.ws.Endpoint; /** * * @author Administrator TODO */ public class FileDownServerPublisher { public static void main(String[] args) { // 第一个参数是发布的URL // 第二个参数是SIB实现 Endpoint.publish("http://127.0.0.1:10101/filedown",new FileServerImpl()); } } 3.打开cmd命令窗口切换到空白目录,输入:wsimport -keep http://localhost:10101/filedown?wsdl 4.复制生成的类到客户端的javaproject新建一个client类: package com.it.client; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; import javax.xml.namespace.QName; import javax.xml.ws.Service; import com.it.filedown.FileServer; /** * * @author Administrator TODO */ public class FileDownClient { public static void main(String[] args) { try { URL url = new URL("http://localhost:10101/filedown?wsdl"); QName qname = new QName("http://filedown.it.com/","FileServerImplService"); Service service = Service.create(url,qname); FileServer fileServer = service.getPort(FileServer.class); byte[] bytes = fileServer.downloadFile("123.txt"); FileOutputStream outputStream = new FileOutputStream("E:/test.txt"); outputStream.write(bytes); outputStream.flush(); outputStream.close(); System.out.println(" Download Successful!"); } catch (MalformedURLException e) { e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }5.运行服务的FileDownServerPublisher类然后运行FileDownClient? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |