一、为什么使用Web Service?
Java系统相互间可以通过RMI实现远程过程调用,但是由于其局限于只能用于java系统间进行调用,且开发过程相对来说较复杂,已经逐步被Web Service取代。依据Web Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据。Web Service为整个企业甚至多个组织之间的业务流程的集成提供了一个通用机制。
二、Web Service涉及的主要技术
1、SOAP:Simple Object Access Protocol
2、WSDL:
3、XML
三、JAX-WS
JAX-WS(Java API for XML-Based Webservices)是目前最标准,需要额外第三方插件最少,配置最少最灵活的webservice。JAXWS适合几乎所有Webservice客户端的调用,因此不少巨头型的厂商如:IBM,Weblogic等,在他们的产品上都使用了以JAXWS为标准的Webservice接口。JAX-WS 2.0 是面向 Java 5 的开发 Web services 的最新编程标准,它提供了新的编程模型和对以往的 JAX-RPC 方式的 Web services 进行了增强。 JAX-WS2.0 (JSR 224)是Sun新的web services协议栈,是一个完全基于标准的实现。
1、两种开发过程
JAX-WS有两种开发过程:
自顶向下,通过WSDL文件来创建Web Service;
自底向上,通过Java类来创建Web Service;
2、开发步骤
JAX-WS的开发基本上采用如下步骤:
编写接口和实现-----》发布-------》生成客户端调用程序
采用JDK1.6时,可以编写接口;也可以不编写接口,直接使用JAVA类(其他JDK版本未测试)
3、关于 wsgen wsimport
JDK1.6(具体详细版本待查)已经提供该工具,可以直接使用。
wsgen用于server端通过java类产生webservice和wsdl文件;
wsimport用于client端通过wsdl文件生成java类;
wsgen使用:
a、javac编译java类;
b、wsgen -cp . java类 执行后会看到生成的wsdl文件
wsimport使用:
wsimport -keep -p package-name