cxf 配置和代码小例子

1、 导入需要的jar包。
2、 编写一个服务接口

package com.demo;

import java.util.List;
import javax.jws.WebParam;
import javax.jws.WebService;

@WebService
public interface HelloWorld {
    String sayHi(@WebParam(name="text")String text);
    String sayHiToUser(User user);
    String[] SayHiToUserList(List<User> userList);
}

3、编写服务接口的实现类

package com.demo;

import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

import javax.jws.WebService;

@WebService(endpointInterface="com.demo.HelloWorld",serviceName="HelloWorld")
public class HelloWorldImpl implements HelloWorld {
       Map<Integer, User> users = new LinkedHashMap<Integer, User>();

       public String sayHi(String text) {
                   return "Hello " + text;
      }

      public String sayHiToUser(User user) {
                users.put(users.size()+1, user);
                return "Hello "+ user.getName();
      }

      public String[] SayHiToUserList(List<User> userList) {
                String[] result = new String[userList.size()];
                int i=0;
                for(User u:userList){
                     result[i] = "Hello " + u.getName();
                     i++;
                }
        return result;
      }
}

4、集成到spring 中
4.1、web.xml中配置cxf的servlet。

<servlet>
      <servlet-name>CXFServlet</servlet-name>
      <display-name>CXFServlet</display-name>
      <servlet-class>
             org.apache.cxf.transport.servlet.CXFServlet
      </servlet-class>
      <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
       <servlet-name>CXFServlet</servlet-name>
       <url-pattern>/webservice/*</url-pattern>
</servlet-mapping>
4.2、在spring bean.xml中配置服务端、客户端
<!-- xml头部需要引入以下内容 -->
xmlns:jaxws="http://cxf.apache.org/jaxws"
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd
<!-- 导入cxf配置文件 -->
<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"/>

<!-- 服务端 -->
<jaxws:endpoint id="helloWorld" implementor="com.demo.HelloWorldImpl" address="/helloWorld" />
<!-- 客户端 -->
<jaxws:client id="client"  serviceClass="com.flyfox.service.HelloWorld"
address="http://localhost:8080/CXFAndSpring/webservice/HelloWorld"/>

转自: http://www.cnblogs.com/frankliiu-java/articles/1641949.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值