首页 > 学院 > 开发设计 > 正文

使用JDK开发WebService-服务器端建立

2019-11-06 09:29:09
字体:
来源:转载
供稿:网友

一、引言

开发一个WebService主要涉及到两个方面,客户端的开发和服务器端的开发。下面介绍WebService服务器端和客户端使用JDK的实现方式。

二、开发手段

使用JDK(1.6以上版本)开发

MyEclipes或eclipse开发工具(我使用的是MyEclipse10)

三、开发服务器端

创建一个Web Service PRoject后,首先我们需要创建一个WebService的终端接口-SEI(WebService EndPoint Interface)

这里,我们用到两个注解

        ·@WebService

        ·@@WebMethod

package com.gpj.service;import javax.jws.WebMethod;import javax.jws.WebService;/* * SEI */@WebServicepublic interface HelloService {	@WebMethod	public String sayHello(String name);}定义完接口,接下来创建一个实现类来实现我们写的SEI

生成的类同样需要加上@WebService注解,因为只是为了实现功能,就打印一个输出就可以了。

package com.gpj.service;import javax.jws.WebService;/* * SEI的实现 */@WebServicepublic class HelloServiceImpl implements HelloService {	@Override	public String sayHello(String name) {		System.out.println("service sayHello()" +name);		return "Hello "+name;	}}开发一个服务器端,我们的目的是为了使客户端能够访问。所以,我们需要把我们写好的服务器端暴露出来。接下来,需要做的就是把服务器发布出去。

四、发布服务器端

创建一个包,并创建一个测试类

这时,我们需要用到一个类“Endpoint”,相当于一个工具类,用于发布我们的服务器端。里面有个静态方法publish。发布需要用的就是这个方法。

public static Endpoint publish(String address, Object implementor) {        return Provider.provider().createAndPublishEndpoint(address, implementor);    }

这个方法需要传入两个参数

·address-本地的服务地址

·implementor-提供服务的类

创建一个main()方法,代码如下

package com.gpj.service.endpoint;import javax.xml.ws.Endpoint;import com.gpj.service.HelloServiceImpl;public class ServiceTest {	public static void main(String[] args) {		String address="http://localhost:8080/service/HelloService";		Endpoint.publish(address, new HelloServiceImpl());		System.out.println("JDKservice发布成功");	}}

运行mian()方法,控制台有打印“JDKservice发布成功”,并显示终止按键,说明服务器已经运行起来了。

五、使用eclipse自带的Web Service浏览器访问

每一个WebService都有一个wsdl文档,我们通过浏览器就可以访问。打开浏览器输入这个地址http://localhost:8080/service/HelloService?wsdl这个地址是我们实现类里面Endpoint.publish的adress后面再加上“?wsdl”,例如我发布的adress是http://localhost:8080/service/HelloService 访问的地址就是http://localhost:8080/service/HelloService?wsdl如果能访问到这个页面,说明确实是发布成功了,但是到底能不能实现我们服务器写的功能呢?接下来使用eclipse自带Web Service浏览器①,我们可以借助这个功能去访问http://localhost:8080/service/HelloService?wsdleclipse的Web Service浏览器 相当于写了一些客户端代码,它会解析wsdl文档。访问成功后,点开我们的项目,会看到写的sayHello方法。点击这个方法Body里面有个add按钮,然后随意输点字符串,继续点击go,接下来看控制台,如果控制台打印了sayHello方法的输出信息。说明服务器端开发完成把下面的Status拉开,会看到返回信息,点击Source这里会看到我们提交的数据和接收到的数据,目前我们是通过eclipes自带的Web Service浏览器请求的数据,我们的最终目的是创建客户端的编码的方式来访问,大体先了解发送和接收数据的格式,下篇我们来创建客户端。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表