webservice开发说明文档

第一步:引入所需要的jar包

  1.引入cxf所需要的jar包

第二步:cxf解析wsdl

  1.准备工作

  2.使用命令行解析wsdl到本地

  3.调用wsdl的方法

  4.配置bean.xml实现对HelloWorld接口的自动装载

第一步:

  1.引入cxf所需要的jar包

下载apache-cxf-2.4.0包或apache-cxf其他版本(我这里下载的是3.0.0版本,

由于lib中缺少一些需要的jar包,所以又下了CXF2.4.0_lib补充),解压缩。

解压后在环境变量path中配置cxf环境变量

 

将所需11jar包导入项目(PS:因为apache-cxf-3.0.0中的cxf-3.0.0缺少cxf.xml

cxf-extension-soap.xml、cxf-servlet.xml三个xml文件,所以我这里导

入的是CXF2.4.0_lib中的cxf-2.4.0)。

第二步:cxf解析wsdl

  1.准备工作

比如服务器端新建了一个HelloWorld接口,接口包含三个方法(如下图),方法使用了封装的User

Cat实体类,HelloWorldWS实现了接口的三个方法(如下图),服务器将HelloWorld接口以wsdl

(http://localhost:8088/HelloWorld?Wsdl)格式发布(如下图)打开浏览器,输入地址:

http://localhost:8088/HelloWorld?Wsdl,则可出现以下信息。

 

服务器端代码如下:

服务器以wsdl形式发布HelloWorld接口

  2.使用命令行解析wsdl到本地

准备工作做完,打开cmd命令窗口,跳转到希望存放解析文件的某项目路径,输入

wsdl2java http://localhost:8888/Service/ServiceHello?wsdl 回车,解析成功

之后会发现该项目src包下已经有了解析的方法和类文件。

 

  3.调用wsdl的方法

在解析的文件中找到继承Service的类如下图,new一个该类的对象。该类有一个

getXXXXPort()的方法,XXXX为类名,调用该方法即得到一个HelloWorld接口对象,

我们就可以愉快的使用HelloWorld的三个方法了。(PS:由于服务器和客户端编码

未统一,所以出现了乱码问题,这里要注意编码一致)

  4.配置bean.xml实现对HelloWorld接口的自动装载

  a.在beans.xml文件头配置cxf包信息,使系统能够找到cxf相应jar包和方法。

 

  b.Import(导入)三个cxfxml文件,并配置jaxws:client标签

 

   c.Id的值是自动装载的HelloWorld类型变量名,serviceClass是解析出来的Helloworld.java

   文件所在路径,address是服务器提供的wsdl

  d.这样就可以直接使用HelloWorld接口了

  e.注意,HelloWorld接口的方法如果有返回值类型,比如上图的StringCat类型,我们

    不需要定义,解析wsdl时会自动解析用到的相关javabean类型,我们可以直接拿来用它的方法。

原文地址:https://www.cnblogs.com/xiaziteng/p/5703498.html