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

搭建WebService简易框架示例

举一个Calculator计算器的示例:

1.右击新建一个Web Service Project项目,命名为WebServiceProjectServer,随便命名;

2.选中项目右击,选择Build Path->configure Build Path->弹出的对话框中选择Libraries选项卡->点击右边add Library->选择Myeclipse Libraries,点击next

选中JAX-WS Runtime Libraries和JAX-WS API Libraries,然后点击finish->点击OK,这就为我们的Web Service 项目条件了Web Service支持;

3.在src下面新建一个包"com.gongsi.service",然后在下面建一个类Calculator代码如下:

package com.jbit.service;
/*** 提供服务的类*/
public class Calculator {//加法public int add( int num1,int num2){return num1+num2;} //减法public int sub( int num1,int num2){return num1-num2;} //除法public double div( int num1,int num2){return num1/(double)num2;} //乘法public int mult( int num1,int num2){return num1*num2;} 
}


4.右击项目,选择new->others->新建Web Service->点击next->在Strategy单选中,选择第二个Create WebService from Java Class(Bottorm -up scenario)点击next->点击Browse

->查找选择你的类Calculator点击OK,点击finish;这就建好了一个Web Service 服务器端;

5.接下来就把你的Web Service项目部署到Tomcat上,并启动它,这时在Web.xml中会有相应的Servlet配置生成,有相应的Servlet的<url-pattern>生成里面是CalculatorPort记住它,访问http://localhost:8080/WebServiceProjectServer/CalculatorPort地址,然后出现一个表格,复制下Information下面的WSDL的值,http://localhost:8080/WebServiceProjectServer/CalculatorPort?wsdl,因为下面会用到;

6.以上是建立一个WebService 服务器端,接下来我们再建立客户端连接它,注意这时候我们不要关闭tomcat服务,否则连接不上;

7.右击新建一个JavaProject,命名为WebServiceProjectClient,随便命名;

添加WebService支持,操作步骤与步骤2相同;

8.添加完支持后,在src下面新建一个包,"com.gongsi.client";

9.右击项目,选择new->others->新建Web Service Client 点击Next,然后继续点击Next,把上面复制的http://localhost:8080/WebServiceProjectServer/CalculatorPort?wsdl复制到

WSDL URL上,在Java Package里点击Browse,选择你要生成相应的文件到指定的包下面,这里我们选择“com.gongsi.client”,然后点击OK,点击Next,这时候,该客户端项目就会连接WebServiceProjectServer 这个项目了,点击finish,就生成相关的服务器端项目Calculator的代理类了;

10.这时候我们新建一个测试包类,包名为"com.gongsi.test",并且在包下建一个测试类Test,代码如下:

 

 

package com.gongsi.test;

import com.gongsi.client.CalculatorDelegate;
import com.gongsi.client.CalculatorService;

public class Test {
 public static void main(String[] args) {
  CalculatorService cs = new  CalculatorService();
  //由服务器创建代理对象
  CalculatorDelegate delegate = cs.getCalculatorPort();
  int result = delegate.add(3, 5);
  System.out.println("3+5="+result);
  
 }
}

就可以操作我们服务端项目WebServiceProjectServer项目的相关代码了,因为我们已经在"com.gongsi.client"生成了相关的代理类等相关类文件了,其中的CalculatorService和

CalculatorDelegate就是我们的包下面的类;

 

注意的是:http://localhost:8080/WebServiceProjectServer/CalculatorPort?wsdl的"localhost"可以换成其他电脑或服务器的IP地址,这样就实现了可以在不同电脑上利用服务器端的类做调用了,但是如果服务器端的代码做改动,要重新部署下服务器端的项目,才能利用新改动的项目代码;

http://www.lryc.cn/news/2418777.html

相关文章:

  • MFC开发之设置菜单项为不可用(ListControl右键菜单其中某项不可用)
  • 锐捷 重启计算机,win7系统锐捷客户端总是提示重启计算机后才能使用的解决方法...
  • Motorola XOOM平板电脑(wingray)刷机方法
  • root了有什么好,手机root好嘛
  • 关于依赖服务或组无法启动解决方案解析
  • 深入探讨 C# 中 [AjaxPro.AjaxMethod] 的使用与优化
  • Git:Commit Message 规范和代码格式校验
  • PPP 和PPPOE协议介绍
  • 基于SSM的家电售后服务+96446(免费领源码)可做计算机毕业设计JAVA、PHP、爬虫、APP、小程序、C#、C++、python、数据可视化、大数据、全套文案
  • [幽默笑话]超漂亮的美女 任你点 [超级好玩](转载)
  • 头的大小是天生的吗_读《狼道》,跟着头狼做强者
  • EgreWing序列帧动画的几种实现思考
  • RabbitMQ入门(五) —— vhost
  • 为什么一些程序频繁发生GC 【转】
  • 如何将经度范围在0至360的栅格数据转换为经度范围为-180至+180
  • 数据库基础知识(总结+摘抄)
  • 前国际货币基金组织(IMF)高级经济学家Andy Jobst将担任Roxe首席货币经济学家
  • ALaN一键压枪脚本【FPS通用】For CS1.5
  • 在VB.Net中创建使用控件数组
  • 在win10里更改启动项、误删分区表恢复,Diskgenius这个软件真的很强大。
  • Socket/TCP/UDP
  • U盘文件夹乱码无法删除的原因及解决方案
  • 小故事大哲理之八
  • 探索宇宙新前沿,星际加油站与你不见不散
  • linux为什么不怕病毒
  • Linux学习(一)Ubuntu20.04 LTS (Focal Fossa)以及 Anaconda CUDA CuDNN PyTorch VisualStudioCode 的安装
  • 数据库开发技术第一次作业aaa
  • 点亮数字人生( 202009-3/CCF)———附带思路和完整代码(邻接表、邻接矩阵)
  • 详细说明vue组件中 data ,computed 和 watch的区别
  • JVM参数类型及常用参数