java6 自带的web服务类 JAX-WS 使用方式(简单实列):
先了解几个命令在cmd下运行
1、把实现类生成class文件命令
wsimport -s src -p xiang http://192.168.7.122:9527/services/GetFiles?wsdl
-s后面的是 源码目录
-p后面的是生成的class存放在哪个文件夹下面
2、打jar包命令:jar cvf jar名称.jar 哪个目录下的class文件需要打包
3、启动可运行的jar包命令 java -jar jar包名(需要切换到jar包目录)
步骤1
编写服务端代码如图:
注意:1类上面必须添加:@WebService
2、main方法中是发布服务 services是固定的 GetFiles这名字随便取
3、代码编写完后运行mian方法
4、测试 浏览器里 输入http://192.168.0.105:9527/services/GetFiles?wsdl 如果返回xml文件表示服务发布成功!如下图:
步骤2:
比如我要把工程D:\Project_XiangAndroid4.3.0\testWs\src目录下的类生成class文件存放在d:\a\xiang下面:
wsimport -s D:\Project_XiangAndroid4.3.0\testWs\src -p xianghttp://192.168.0.105:9527/services/GetFiles?wsdl
必须先运行main方法
步骤3:
生成class文件后把xiang目录下的class打包成jar包
jar cvf testWS.jar xiang
打好jar包后放到相应的工程里就可以调用了
步骤4:
这时候还要准备服务端可运行的jar包(Eclipse为列 右键项目名-->选择导出-->选择可运行的jar文件)
客服端代码测试
步骤1:
把打包出来的那个可运行的jar文件 在cmd 命令中运行 把服务器发布出去。
比如我的 放在d盘下名称为testWS.jar
命令为: java -jar testWS.jar
运行完后 同样在浏览器输入http://192.168.0.105:9527/services/GetFiles?wsdl可以返回xml文件,服务端发布成功!
步骤2:
客服端编写代码,主要代码:
ServersImplService s = new ServersImplService();
ServersImpl ss = s.getServersImplPort();
如果需要传递对象(两种方式)
1、在对象类上添加
//@XmlRootElement(name="FileInfo")
//@XmlAccessorType(XmlAccessType.FIELD)
//@XmlType(propOrder={"fileName","fileSize","fileTime"})
2、把对象类序列化就可以了(implements Serializable)
public class FileInfo implements Serializable{
private String fileName;
private String fileSize;
private String fileTime;
}
简单实列到此结束。