cfx webservice 入门步骤

第一步 导入cfx相关包 下载地址: http://cxf.apache.org/download.html

 

第二步 配置web.xml

<!-- cfx webSerivice -->

    <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> 

    <session-config> 

      <session-timeout>60</session-timeout> 

    </session-config>

第三步 在web-inf下加入cfx-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: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">

<!-- 服务接口  -->

  <jaxws:server id="jaxwsService" serviceClass="com.uu.service.IService"

address="/test">

<!—address为服务发布二级地址 完整地址为 /项目发布名称/cfx拦截地址/address   (cfx拦截地址在web.xml中url-pattern标签中配置) -->

       <jaxws:serviceBean>

        <!--服务实现类  -->

                <bean class=" com.uu.service.impl.Service " />

       </jaxws:serviceBean>

  </jaxws:server>

</beans>

第四步 编写接口及实现类

IService 接口

package com.uu.service;

@WebService

public interface IService

{

   

    @WebMethod

    String test(@WebParam String param);

 }

Service实现类:

package com.uu.service.impl;

public class QuoteService implements IQuoteService

{

    @Override

    public String test(String param)

    {

       return "Hello,"+param;

    }

 

}

第五步     单元测试

@Test

public void test3()

{

    JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean(); 

    factory.getInInterceptors().add(new LoggingInInterceptor()); 

    factory.getOutInterceptors().add(new LoggingOutInterceptor()); 

    factory.setServiceClass(IService.class); 

    factory.setAddress("http://localhost:8081/项目名称/services/test"); 

    IService client = (IService) factory.create();

    String msg =  client.test("kinglo");

    System.out.println(msg);

}

 

原文地址:https://www.cnblogs.com/mguo/p/2862585.html