`
ll_feng
  • 浏览: 389378 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

cxf学习笔记之结合spring创建客户端

    博客分类:
  • j2ee
阅读更多
这个比较迷惑人。。。至少对我这个初学者来说是如此。后面解释原因。
一、加入cxf支持
简单的说就是创建一个普通的web项目,并加将cxf的发布包和依赖包加入到项目的lib目录下。如果本项目不存在对外提供web服务的义务,那么可以只加入作为客户端所需的依赖包即可(具体是哪几个,我现在也不知道

二、创建客户端的对应接口
package cn.ibeans.cxf.client;

import javax.jws.WebService;

@WebService
public interface HelloWorld {
	String sayHello(String msg);
}


三、配置spring
<?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-2.5.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-extension-soap.xml" />
 	<import resource="classpath:META-INF/cxf/cxf-servlet.xml" /> 
	 -->
	 
 	<bean id="client" class="cn.ibeans.cxf.client.HelloWorld"
      factory-bean="clientFactory" factory-method="create"/>
   
	<bean id="clientFactory" class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
	   <property name="serviceClass" value="cn.ibeans.cxf.client.HelloWorld"/>
	   <property name="address" value="http://localhost:8088/cxfServer/HelloWorld"/>
	</bean> 
</beans>


四、测试一把
写个测试类
package cn.ibeans.cxf.client;

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

public class HelloWorldTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {

		ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); // your Spring ApplicationContext
		HelloWorld client = (HelloWorld) context.getBean("client");
		String s = "aaaaaa";
		if(client!=null){
			s = client.sayHello("1234567880");
		}
		System.out.println("服务端的返回值为:"+s);
	}

}


运行一下测试类。看看都输出了什么?

五、小结
1、一定不要忘了在客户端创建一个名称和方法均与服务端一至的接口,这是我刚明白的道理。网上很多文章都写得很好。但全都忽略了这一点。那些文章往往将客户端和服务端放在一个web项目里演示。所以客户端可以直接引用服务端的接口类。但现实中完全不是这样,服务端能对客户端提供的只有wsdl的访问地址。很是感慨:高手写的文章往往会忽略一些不值一提,但对初学者却非常重要的细节。我就在这点上花费了不少时间才明白。

2、当前例子中只写了个java类来做测试。真正的web应用会对它页面来调用接口实现与服务端的对接。
分享到:
评论
2 楼 jiangli19192 2012-08-28  
例子好像有问题,得改一下路径才可以跑起来!
1 楼 jiangli19192 2012-08-28  
写得很好,学习了!

相关推荐

    Apache cxf 学习笔记.pdf

    Apache CXF 是一个开源的Java框架,它主要用于构建和开发服务导向架构...结合Spring框架,可以进一步提升服务的管理和维护能力。通过深入学习和实践,开发者可以充分利用CXF的优势,提高软件开发的效率和质量。

    Apache_cxf_学习笔记

    本学习笔记旨在提供对Apache CXF的基本理解、功能特性和实际操作指导。 **1. CXF 简介** 1.1 CXF概述 Apache CXF是一个全面的服务开发框架,它允许开发者创建和部署各种类型的Web服务,包括基于SOAP、RESTful、WS-...

    CXF与Spring整合基础学习笔记

    【CXF与Spring整合基础学习笔记】 在Java企业级开发中,Apache CXF是一个非常流行的开源服务框架,它用于构建和开发服务,支持多种Web服务标准。而Spring框架则是Java应用开发的核心框架,提供了一个全面的编程和...

    webservice(cxf)与spring整合源码+文档

    3. "ws_1231_cxf_spring_client":对应的客户端项目,展示了如何在Spring环境中创建Web服务客户端,调用由CXF提供的服务。这将涵盖如何设置客户端代理、发送请求和处理返回结果。 通过这些资料,学习者可以深入理解...

    Axis2,CXF版本学习笔记

    文件“WebService_CXF学习.doc”和“axis2_WebService_开发指南.docx”、“axis_WebService_-_开发指南.docx”应该包含了关于这两个框架的详细教程和实践案例,可以帮助你更深入地理解和应用它们。 总的来说,Axis2...

    webservice+cxf基础笔记和视频,

    总的来说,这份“webservice+cxf基础笔记和视频”资源将引导你进入Web服务的世界,通过学习和实践,你可以掌握使用CXF和Spring进行Web服务开发的基本技能。无论你是初学者还是有一定经验的开发者,这都将是一份有...

    Apache-cxf-学习笔记.docx

    - **CXF开发例子**:创建一个CXF Web服务通常包括定义服务接口、实现服务、配置服务发布和创建服务客户端。这些步骤可以通过注解、XML配置或者代码动态生成完成。 - **CXF与Spring集成例子**:CXF可以方便地与...

    CXF的学习笔记

    Frontends:CXF 支持多种“Frontend”编程模型,CXF 实现了 JAX-WS API (遵循 JAX-WS 2.0 TCK 版本),它也包含一个“simple frontend”允许客户端和 EndPoint 的创建,而不需要 Annotation 注解。CXF 既支持 WSDL ...

    Apache_cxf_学习笔记.docx

    ### Apache CXF 学习笔记知识点汇总 #### 一、CXF简介 ##### 1.1 CXF概述 - **背景介绍**:Apache CXF 是一个高性能、功能丰富的开源框架,用于构建和消费 Web 服务。它融合了 Celtix 和 XFire 两个开源项目的...

    CXF webservice初学笔记

    本笔记将探讨CXF的基本概念、如何使用CXF构建Webservice以及与之相关的技术栈,如Spring、Struts2等。 1. **CXF简介** - CXF(CXF Xfire + XWS)是两个项目的合并,提供了SOAP、RESTful、XML/HTTP、WS-*等协议的...

    Apache_CXF.zip

    "CXF学习笔记.docx"可能是个人或团队在学习CXF过程中整理的笔记,可能包含了一些实用技巧、常见问题解答以及解决方案。 8. **CXF框架下的WebService.ppt** 这个PPT文件可能是一个关于CXF的演示文稿,用于教学或...

    Java+WebService利用(cxf)开发笔记.rar

    - **创建客户端**:使用CXF的工具,如wsimport,生成客户端代理类,并调用服务。 4. **SOAP与RESTful的区别**: - SOAP是基于XML的消息协议,主要用于Web服务,强调消息的完整性和安全性,但相对复杂。 - ...

    CXF笔记

    【标题】:“CXF笔记” 【描述】:这篇博客文章主要探讨了Apache CXF框架的使用和理解,CXF是一个开源服务框架,它允许开发者构建和消费...总的来说,这篇“CXF笔记”是学习和深入了解CXF框架及其应用的一个宝贵资源。

Global site tag (gtag.js) - Google Analytics