WebService简单实例

来源:互联网 发布:jenkins php svn 编辑:程序博客网 时间:2024/06/08 09:19

前言解读:

Web Serice是一种web服务将应用程序通过HTTP的方式接收、响应外部系统的请求,实现远程调用。标准的WebService数据格式上使用SOAP(简单对象访问协议),它是基于XML用于交换编码的协议,可以把它看做是对XML的一种“封装”,WebService实现不同系统不同平台和不同软件间相互传递。

WebService的发布

本例所用工具:

 eclipse;

 jdk1.6以上版本;

     一、创建第一个WebService服务

       1.新建java工程名为webservice

 2.在webservice下新建com.tf.service包,在包下新建HelloService类,代码如下:


package com.tf.service;

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

//通过解析,标示此类为一个WebService
@WebService
public class HelloService {
public String getInfo(String name){
return "Hello:"+name;
}
public static void main(String[] args){
//使用javax.xml.ws.Endpoint端点发布应用,其值包括两个参数(url,Object)
Endpoint.publish("http://localhost:9010/Service/HelloService", new HelloService());
}
}

注:编译完不会看到什么,因为还没有任何输出。端口可以任意,但不能选择已经被占用的,你可以到命令窗口输入命令:netstat -ano查看

3.网页测试

测试地址:

      http://localhost:9091/Service/ServiceHello?wsdl(Service为固定的,ServiceHello为类名,?wsdl为固定的页面)如图:
    二、创建客户端
1.新建java工程,名为webclient,然后新建名为com.tf.client包
2.到命令提示窗口生成客户端
命令格式:wsimport -s "src目录" -p “生成类所在包名” -keep “wsdl发布地址”
比如本实例:wsimport -s E:\JAVA\练习2\webclient\src http://localhost:9010/Service/HelloService?wsdl
如果无法编译运行,那么到Java\jdk1.8.0_73\bin启动wsimport.exe,然后到命令提示窗口再次输入,结果如下图:
提示一下:无论服务器用哪种语言,在客户端生成相应的java类。刷新webclient类检查一下。
    三:编写测试类
在webclient包下新建Client类,如下图:
package com.tf.client;/** * 通过调用生成的类调用远程代码 * @author MR.zhang * @date 2017-4-20 */public class Client {public static void main(String[] args){//从HelloServiceService的getHelloServicePort()方法返回调用接口HelloService hello = new HelloServiceService().getHelloServicePort();//执行调用String name = hello.getInfo("David");//返回字符串System.out.println(name);}}
自此,一个简单入门的webservice实例便完成了,但这也只不过是入门的,还需随问题的复杂而变化。

1 0
原创粉丝点击