CXF入门

CXF

CXF的前身是Xfire,具体内容可参照http://xfire.codehaus.org/

 

 

服务器端开发步骤为:

 

1、  首先访问http://incubator.apache.org/cxf/ 下载所需的jar包。

2、  新建一个web工程,将下载的CXF的开发包加入到lib中。

3、  在web.xml 文件中添加提供web service的监听servlet,对应的处理类名为org.apache.cxf.transport.servlet.CXFServlet,并设置其启动时装载顺序属性为1;指定访问servlet的URL格式。

如下:

<servlet>
        <description>Apache CXF Endpoint</description>
        <display-name>cxf</display-name>
        <servlet-name>cxf</servlet-name>
        <servlet-class>
            org.apache.cxf.transport.servlet.CXFServlet
        </servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
   
    <servlet-mapping>
        <servlet-name>cxf</servlet-name>
        <url-pattern>/services/*</url-pattern>
    </servlet-mapping>

 

 

4、  新建一个cxf-servlet.xml配置文件,内容如下所示:

 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:simple="http://cxf.apache.org/simple"
    xmlns:soap="http://cxf.apache.org/bindings/soap"
    xsi:schemaLocation="
 http://www.springframework.org/schema/beans
 http://www.springframework.org/schema/beans/spring-beans.xsd
 http://cxf.apache.org/bindings/soap http://cxf.apache.org/schemas/configuration/soap.xsd
 http://cxf.apache.org/simple http://cxf.apache.org/schemas/simple.xsd">

    <simple:server id="UploadManageWs"
        serviceClass="com.smapp.service.exchange.serviceinterfaces.ws.UploadManageWs" address="/UploadManageWs">
        <simple:serviceBean>
            <bean class="com.smapp.service.exchange.serviceinterfaces.ws.UploadManageWs" />
        </simple:serviceBean>
    </simple:server>
   
    </beans>

 

在如上的配置文件中,我们指定了要发布的服务类名、访问地址等

 

 

5、  编写要发布为web service的类和接口。

package com.smapp.service.exchange.serviceinterfaces;

public interface UploadManagerService {
           /**
             * 查询所有有效的上传文件
             * @return 文件列表
             */
             public List<Uploaddatafile> findAllUpload();
      }

 

public class UploadManagerServiceImp implements UploadManagerService{

     public List<Uploaddatafile> findAllUpload(){

     }

}

 

package com.smapp.service.exchange.serviceinterfaces.ws;

public class UploadManageWs {

            private Logger logger = Logger.getLogger(UploadManageWs.class);

 

     public List<Uploaddatafile> findAllUpload() throws Exception{
               UploadManagerService iUpload = new UploadManagerServiceImp();
               List<Uploaddatafile> result = iUpload.findAllUpload();
               return result;
          }

}

 

 

6、  向lib包中加入Spring的开发包,集成Spring 管理beans;

<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
           http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
           http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">

 

 

</beans>

 

7、  发布web应用到对应的web容器进行部署。

 

8、http://localhost:8080/ServiceManage/services/UploadManageWs?wsdl 即可看到描述信息

 

 

 

 

客户端的开发步骤:

 

 

  这里介绍通过wsdl文件生成客户端存根代码的方式,前提是要先下载CXF的工具包。

  1、  编辑Ant脚本,可参照如下配置:

   <?xml version="1.0"?>
<project name="cxf wsdl2java" basedir=".">  
   <property name="cxf.home" location ="D:\server\apache-tomcat-6.0.26\webapps\servicemanager\WEB-INF"/>

   <path id="cxf.classpath">
      <fileset dir="${cxf.home}/lib">
         <include name="*.jar"/>
      </fileset>
   </path>
     
   <target name="cxfWSDLToJava">
      <java classname="org.apache.cxf.tools.wsdlto.WSDLToJava" fork="true">
         <arg value="-client"/>
         <arg value="-d"/>
         <arg value="e:\src"/>
         <arg value="http://localhost:8080/ServiceManage/services/UploadManageWs?wsdl"/>
         <classpath>
            <path refid="cxf.classpath"/>
         </classpath>
      </java>
   </target>
</project>

 

上面的UploadManageWs?wsdl为服务器端web service对应的wsdl文件。

 

2、  运行Ant脚本生成客户端存根代码,

将生成的文件:

Uploaddatafile.java

UploadManageWs.java

UploadManageWsPortType.java

和依赖的CXF包引入到自己的工程即可使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值