JDK6下开发WebService

系统 1668 0
 周末闲来无事,在家中复习了一下JDK6下开发WebService的知识,为了加强印象,特此记录。
一、        样例 开发环境
Java6 开始, JDK 中已经支持用 Java 开发 WebService 应用了,不必选用第三方包。
软件及其版本
JDK1.6.0_25
Eclipse3.4.2 JavaEE
  二、        样例工程结构
(1)服务端com.ws.server (手工编写)
(2) 客户端 com.ws.client (自动生成)
(3) 客户端调用 com.ws.client.test (手工编写)。
 三        样例开发过程
1、新建Dynamic Web Project
2、编写服务代码
        package com.ws.server;
import javax.jws.WebService;
@WebService
public class HelloService {
	public String sayHello(String username) {
		return "hello," + username + "! This is HelloService!";
	}
}
      
3、发布服务,在本例中使用Servlet发布服务
          package com.ws.server;
import java.io.IOException;
import java.io.Writer;
import javax.servlet.GenericServlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.xml.ws.Endpoint;
public class HelloServicePublisher extends GenericServlet {

	@Override
	public void init(ServletConfig config) throws ServletException {
		super.init(config);
		System.out
				.println("准备启动WebService-->http://192.168.1.103:8088/WS_Java6/HelloService");
		// 发布一个WebService
		Endpoint.publish("http://192.168.1.103:8088/WS_Java6/HelloService",
				new HelloService());
		System.out
				.println("成功启动WebService-->http://192.168.1.103:8088/WS_Java6/HelloService");

	}
	public void service(ServletRequest request, ServletResponse response)
			throws ServletException, IOException {
		response.setCharacterEncoding("GBK");
		Writer wr = response.getWriter();
		wr
				.write("<a href='http://192.168.1.103:8088/WS_Java6/HelloService?WSDL'>点击访问WSDL</a>");
		wr.close();
	}
}

        
4、生成客户端
Java6 提供了生成 WebService 客户端代码的工具wsimport.exe,只需在命令行输入一句简单的命令就可以生成客户端代码。需要 注意的是,在生成客户端前前需要先启动服务端。如果已经在启动,就不需要重新启动。
-p参数指定生成的代码所要放置的包
在生成的客户端中有一个java文件的名字是由服务端的类名加上一个Service组成的,这个xxxService我们可以把它看做是 WebService 的一个代理类,在客户端我们通过这个代理类来调用服务。
5、编写客户端调用服务的代码
          package com.ws.client.test;
import com.ws.client.HelloService;
import com.ws.client.HelloServiceService;
public class ClientTest {
	public static void main(String[] args) {
		// 创建一个客户端服务对象
		HelloService helloService = new HelloServiceService()
				.getHelloServicePort();
		// 调用服务方法,并得到方法返回值
		String returnContent = helloService.sayHello("张三");
		// 打印服务的返回值
		System.out.println(returnContent);
	}
}
        
6、运行测试代码
  
 

JDK6下开发WebService


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论