`

使用cxf 开发webService 初体验

 
阅读更多

最近项目开发完毕,目前有闲于时间,所以抽空学习了一下,使用cxf开发WebService,废话不多说,直接上码!

 

背景介绍:

1.开发工具:eclipse

2.jar:cxf+spring,(cxf的包下集成了spring的包,很方便)

 

步骤如下:

1.创建web项目

2.引入jar,具体引入请查看图片

3.编写对外接口:

@WebService
public interface ISayHello {
	
	public String sayHello(@WebParam(name="name")String name);
}

 4.编写接口实现:

@WebService(endpointInterface="com.dao.ISayHello")
public class SayHelloImpl implements ISayHello {

	public String sayHello(String name) {
		// TODO Auto-generated method stub
		return "my name is"+name;
	}

}

 5.配置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: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">

	<import resource="classpath:META-INF/cxf/cxf.xml" />
	<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />

	<bean id="sayHelloImpl" class="com.dao.impl.SayHelloImpl" />
	<jaxws:endpoint id="sayHello" implementor="#sayHelloImpl"
		address="/sayHello" />
</beans> 

 

6.配置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"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
	id="WebApp_ID" version="2.5">
	<display-name>webServiceDemo</display-name>
	<welcome-file-list>
		<welcome-file>index.html</welcome-file>
		<welcome-file>index.htm</welcome-file>
		<welcome-file>index.jsp</welcome-file>
		<welcome-file>default.html</welcome-file>
		<welcome-file>default.htm</welcome-file>
		<welcome-file>default.jsp</welcome-file>
	</welcome-file-list>
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>
    	 /WEB-INF/config/applicationContext.xml
    </param-value>
	</context-param>
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
	<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>/*</url-pattern>
	</servlet-mapping>
</web-app>

 

自此使用csf 开发webService 已经完毕。

 

下面我们使用spring注入的方式,编写一个简单客户端,模拟访问我们刚写的webservice.

 

步骤如下:

1.编写applicationContext_client.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:jaxws="http://cxf.apache.org/jaxws" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	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">
	
	
	<!-- 该方式访问ws服务也是利用spring的依赖注入法 id是spring IOC容器唯一标识符 serviceClass是webservices服务接口 
		address是服务wsdl地址 -->
	<jaxws:client id="sayHello2" serviceClass="com.dao.ISayHello"
		address="http://localhost:8080/webServiceDemo/sayHello?wsdl" />
</beans> 

 2.client:

public static void main(String[] args) {
		// TODO Auto-generated method stub
		ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
				new String[] { "com/client/applicationContext_client.xml" });

		ISayHello client = (ISayHello) context.getBean("sayHello2");

		String response = client.sayHello("Joe");
		System.out.println("Response: " + response);
		System.exit(0);
	}

 3.运行即可,当然首先要启动 我们刚写的webservice服务,不然会提示连接失败!

 

 

 

  • 大小: 9.9 KB
分享到:
评论

相关推荐

    webService(基于cxf)的完整例子

    例如,可以使用`@WebService`注解标记一个Java类为Web服务接口,并使用`@Path`注解来定义RESTful服务的URL路径。 4. **CXF服务部署**:CXF提供多种部署方式,包括独立服务器、Tomcat等应用服务器,以及Spring容器。...

    详解Spring boot+CXF开发WebService Demo

    Spring Boot + CXF 开发WebService Demo 详解 Spring Boot 和 Apache CXF 是两个非常流行的Java 框架,前者是一个基于 Spring 的框架,后者是一个提供了强大 web 服务支持的框架。本文将详细介绍如何使用 Spring ...

    mybatis+spring+cxf Webservice框架

    【标题】"mybatis+spring+cxf Webservice框架"是一个集成性的开发框架,它结合了三个主流的技术组件:MyBatis、Spring和Apache CXF,用于构建高效、灵活且易于维护的Web服务。MyBatis是一个优秀的持久层框架,Spring...

    CXF搭建webservice案例

    本篇文章将深入探讨如何使用CXF来搭建一个Web服务案例,这对于初学者来说是一次非常有价值的学习体验。 首先,让我们了解CXF的基本概念。CXF(Composite eXtensible Markup Language Framework)是基于Java的,它...

    webservice动态访问天气预报(tomcat+jsp+servlet+webservice+cxf)

    开发者可以使用CXF来生成和消费Web服务,简化开发流程。 5. **WebService**:WebService是一种基于XML和HTTP的分布式计算模型,允许不同的系统之间交换数据。在这个项目中,WebService提供了一个标准的接口,允许...

    Webservice-CXF实用手册学习大全

    - Apache CXF是一个开源服务框架,由ObjectWeb Celtix和Codehaus XFire合并而成,提供了一种简单的方式来构建和开发WebService。 - CXF的核心组件是Bus,它类似于Spring的ApplicationContext,用于管理WebService...

    WebService CXF --- 传输文件MTOM

    WebService CXF,全称Apache CXF,是一款开源的Java框架,用于构建和开发Web服务。它支持多种协议和规范,包括SOAP、RESTful、XML以及Web服务标准如WS-*。在"WebService CXF --- 传输文件MTOM"这个主题中,我们将...

    webservice使用cxf的实例

    总的来说,Apache CXF为开发Web服务提供了一个强大且灵活的平台,无论是创建服务还是消费服务,都能提供良好的开发体验。通过理解这些概念并结合实际的代码示例,你将能够更好地利用CXF在你的IT项目中实现高效、互...

    SpringBoot WebService cxf接口发布以及logbok日志集成

    总结起来,SpringBoot结合cxf提供了方便的Web服务开发体验,而logback则为我们提供了强大的日志管理能力。通过这两个组件的集成,我们可以构建出既易于开发又具有良好日志监控的Web服务系统。对于初学者来说,理解并...

    Maven版,Spring mvc, CXF WebService, WebService/Controller Interceptor, Sitemesh

    通过CXF,开发者可以使用Java编程模型直接定义服务接口和服务实现,而无需关心底层通信细节。 Interceptor(拦截器)是Spring MVC和CXF中的一个重要概念,它们允许我们在方法调用前后插入自定义逻辑,例如日志记录...

    java cxf webService

    在描述中提到的"直接运行即可"意味着这个项目可能包含了CXF WebService的客户端和服务端示例代码,用户只需要运行即可体验到CXF的功能。这通常涉及到创建一个服务接口,实现该接口,然后使用CXF的工具或注解将其暴露...

    Java分页算法以及一点Apache CXF webservice 资料

    Java分页算法是Java开发中常见的一种技术,用于在大量数据中实现高效的浏览体验,尤其在Web应用中,用户通常需要浏览成百上千条记录,而一次性加载所有数据会导致性能下降,用户体验也会变得糟糕。因此,分页成为了...

    使用CXF发布和调用接口(星座运势接口)

    Apache CXF是一个流行的开源框架,它允许开发人员创建和使用Web服务,支持多种协议和标准,如SOAP、RESTful、JAX-RS和JAX-WS等。 首先,让我们理解什么是Apache CXF。CXF源于两个项目:XFire和 Celtix,这两个项目...

    CXF&spring实例

    2. **服务端之spring配置**:在"CXF&spring初体验【服务端之spring配置文件】"中,我们会学习如何使用Spring的XML配置文件或Java配置来声明和管理CXF服务。这通常包括定义服务接口、实现类、以及服务的发布和地址...

    CXF所有资源包,WebService轻松上手

    Apache CXF是一个开源的Java框架,它主要用于构建和开发服务导向架构(SOA)和Web服务。这个资源包包含了CXF 2.4.10版本的...通过这个2.4.10版本的资源包,你可以开始你的Web服务探索之旅,体验CXF带来的高效和便捷。

    CXF-Spring相关jar包

    5. **错误处理**:Spring和CXF的集成还允许开发者定义自定义的异常处理器,将CXF抛出的异常转换为业务友好的错误信息,提高系统的健壮性和用户体验。 6. **测试支持**:在Spring测试框架的支持下,可以方便地对CXF...

    WebService 7本书

    以下是关于“WebService 7本书”中可能涵盖的一些核心知识点,以及与AJAX、CXF、RESTful和WS相关的应用知识: 1. **WebService基础**:Web服务基于开放标准,如XML(可扩展标记语言)用于数据表示,WSDL(Web服务...

    webservice(cxf)+ajax请求,客户端和服务器端

    CXF 实现了 JAX-RS,允许开发者使用注解来定义资源类和方法,简化 RESTful 服务的开发。 6. **客户端调用**: 客户端通过发送 HTTP 请求(GET、POST、PUT、DELETE 等)调用 Web 服务。对于 SOAP 服务,客户端可能...

    最新apache-cxf-3.2.7

    4. **使用CXF开发Web服务**: - 首先,你需要在项目中引入CXF的依赖,这可以通过Maven或Gradle完成。 - 创建服务接口和实现,使用`@WebService`和`@Path`注解来标记服务接口和资源类。 - 配置CXF的服务器端点,...

Global site tag (gtag.js) - Google Analytics