WebService入门实例教程

本文介绍WebService的基础概念及其实现方法,包括跨平台与跨语言调用的特点。通过JDK演示WebService服务端与客户端的具体开发过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是WebService

 

通过使用WebService,您的应用程序可以向全世界发布信息,或提供某项功能,它是基于Web的服务,通过Web进行发布、查找和使用。

WebService脚本平台需支持XML+HTTP。

HTTP协议是最常用的因特网协议。

XML提供了一种可用于不同的平台和编程语言之间的语言。

 

为什么要使用WebService

 

最重要的事情是协同工作。

1.跨平台调用(WebService不局限于操作系统,你可以在Windows上调用linux上的WebService服务,反之亦然,其他系统同理);

2.跨语言调用(WebService不局限于编程语言,你可以在Java语言中调用C#语言提供的WebService服务,反之亦然,其他语言同理);

3.可远程调用(通过使用WebService,您的应用程序可以向全世界发布信息,或提供某项功能,只要有Internet)。

 

使用JDK开发WebService

 

一.WebService服务端开发

1.创建服务端项目,项目可以是Java Web项目,也可以是普通的Java项目,例如:

2.在源代码目录src下面的包中新建一个java类用来提供WebService服务,我这里创建了一个Function类,通过javax.jws.WebService注解提供服务,通过javax.xml.ws.Endpoint类的publish方法来发布服务并提供发布的地址以及发布的服务类,代码如下:

 

package com.jspweb.ws;

import javax.jws.WebService;
import javax.xml.ws.Endpoint;

/**
 * WebService服务端案例
 * @author AlanLee
 * @version 2017/06/02
 * 使用@WebService注解标注实现类
 */
@WebService
public class Function {
    public String transWords(String words){
        String res = "";
        for(char ch : words.toCharArray()){
            res += ch+",";
        }
        return res;
    }
    
    public static void main(String[] args) {
        // 使用Endpoint(终端)类发布webservice
        Endpoint.publish("http://localhost:8089/service/function", new Function());
        System.out.println("Publish Success");
    }
}

 

3.启动main方法运行这个类,打印出结果Publish Success,表示服务发布成功:

4.打开浏览器,访问我们发布的地址,大家可以看到这样的效果:

 

 5.点击WSDL后面的连接地址便可以打开WSDL配置,访问结果如下:

WSDL 是基于 XML 的用于描述 Web Services 以及如何访问 Web Services 的语言。

 

二、WebService客户端开发

1.创建客户端项目,项目可以是Java Web项目,也可以是普通的Java项目,例如:

2.使用eclipse工具生成客户端代码,跟着图一步步操作:

①选中项目点击鼠标右键new>Other...:

②在Wizards框中输入web,选择Web Service Client,点击next按钮:

③输入WSDL服务描述文件的访问地址,点击next:

④点击Finish按钮,eclipse会自动帮我们在src目录下生成WebService客户端所需的代码:

⑤:生成的代码如下:

2.编写客户端测试类代码,我在同级目录下面写了一个测试类,并运行它的main方法,得到结果如下:

 

这样一个简单的WebService入门实例就完成了。

或者以ming命令方式加入亦可

关键的来了,打开cmd输入以下命令:wsimport -s src的路径 -p 完整包名 -keep webservice的发布地址 然后回车就OK了,  
比如说: wsimport -s F:\\WorkBench\\Eclipse\\GiveMeWords\\src  -p com.shu.service -keep http://localhost:9001/Service/Function  
(如果wsimport命令失效,请检查是否把jdk配入环境变量!JAVA_HOME:JDK所在位置,CLASSPATH:%JAVA_HOME%\lib\tools.jar)  
回车后,会出现:  
    parsing WSDL...  
    generating code...  
    compiling code...  
恭喜你,成功了,你可以刷新一下你的GiveMeWords项目后会在com.shu.service包下会有对应的WebService生成的文件!  
然后调用如下:  
public void static main(String[] args){  
    Function fu =new FunctionService().getFunctionPort();  
    String str=fu.transWords("Let's Get Heck Out Of Here!");  
    //最后str就是在Trans项目下的transWords方法处理后的字符串咯!  
}  
  
最后...怎么样,webservice不难吧,全靠jdk的升级呀!  

 

本文出自:https://www.cnblogs.com/AlanLee/archive/2017/06/02/6933073.html

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值