使用CXF创建WEB SERVICE

原创 2016年08月31日 10:51:28

**

使用CXF创建WEB SERVICE

**
最近接手一个项目,项目需要创建一个网站,并能够与其他网站进行数据交换,首先想到里WEB SERVICE ,创建web service的方法有多种,网上都有,主要着这里写一下使用CXF创建web service
首先引入包:
这里写图片描述
将jar放到项目的lib文件夹下
修改web.xml

<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext-server.xml 
    </param-value>
  </context-param>
<servlet>
    <servlet-name>CXFServlet</servlet-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>/ws/*</url-pattern>
</servlet-mapping>

创建服务端xml:
applicationContext-server.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"  
       xsi:schemaLocation="http://www.springframework.org/schema/beans  
                           http://www.springframework.org/schema/beans/spring-beans.xsd  
                           http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">  
        <!--   
            ***注意***   
            手动添加的内容:  
            xmlns:jaxws="http://cxf.apache.org/jaxws"  
            http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd"  
         -->  
           <!--  CXF 引入必要的xml,在jar包里已经有了 -->  
        <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="helloService" implementor="web service接口实现类" address="/web service地址" />  

    </beans>  

创建接口

import java.util.List;

import javax.jws.WebService;

/**
 * @author 作者 :sunguoqiang
 * 修改人:
 * 修改日期:
 * 类说明:
 */
@WebService
public interface testService {
    public String hello(@WebParam(name = "arg0") String text);
}

创建接口实现类

import java.util.ArrayList;
import java.util.List;

import javax.jws.WebService;

import org.springframework.beans.factory.annotation.Autowired;

/**
 * @author 作者 :sunguoqiang
 * 修改人:
 * 修改日期:
 * 类说明:
 */
@WebService(endpointInterface = "接口地址", serviceName = "HelloService")
public class  testServiceImpl implements testService {
    @Override
    public String hello(String text) {
    String hello = "hello:"+text;
    return hello;
}
}

配置成功
输入http://localhost:8080/“你的项目名称”/ws/web service地址?wsdl
创建服务端,如果在同一个项目则只需要创建spring-client.xml和一个客户端就行
spring-client.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:p="http://www.springframework.org/schema/p"
    xmlns:jaxws="http://cxf.apache.org/jaxws" xmlns:cxf="http://cxf.apache.org/core"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
    http://cxf.apache.org/jaxws 
    http://cxf.apache.org/schema/jaxws.xsd">

    <bean id="client" class="com.dykj.GSM.service.emergencyscheduling.testServuce" factory-bean="clientFactory" factory-method="create" />
    <bean id="clientFactory" class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
        <!-- 创建service -->
        <property name="serviceClass" value="服务端接口路径" />
        <!--  接口地址 -->
        <property name="address" value="服务端接口地址" />
    </bean>
</beans>

客户端代码:

/**
 * @author 作者 :sunguoqiang
 * 修改人:
 * 修改日期:
 * 类说明:
 */
import java.util.List;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;


public class web {
    public static void main(String[] args) {
        ApplicationContext ctx = new ClassPathXmlApplicationContext("spring-client.xml");
        testServuce client = (testService) ctx.getBean("client");
        String result = client.hello("word");
        System.out.println(result);
    }
}

如果不是在同一个项目,需要在新的项目中引入之前的jar,除了创建之前的xml和客户端之外还需要创建一个service:
testServIce:

import java.util.List;

import javax.jws.WebService;


/**
 * @author 作者 :sunguoqiang
 * 修改人:
 * 修改日期:
 * 类说明:
 */
@WebService(targetNamespace="wsdl下<wsdl:import>里的namespace,或者将客户端的包路径设置成服务端一样")
public interface testService {
    public String hello();
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

Web Service笔记(二):利用CXF开发Web Service

一、CXF开发简单的WS服务与客户端 (一)
  • u012228718
  • u012228718
  • 2014年11月22日 14:25
  • 2443

使用CXF开发简单的Web Service-HelloWorld(二)

上篇博文我们介绍了Web Service的基本概念,了解它的基本概念之后,我们这篇博文介绍一个开源的WebService框架-Apache CXF,并实现一个HelloWorld实例。...
  • jiuqiyuliang
  • jiuqiyuliang
  • 2015年10月07日 17:01
  • 7691

spring集成webservice框架cxf,访问报错service not found

这是因为我把cxf的配置文件spring-mvc的配置文件写在同一个xml里,Spring MVC是通过DispatcherServlet来加载Spring配置文件的,因此不需要在web.xml中配置...
  • lieyanhaipo
  • lieyanhaipo
  • 2017年12月18日 19:09
  • 105

【WebService】3.使用CXF开发WebService客户端

我们上一次使用CXF实现了简单的WebService的服务端,现在我们来实现客户端。 首先创建一个客户端的工程: 按照以下步骤开发: (1)调用CXF提供的wsdl2java工具,根据WSDL文...
  • u013517797
  • u013517797
  • 2016年06月16日 13:43
  • 1581

Java使用Apache CXF开发Web Service

以前工作中也用CXF,但都是用别人现成搭好的环境,这次自己重头搭建一遍环境。过程中也有遇到的问题,也做了简单的整理。 对于CXF是干什么用的,我不想多说,大家都知道这是我们在java编程中webSe...
  • guoweimelon
  • guoweimelon
  • 2016年03月02日 14:45
  • 1052

Web Service学习-CXF开发Web Service实例demo(一)

Web Service是什么? Web Service不是框架,更甚至不是一种技术。而是一种跨平台,跨语言的规范 Web Service解决什么问题: 为了解决不同平台,不同语言所编写的应用之间如何调...
  • hejingyuan6
  • hejingyuan6
  • 2015年08月02日 12:53
  • 5555

在java web项目中集成webservice ---cxf

公司要求在项目中加入webservice服务,因为项目中使用了spring框架,所以在这里使用与spring兼容性较好的cxf来实现 cxf所需jar包 spring的jar包就不贴了...
  • OXiaoMianYiJiu
  • OXiaoMianYiJiu
  • 2016年11月15日 18:02
  • 1785

Apache CXF实现WebService开发(一)

Apache CXF 是一个开源的 Services 框架,CXF 帮助您利用 Frontend 编程 API 来构建和开发 Services ,像 JAX-WS 。这些 Services 可以支持多...
  • ma_hoking
  • ma_hoking
  • 2014年12月01日 00:09
  • 1604

【WebService框架-CXF】——CXF入门实例

这篇文章主要介绍如何编写WebService的服务端和客户端 准备工作 下载apache-cxf-2.4.0的jar包 将bin目录配置到环境变量中,如:E:\Workspace...
  • u010924834
  • u010924834
  • 2016年06月13日 22:55
  • 1751

WebService——CXF方式创建WebService服务端

使用CXF方式创建WebService服务端方式
  • mafan121
  • mafan121
  • 2015年01月29日 14:45
  • 1239
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用CXF创建WEB SERVICE
举报原因:
原因补充:

(最多只允许输入30个字)