• Apache CXF基本使用


    一、服务端开发

    1、创建web项目

    2、导入jar包

    3、web.xml中配置Servlet

     1   <!-- 配置CXF框架提供的Servlet -->
     2   <servlet>
     3       <servlet-name>cxf</servlet-name>
     4       <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
     5       <!-- 通过初始化参数指定CXF框架的配置文件位置 -->
     6       <init-param>
     7           <param-name>config-location</param-name>
     8           <param-value>classpath:cxf.xml</param-value>
     9       </init-param>
    10   </servlet>
    11   <servlet-mapping>
    12       <servlet-name>cxf</servlet-name>
    13       <url-pattern>/service/*</url-pattern>
    14   </servlet-mapping

    4、在类路径下提供cxf.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:jaxws="http://cxf.apache.org/jaxws"
    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/jaxws 
                        http://cxf.apache.org/schemas/jaxws.xsd">
        <!-- 引入CXF Bean定义如下,早期的版本中使用 -->
        <import resource="classpath:META-INF/cxf/cxf.xml" />
        <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
        <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
    
    </beans>

    5、开发一个接口和实现类

     1 @WebService
     2 public interface CustomerService {
     3 
     4     public List<Customer> findAll();
     5     //查询未关联的
     6     public List<Customer> findListNoAssociation();
     7     //查询已经关联的
     8     public List<Customer> findListHasAssociation(String id);
     9     //定区关联客户
    10     public void assigncustomerstodecidedzone(String decidedzoneId,Integer[] customerIds);
    11     //根据客户的手机号查询客户信息
    12     public Customer findByTelephone(String telephone);
    13     //根据客户地址查询定区ID
    14     public String findDecidedzoneIdByAddress(String address);
    15 }

    6、cxf.xml中注册服务

    1 <!-- 基于接口形式发布的服务 -->
    2     <bean id="customerService" class="com.itheima.crm.service.impl.CustomerServiceImpl">
    3         <property name="jdbcTemplate" ref="jdbcTemplate"></property>
    4     </bean>
    5     <jaxws:server id="myService" address="/customer">
    6         <jaxws:serviceBean>
    7             <ref bean="customerService"/>
    8         </jaxws:serviceBean>
    9     </jaxws:server>

    二、客户端开发

    1、使用wsimport或者CXF提供wsdl2java生成本地代码,只需要生成接口文件

    2、将bean及接口文件复制到项目中

    3、提供spring配置文件,注册客户端代理对象

    1 <jaxws:client id="customerService" serviceClass="com.itheima.crm.CustomerService" address="http://localhost:8080/crm/service/customer"></jaxws:client>
  • 相关阅读:
    浅谈UML学习笔记之用例图
    流媒体服务器
    浅谈UML的概念和模型之UML视图
    浅谈UML的概念和模型之UML九种图
    SQL 语法
    吴裕雄--天生自然数据结构:链式队列及基本操作
    吴裕雄--天生自然数据结构:顺序队列
    吴裕雄--天生自然数据结构:队列存储结构
    吴裕雄--天生自然数据结构:链栈及基本操作
    吴裕雄--天生自然数据结构:顺序栈及基本操作
  • 原文地址:https://www.cnblogs.com/cat-fish6/p/10052875.html
Copyright © 2020-2023  润新知