关于 Web Service 学习

来源:互联网 发布:java简单超市管理系统 编辑:程序博客网 时间:2024/04/30 11:40

先介绍一下Web Service ,它是一个软件系统,为了支持跨网络的机器间相互操作交互而设计,通过网络进行调用,来执行远程系统的请求服务。能够在不同计算机的不同语言编写的应用程序系统中,通过网络通讯实现函数的方法调用。

Web Service  = SOAP + HTTP + WDSL; SOAP 是 web service 的主体,是一种简单对象访问协议,用于网络上的不同平台上,不同语言的应用程序间通讯,一条SOAP消息就是一个普通的xml文档,协议简单的理解就是将消息进行转码类似加密,SOAP 已经成为一种标准 所以被使用。WSDL文档就是不同平台通讯所存入的消息,其中包含了,该消息的namespace,schemaLocation,message,type 等内容,是Web Service 的描述语言。

在构建Web Service 服务程序时一般都是希望其他的客户端对其方法或应用的调用,所以Web Service 会暴露一些应用程序的数据,让其他不同平台的客户端进行重用应用程序。在这之间,该方法会被写入WDSL 文档格式下 在SOAP 的通讯协议基础上进行跨平台的传输, 客户端得到WSDL 文档后可以将该文档转成自己喜欢的任意语言从而实现对应用程序的调用。 以上仅是一些浅显的理解。

 对于初学者还是关心如何使用操作的,然后再回头学得时候可能思路会比较明了。

首先创建一个简单的工程  Dynamic  Web project     +    apache tomcat 7.0  +jdk 1.7.0_65   ;

new  一个接口, 以及一个简单的 抽象方法。 接口前加@WebService    import javax.jws.WebService;

new  一个实现方法实现该接口中的抽象方法, 类前加  @WebService    import javax.jws.WebService; 

然后就是配置web.xml 文件  添加 一个servlet   name 自己取, servlet-class : org.apache.cxf.transport.servlet.CXFServlet,  url :/*

在WEB-INF 下创建一个 cxf-servlet.xml 文件  添加一个 xmlns:jaxws = "http://cxf.apache.org/jaxws"   xsi:schemaLocation="http://cxf.apache.org/jaxwshttp://cxf.apache,org/schemas/jaxws.xsd"

<import resource="classpath:META-INF/cxf/cxf.xml"/>  

<import resource="classpath:META-INF/cxf/cxf-servlet.xml"/>

<jaxws:endpoint id="自己取" implementor="实现类包路径"  address="  / 接口类名"/>

 当然还要导入cxf 相关jar 包。

cxf -core-3.0.2.jar

cxf-rt-databinding-jaxb-3.0.2.jar

cxf-rt-bindings-soap-3.0.2.jar

cxf-rt-frontend-jaxws-3.0.2.jar

cxf-rt-frontend-simple-3.0.2.jar

cxf-rt-transports-http-3.0.2.jar

cxf-rt-wsdl-3.0.2.jar

还有整合的 spring jar 包

spring-aop-3.2.6.RES.jar

spring-beans-3.2.6.RELEASE.jar

spring-context-3.2.6.RELEASE.jar

spring-expression-3.2.6.RELEASE.jar

spring-web-3.2.6.RELEASE.jar

还有相关关联 jar 包

commons-logging.jar

stax2-api-3.14.jar

woodstox-core-asl-4.4.1.jar

wsdl4j.1.6.3.jar

xmlschema-core-2.1.0.jar

 关于jar 包   可以上官网上下载," 你需要的jar包名(仅apache) .apache.org "   还有一个方法, 就是Maven 项目, Spring ,Apache 官网都有公开的jar 包 Maven 仓库

创建一个Maven 项目, 在pom.xml 文件中写上你需要的jar 包 就会下载到你的本地了。

以上建好简单项目后,添加到应用服务器中, tomcat中 运行。 在浏览器上输入你的 url   http://localhost:8080/(你的项目名)  

点击  WSDL    就是所获得的WSDL 文档, 以上操作 其实IDE  会有一些 插件工具帮助实现。 例如Eclipse 中 Axis2  和 CXF 2.x 

那么得到WSDL 文件怎样转成自己喜欢的语言呢, 在java 中 jdk  bin 目录中有个工具就可以 将WSDL 文件转成java 文件,

打开jdk bin  找到 wsimport.exe    java_home 配置好, 打开运行  cmd  输入该wsimport 回车,就可以看到该工具 许多命令

如果不出现  提示未找到该命令。  先确保java_home配置好。 然后打开cmd 输入

set  JAVA_HOME=C:\Program Files\Java\jdk1.7.0_65   (jdk 安装目录)

set   path=%JAVA_HOME%\bin;

再次输入  wsimport  一般都可以成功了, 不行重启电脑( )

常用到的wsimport 命令有

-keep:是否生成java源文件

-d:指定输出目录

-s:指定源代码输出目录

-p:以package的形式生成文件

-verbose:在控制台显示输出信息

你可以  直接在cmd 中输入  

wsimport -d d: -keep -verbose http://localhost:8080/(项目)/(方法)?wsdl

在D盘根目录下就可以看到 生成的   .java 和 .class文件,当然工具方法不只有一种。


目前学习到这么多,欢迎指正。


0 0
原创粉丝点击