WebService学习总结二 使用JDK开发WebService
2016-07-02 19:58
399 查看
一 服务器端:包括要发布的接口SEI,接口实现类和接口的发布类
1 SEI接口:使用@WebService和@WebMethod两个注解,一个加在接口上一个加在方法上。
2 SEI实现:使用@WebService,加在实现类上。
3 服务发布类:在main方法里使用 Endpoint.publish(发布路径, 接口实现类)进行发布;
二 测试发布的接口:使用浏览器访问 发布路径?wdl,如果看到WebService定义的文档即成功。
三 客户端:使用jdk的 wsimport生成代码,首先进入客户端项目的src目录中(生成客户端代码的位置,默认和Server端的包相同),执行 wsimport -keep 发布的路径?wsdl,最后刷新src就可以看到生成的客户端代码了。 比如客户端项目的src目录是:D:\java\workspace\P2\src ,在命令行执行 d: 回车,cd D:\java\workspace\P2\src 回车,
wsimport -keep 发布的路径?wsdl
代码:
服务端
客户端
首先生成代码
/WSC/src/com/ws/se/HelloServerImpl.java
/WSC/src/com/ws/se/HelloServerImplService.java
/WSC/src/com/ws/se/ObjectFactory.java
/WSC/src/com/ws/se/package-info.java
/WSC/src/com/ws/se/SayHello.java
/WSC/src/com/ws/se/SayHelloResponse.java;
1 SEI接口:使用@WebService和@WebMethod两个注解,一个加在接口上一个加在方法上。
2 SEI实现:使用@WebService,加在实现类上。
3 服务发布类:在main方法里使用 Endpoint.publish(发布路径, 接口实现类)进行发布;
二 测试发布的接口:使用浏览器访问 发布路径?wdl,如果看到WebService定义的文档即成功。
三 客户端:使用jdk的 wsimport生成代码,首先进入客户端项目的src目录中(生成客户端代码的位置,默认和Server端的包相同),执行 wsimport -keep 发布的路径?wsdl,最后刷新src就可以看到生成的客户端代码了。 比如客户端项目的src目录是:D:\java\workspace\P2\src ,在命令行执行 d: 回车,cd D:\java\workspace\P2\src 回车,
wsimport -keep 发布的路径?wsdl
代码:
服务端
package com.ws.se; import javax.jws.WebMethod; import javax.jws.WebService; /* * SEI WebService服务端接口 */ @WebService public interface HelloServer { @WebMethod public String sayHello(String str); }
package com.ws.se; import javax.jws.WebService; /* * SEI实现类 WebService服务实现类 */ @WebService public class HelloServerImpl implements HelloServer { @Override public String sayHello(String str) { System.out.println("Server收到消息:"+str); return "这是来自Server的响应"; } }
package com.ws.se; import javax.xml.ws.Endpoint; /* * 发布WebService */ public class ServerPublish { public static void main(String[] args) { String address="http://192.168.1.101:8988/WSS/HelloServer"; Endpoint.publish(address, new HelloServerImpl()); System.out.println("Server 发布成功"); } }
客户端
首先生成代码
/WSC/src/com/ws/se/HelloServerImpl.java
/WSC/src/com/ws/se/HelloServerImplService.java
/WSC/src/com/ws/se/ObjectFactory.java
/WSC/src/com/ws/se/package-info.java
/WSC/src/com/ws/se/SayHello.java
/WSC/src/com/ws/se/SayHelloResponse.java;
package com.ws.test; import com.ws.se.HelloServerImpl; import com.ws.se.HelloServerImplService; /* * 测试WebService客户端代码 */ public class TestClient { public static void main(String[] args) { HelloServerImplService factory=new HelloServerImplService();//产生Server端发布接口的工厂 HelloServerImpl hsi=factory.getHelloServerImplPort(); //获取Server端发布接口的代理 String res=hsi.sayHello("Tom");//获取服务端的响应 System.out.println(res); } }
相关文章推荐
- Eclipse在线安装Maven插件m2e
- Struts2项目中的web.xml文件的配置问题入门
- [leetcode-365]Water and Jug Problem(java)
- 关于java堆内存溢出的几种情况
- kwic--Java统计单词个数并按照顺序输出
- 【转】Spring中事务与aop的先后顺序问题
- java设计模式之模板设计模式
- Java HotSpot(TM) Server VM warning: Insufficient space for shared memory file: /tmp/hsperfdata_ch
- Spring MVC @SessionAttributes注解
- 关于Java Servlet Session的一些不可不知的知识
- java继承
- HashMap和HashSet解析
- java多线程解决同步问题的几种方式、原理和代码
- 蚁群算法(Java)tsp问题
- Java HashMap工作原理及实现
- Java ExecutorService 的几种线程池比较
- Spring MVC 向页面传值-Map、Model和ModelMap
- Java反射获取类和对象信息全解析
- java String类用法
- Intellij IDEA 外部项目导入