`
pengwei841221
  • 浏览: 72187 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

JDK1.6 - WebServices

阅读更多

Java6.0之后,JDK自带了一个轻量级的Web Service服务器。

 

因此,使用JDK自带的API,不必担心框架(Axis、Spring WS)升级、更新等系列问题。

 

开发步骤:

1、创建一个WebServer Project

 

package wei.peng.server;

import javax.jws.Oneway;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;

/**
 * @author WPeng
 * @time  2011-3-14 AM 12:03:33
 * @email pengwei841221@126.com
 */
@WebService(targetNamespace = "http://localhost:8888/WEIPENG", 
		serviceName = "HelloServices")
public class WSProvider {
	// 自定义该方法返回值在WSDL中相关的描述
	//@WebResult(name="Greetings")
	
	@WebMethod(action="sya",operationName="sayHi")
	// WebParam是自定义参数name在WSDL中相关描述
	public String sayHi(@WebParam(name="MyName") String name){
		return "Hi, " + name;
	}
	
	// 表明该服务方法是单向的,既没有返回值,也不应该什么检查异常
	@Oneway
	// 自定义方法在WSDL中相关描述
	@WebMethod(action="printSystemTime",operationName="printSystemTime")
	public void printTime(){
		System.out.println(System.currentTimeMillis());
	}
	
	public static void main(String args[]){
		Thread wsPublisher = new Thread(new WSPublisher());
		wsPublisher.start();
	}
	
	private static class WSPublisher implements Runnable{

		@Override
		public void run() {
			
			// 发布WSPublisher到http://localhost:8888/WEIPENG/HelloServices这个地址
			// 之前必须调用wsgen命令,生成服务类HelloServices的支持类,命令如下:
			// wsgen -cp . wei.peng.server.WSProvider
			Endpoint.publish("http://localhost:8888/WEIPENG/HelloServices", new WSProvider());
		}
		
	}
}

在服务器端运用 @WebService @WebMethod 等注释描述生成WSDL文件。

 

进入classes目录,运行

wsgen -cp ./bin -r ./wsdl -s ./src -d ./bin -wsdl wei.peng.server.WSProvider

执行之后会在WSDL文件夹中生成HelloServices的wsdl描述文件,

src文件夹中生成依赖类

bin生成依赖类的class文件

 

2、运行WSProvider

在浏览器打开 

http://localhost:8888/WEIPENG/HelloServices?wsdl

 

3、创建WebClient Project

wsimport -d ./bin -s ./src -p wei.peng.client http://localhost:8888/WEIPENG/HelloServices?wsdl

会在客户端的wei.peng.client目录下生成相关的辅助类文件(便于客户端的调用

共有七个文件:HelloServices.java 

                     ObjectFactory.java 

                     package-info.java 

                     PrintSystemTime.java

                     SayHi.java

                     SayHiResponse.java

                     WSProvider.java

 

4、编写客户端程序

package wei.peng.client.test;

import wei.peng.client.HelloServices;
import wei.peng.client.WSProvider;

public class TestClient {

	public static void main(String[] args) {
		
		HelloServices helloServices = new HelloServices();
		WSProvider wsProvider = helloServices.getWSProviderPort();
		System.out.println(wsProvider.sayHi("wei.peng"));
		wsProvider.printSystemTime();
	}

}
 

 5、运行TestClient

 

 

分享到:
评论

相关推荐

    JDK-1.6-Windows-64位 官方

    9. **Web服务支持**:Java 1.6加强了对Web服务的支持,包括JAX-WS(Java API for XML Web Services)和JAXB(Java Architecture for XML Binding)。 10. **国际化和本地化**:对多语言环境的支持更加完善,包括...

    JDK1.6支持WebService

    Java Development Kit (JDK) 1.6 是一个重要的Java平台版本,它引入了许多新特性以增强开发者的体验,其中包括对Web服务(Web Services)的全面支持。Web服务是一种通过互联网进行应用程序之间的通信方式,允许不同...

    JDK1.6中文API 网页版本

    JDK1.6对XML解析和Web服务的支持更加完善,如JAXB(Java Architecture for XML Binding)和JAX-WS(Java API for XML Web Services),简化了XML数据绑定和Web服务的开发。 **6. 其他增强** JDK1.6还包括了对IPv6...

    jdk1.6资源下载

    8. **Web服务支持**: 对JAX-WS(Java API for XML Web Services)的增强,简化了Web服务的开发和部署。 9. **JavaScript交互**: 通过Java Scripting API,Java 6允许Java程序与JavaScript脚本进行交互,促进了混合...

    解决JBoos5.0运行EJB3.0_WebServices跟jdk1.6的兼容问题用到的jar包

    在本案例中,我们关注的是JBoss 5.0版本与EJB 3.0以及Web Services的集成,特别是针对使用Java Development Kit (JDK) 1.6时可能出现的兼容性问题。以下是对这些关键概念的详细解释和解决方案: 1. **EJB 3.0**:...

    jdk1.6与jboss5.x冲突问题的解决方法

    标题中的“jdk1.6与jboss5.x冲突问题的解决方法”指的是在使用Java Development Kit(JDK)1.6版本与JBoss Application Server 5.x版本进行集成时可能出现的兼容性问题。JBoss AS是一款开源的企业级Java应用程序...

    CXF2.6.4配java1.6版完整包和使用说明

    2. **协议支持**:CXF支持多种Web服务协议,如JAX-WS(Java API for XML Web Services)和JAX-RS(Java API for RESTful Web Services)。这使得开发者可以灵活地选择适合项目需求的服务模型。 3. **绑定框架**:...

    jdk1.6_6u45

    标题"jdk1.6_6u45"指的是Java Development Kit (JDK) 的1.6版本的第6个更新,即更新45。JDK是Oracle公司提供的用于开发和运行Java应用程序的软件工具包,包含了Java编译器、调试器、JVM(Java虚拟机)等核心组件。 ...

    JDK1.6中文帮助文档三

    《JDK1.6中文帮助文档三》是Java开发者的重要参考资料,主要涵盖了JDK1.6版本中的各类API、工具及技术要点。这部分文档详细解释了Java开发工具集的使用方法,包括编译器、运行时环境、调试器以及各种实用工具。在JDK...

    jdk-6u43-windows-x64 64位

    6. **Web服务支持**:JDK 6加强了对Java EE和Web服务的支持,如Java API for RESTful Web Services (JAX-RS)的初步实现,使得开发RESTful服务更加便捷。 7. **脚本语言支持**:通过Java Scripting API,JDK 6可以...

    jdk1.6中文

    9. **Web服务支持**:增加了对Java API for RESTful Web Services (JAX-RS)的支持,简化了RESTful服务的开发。 10. **脚本语言支持**:通过JSR 223,JDK 1.6引入了对多种脚本语言(如JavaScript)的内置支持,提高...

    web服务开发 使用jdk6注解 注解分析

    在 JDK 1.6 版本中,注解的引入极大地简化了 Web 服务的开发,使得开发者能够更高效地创建、部署和管理 Web 服务。 `@WebService` 是 Java Web Services (JAX-WS) 中的一个核心注解,用于声明一个类或接口作为 Web ...

    aws-java-sdk-1.6.7.zip

    AWS Java SDK 1.6.7 是亚马逊网络服务(Amazon Web Services)提供的Java开发工具包的一个版本,主要用于帮助Java开发者轻松地与AWS的各种云服务进行交互。这个版本1.6.7是AWS SDK for Java历史上的一个里程碑,包含...

    XFire开发Web Services

    - **Java版本**:jdk1.6 - **服务器**:Tomcat 5.5.20 #### 三、搭建开发环境 首先需要安装和配置上述提到的开发工具和运行环境。假设这些环境已经就绪,接下来按照以下步骤开始开发Web Services。 #### 四、创建...

    传智播客WebServices全部ppt

    在Java中,JDK 1.6开始内置了对Web Services的支持。例如,使用@WebService注解定义一个服务接口,@SOAPBinding注解指定绑定样式,@WebMethod注解标记服务方法。通过Endpoint类的publish方法可以发布服务,使得其他...

    java1.6_32.zip

    8. **Web服务支持**:IBM JDK 1.6支持JAX-WS(Java API for XML Web Services),使开发Web服务和客户端变得更简单。 9. **国际化**:1.6版本进一步增强了对多语言和不同地区设置的支持,方便开发全球化的应用程序...

Global site tag (gtag.js) - Google Analytics