当前位置: 首页 > news >正文

MyEclipse开发WebService教程

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

. 创建一个 webService 工程。

2. 创建一个普通 Java 类

view plaincopy to clipboard

  1. package com.hmw.jaxws;

  2. /**

  3. * 提供 WebService 服务的测试类<br>

  4. * <b>注意:</b>该类必须有一个无参构造方法,否则无法使用 MyEclipse 的向导为此类创建 jax-ws 的 webService 服务端类<br>

  5. * <b>创建日期</b>:2011-1-17

  6. * @author <a href="mailto:hemingwang0902@126.com" mce_href="mailto:hemingwang0902@126.com">何明旺</a>

  7. */

  8. public class HelloJaxws {

  9. public String sayHello(String userName) {

  10. return userName + ",您好,这是我的第一个 jax-ws 程序。";

  11. }

  12. public int add(int i, int j) {

  13. return i + j;

  14. }

  15. }

[java] view plaincopy

  1. package com.hmw.jaxws;    

  2. /**  

  3.  * 提供 WebService 服务的测试类<br>  

  4.  * <b>注意:</b>该类必须有一个无参构造方法,否则无法使用 MyEclipse 的向导为此类创建 jax-ws 的 webService 服务端类<br>  

  5.  * <b>创建日期</b>:2011-1-17  

  6.  * @author <a href="mailto:hemingwang0902@126.com" mce_href="mailto:hemingwang0902@126.com">何明旺</a>  

  7.  */    

  8. public class HelloJaxws {    

  9.     public String sayHello(String userName) {    

  10.         return userName + ",您好,这是我的第一个 jax-ws 程序。";    

  11.     }    

  12.     public int add(int i, int j) {    

  13.         return i + j;    

  14.     }    

  15. }    


3. 创建 webService 服务端

HelloJaxwsDelegate.java 的源代码如下:

view plaincopy to clipboard

  1. package com.hmw.jaxws;

  2. @javax.jws.WebService(targetNamespace = "http://jaxws.hmw.com/", serviceName ="HelloJaxwsService", portName = "HelloJaxwsPort", wsdlLocation = "WEB-INF/wsdl/HelloJaxwsService.wsdl")

  3. public class HelloJaxwsDelegate {

  4. com.hmw.jaxws.HelloJaxws helloJaxws = new com.hmw.jaxws.HelloJaxws();

  5. public String sayHello(String userName) {

  6. return helloJaxws.sayHello(userName);

  7. }

  8. public int add(int i, int j) {

  9. return helloJaxws.add(i, j);

  10. }

  11. }

[java] view plaincopy

  1. package com.hmw.jaxws;    

  2. @javax.jws.WebService(targetNamespace = "http://jaxws.hmw.com/", serviceName = "HelloJaxwsService", portName = "HelloJaxwsPort", wsdlLocation = "WEB-INF/wsdl/HelloJaxwsService.wsdl")    

  3. public class HelloJaxwsDelegate {    

  4.     com.hmw.jaxws.HelloJaxws helloJaxws = new com.hmw.jaxws.HelloJaxws();    

  5.     public String sayHello(String userName) {    

  6.         return helloJaxws.sayHello(userName);    

  7.     }    

  8.     public int add(int i, int j) {    

  9.         return helloJaxws.add(i, j);    

  10.     }    

  11. }   

4. 导入相关的 jar 包,并将项目布署到 tomcat,启动 tomcat.

整个项目的目录结构如下图所示:

5. 创建 webService 客户端项目(普通 Java 项目)。

6. 创建客户端相关调用类

7. 创建测试类

测试类 ClientTest.java 的代码如下:

view plaincopy to clipboard

  1. package com.hmw.client.jaxws;

  2. public class ClientTest {

  3. public static void main(String[] args) {

  4. HelloJaxwsDelegate service = new HelloJaxwsService().getHelloJaxwsPort();

  5. System.out.println(service.sayHello("hemingwang"));

  6. System.out.println("result is: " + service.add(12));

  7. }

  8. }

[java] view plaincopy

  1. package com.hmw.client.jaxws;    

  2. public class ClientTest {    

  3.     public static void main(String[] args) {    

  4.         HelloJaxwsDelegate service = new HelloJaxwsService().getHelloJaxwsPort();    

  5.             System.out.println(service.sayHello("hemingwang"));    

  6.             System.out.println("result is: " + service.add(12));    

  7.         }    

  8.     }    


整个项目的目录结构如下图所示:

8. 运行测试类

运行结果如下图所示:


转载于:https://my.oschina.net/u/1866821/blog/312909

相关文章:

  • noi 2989 糖果
  • 微软Hyper-v管理——迁移虚拟(奇葩问题)
  • [Android Pro] listView和GridView的item设置的高度和宽度不起作用
  • 每天学点数据结构与算法
  • Zabbix服务器监控系统部署之自定义监控项的添加及配置(二)
  • PYTHON 黑帽编程 1.5 使用 WIRESHARK 练习网络协议分析
  • Javascript 函数节流
  • 利用python做数据分析(六)-reindex
  • GitHub 小试
  • Actor模式的弊端
  • 广告
  • 自学的IT程序员通常缺少哪些技能
  • IOS中获取各种文件的目录路径的方法
  • 怎么样抢注新域名
  • 北京实习面试总结,四天面试6个公司,有所收获。
  • Cookie 在前端中的实践
  • download使用浅析
  • flutter的key在widget list的作用以及必要性
  • Java的Interrupt与线程中断
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • python 学习笔记 - Queue Pipes,进程间通讯
  • TiDB 源码阅读系列文章(十)Chunk 和执行框架简介
  • windows下如何用phpstorm同步测试服务器
  • 闭包--闭包之tab栏切换(四)
  • 关于extract.autodesk.io的一些说明
  • 老板让我十分钟上手nx-admin
  • 区块链共识机制优缺点对比都是什么
  • 验证码识别技术——15分钟带你突破各种复杂不定长验证码
  • - 转 Ext2.0 form使用实例
  • 通过调用文摘列表API获取文摘
  • #我与Java虚拟机的故事#连载15:完整阅读的第一本技术书籍
  • (2021|NIPS,扩散,无条件分数估计,条件分数估计)无分类器引导扩散
  • (html转换)StringEscapeUtils类的转义与反转义方法
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (PWM呼吸灯)合泰开发板HT66F2390-----点灯大师
  • (翻译)Entity Framework技巧系列之七 - Tip 26 – 28
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (附源码)计算机毕业设计ssm-Java网名推荐系统
  • (三)uboot源码分析
  • (十二)python网络爬虫(理论+实战)——实战:使用BeautfulSoup解析baidu热搜新闻数据
  • (已解决)vue+element-ui实现个人中心,仿照原神
  • (中等) HDU 4370 0 or 1,建模+Dijkstra。
  • .net core 6 redis操作类
  • .NET DataGridView数据绑定说明
  • .net 使用ajax控件后如何调用前端脚本
  • .NET 中使用 Mutex 进行跨越进程边界的同步
  • .NET4.0并行计算技术基础(1)
  • .Net调用Java编写的WebServices返回值为Null的解决方法(SoapUI工具测试有返回值)
  • .NET企业级应用架构设计系列之应用服务器
  • .net中调用windows performance记录性能信息
  • @autowired注解作用_Spring Boot进阶教程——注解大全(建议收藏!)
  • @data注解_一枚 架构师 也不会用的Lombok注解,相见恨晚
  • [2018-01-08] Python强化周的第一天
  • [AIR] NativeExtension在IOS下的开发实例 --- IOS项目的创建 (一)
  • [android] 手机卫士黑名单功能(ListView优化)