CXF框架实现webservice实例

服务器

1.新建Web项目,例如CXF_Server,导入cxf-2.4.2的相关jar包,如下图所示:


2.新建一个webservice服务接口MyService,该接口通过注解来暴露服务: 

package com.founder.service;

import javax.jws.WebService;

@WebService(serviceName="MyServiceManage")
public interface MyService {
	/**
	 * add():定义add方法
	 * @param a
	 * @param b
	 * @return
	 */
	public int add(int a,int b);

}

3.写出该接口的实现类MyServiceImpl:

package com.founder.service;

public class MyServiceImpl implements MyService {

	@Override
	 public int add(int a, int b) {  
		System.out.println(a + "+" + b + "=" + (a + b));  
		return a+b;  
   } 

}

4.配置spring,把webservice类托管给spring,然后在src下新建spring的配置文件applicationContext.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"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
	 http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
	 
	 <bean id="myServiceImpl" class="com.founder.service.MyServiceImpl"></bean>
	 
 <!-- 配置cxf   
     地址:      http://localhost:8080/CXF_Server/ws/employeeManager
     组成 :  http://localhost:8080 +CXF_Server( 项目名)+ws(过滤的路径)+/myService(自定义部分)
     服务类 :
     服务的实现类:
     拦截器  
      -->
  <jaxws:server address="/myService" serviceClass="com.founder.service.MyService">
   <jaxws:serviceBean>
    <ref bean="myServiceImpl"/>
   </jaxws:serviceBean>
  </jaxws:server>
</beans>

5.配置web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
  <display-name>CXF__Server</display-name>
  
  <!-- 添加  CXF 的Servlet ,处理 webservice的请求 -->
  <servlet>
  	<servlet-name>cxfServlet</servlet-name>
  	<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
  	<load-on-startup>0</load-on-startup>
  </servlet>
  <servlet-mapping>
   	<servlet-name>cxfServlet</servlet-name>
   	<url-pattern>/ws/*</url-pattern>
  </servlet-mapping>
  
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext.xml</param-value>
  </context-param>
</web-app>

    

    至此服务器端基本上告一段落,可以将应用部署到tomcat,启动并访问http://localhost:8080/CXF_Server/ws/myService?wsdl,如果能正确显示xml文件则说明部署成功。

客户端测试

1.通过myeclipse自带的soap浏览器完成测试,就不用在客户端写java代码了:

点击图标所示按钮,即可启动soap浏览器。



2.点击右侧图标所示的按钮wsdl page,在输入框中输入wsdl地址:


3.点击里面的add()方法,输入参数,点击go,即可显示调用结果



OK,实例完成!

时间: 2024-12-25 23:57:25

CXF框架实现webservice实例的相关文章

WebService系列二:使用JDK和CXF框架开发WebService

一.使用JDK开发WebService 服务端程序创建: 1.新建一个JDK开发webservice的服务端maven项目JDKWebServiceServer 2. 定义一个接口,使用@WebService注解标注接口,使用@WebMethod注解标注接口中定义的所有方法 1 package com.study.webservice.ws; 2 3 import javax.jws.WebMethod; 4 import javax.jws.WebService; 5 6 /** 7 * 定义

基于CXF框架的webservice简单的SC两端出入拦截器实现。

开发工具:  ECLIPSE(EE) + CXF(2.5.9) (I)可以现在eclipse中使用JDK来创建webservice基础服务.(没有CXF框架的webservice) (1)新建一个java project. (命名为FirstWebService) 新建一个interface接口.改接口就是相当于webservice中的SEI. (在接口类定义前使用JDK自带webservice注释[email protected] SEI方法则是使用@WebMethod生命方法.) (2)在定

MyEclipse+CXF框架开发WebService

1 Apache CXF 简介 Apache CXF =Celtix + XFire,开始叫 Apache CeltiXfire,后来更名为 Apache CXF 了,以下简称为 CXF.CXF 继承了 Celtix 和 XFire 两大开源项目的精华,提供了对 JAX-WS 全面的支持,并且提供了多种 Binding .DataBinding.Transport 以及各种 Format 的支持,并且可以根据实际项目的需要,采用代码优先(Code First)或者 WSDL 优先(WSDL Fi

用cxf 框架发布webService(第二种,ServerFactoryBean带接口)

接口类需要注解 可以添加输入输出拦截器 package cn.itcast.cxf.server; import org.apache.cxf.interceptor.LoggingInInterceptor; import org.apache.cxf.interceptor.LoggingOutInterceptor; import org.apache.cxf.jaxws.JaxWsServerFactoryBean; import cn.itcast.webservice.userSer

用cxf 框架调用webService(第二种,jaxWsServerFactoryBean带接口)

使用cxf 提供类 JaxWsProxyFactoryBean 来调用 webservice 的服务端....... JaxWsProxyFactoryBean 是  ClientProxyFactoryBean  的子类... package cn.itcast.cxf.client; import org.apache.cxf.jaxws.JaxWsProxyFactoryBean; import cn.itcast.server.JaxInteface.UserService; /** *

Eclipse+CXF框架开发Web服务实战

一. 说明 采用CXF框架开发webservice. 所用软件及版本如下. ? 操作系统:Window XP SP3. ? JDK:JDK1.6.0_07,http://www.oracle.com/technetwork/java/javase/downloads/index.html. ? Tomcat:apache-tomcat-6.0.14.exe,http://tomcat.apache.org/. ? IDE:eclipse-jee-juno-SR1-win32.zip,http:/

CXF框架介绍及Spring集成

1.CXF框架概念介绍 Apache CXF 是一个开源的 WebService 框架,CXF可以用来构建和开发 WebService,这些服务可以支持多种协议,比如:SOAP.POST/HTTP.HTTP ,CXF 大大简化了WebService并且可以天然地和 Spring 进行无缝集成.CXF是 Celtrix (ESB框架)和 XFire(webserivice) 合并而成,核心是org.apache.cxf.Bus(总线),类似于Spring的 ApplicationContext,C

Webservice与CXF框架快速入门

1. Webservice Webservice是一套远程调用技术规范 远程调用RPC, 实现了系统与系统进程间的远程通信.java领域有很多可实现远程通讯的技术,如:RMI(Socket + 序列化).Binary-RPC(Http+二进制, 代表Hessian).XML-RPC(Http+XML, 代表Burlap, WebService用的SOAP).JMS(使用消息机制).Mina(使用NIO)等, 底层都是基于http/socket和网络IO来实现的.从效率上来讲, RMI > Hes

WebService之CXF框架

本文主要包括以下内容 ant工具的使用 利用cxf实现webservice cxf与spring整合 ajax访问webservice ant 工具 1.为什么要用到ant这个工具呢? Ant做为一种工具已经广泛被使用,并且历史悠久. 使用ant的内置命令,可以编译java源文件(javac),运行java文件(java),给class文件打包(jar.war.ear), 也可以创建(mkdir).删除(del).拷贝(copy),甚至可以使用ant执行sql文件. 由于ant是用xml语言写成