搭建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地址,这样就实现了可以在不同电脑上利用服务器端的类做调用了,但是如果服务器端的代码做改动,要重新部署下服务器端的项目,才能利用新改动的项目代码

相关文章

1.使用ajax调用varxhr;functioninvoke(){if(window.ActiveXO...
               好不容易把WebService服务器...
1新建一个工程项目用来做服务端增加一个MyService1类文件pac...
packagecom.transsion.util;importjava.io.BufferedReader;i...
再生产wsdl文件时重写描述文件1usingSystem;2usingSystem.Co...
一般情况下,使用eclipse自带的jax-ws生成webservice会自动生...