2.3 书写客户器端的服务和配置CXF
新建一java工程,导入cxf的66个文件和ws.userinfo.jar,然后书写配置文件,也在src下新建一个applicationContext_cxf.xml,具体代码是
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xmlns:soap="http://cxf.apache.org/bindings/soap"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://cxf.apache.org/bindings/soap
http://cxf.apache.org/schemas/configuration/soap.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" />
<jaxws:client id="userWebService"
address="http://127.0.0.1:8089/webproject/services/callUserService"
//这个地址必须和wsdl写的地址一致哦
serviceClass="com.demo.service.userinfo.IUserService">
//这里必须是服务的接口类
</jaxws:client>
</beans>
有了这个配置文件,就很好写测试类,代码如下:
package com.peter.userinfo.test;
import com.demo.service.userinfo.IUserService;
public class AppWsClient {
public static void main(String args[]){
IUserService userInfo = (IUserService) ApplicationContextUtils
.getApplicationContext().getBean("userWebService");
System.out.println(" client has been initiated ...... ");
String password=userInfo.getPassword("admin");
System.out.println("returnStr = "+password);
}
}
帮助类很好理解(这个是做demo用的):
package com.peter.userinfo.test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class ApplicationContextUtils {
private static ApplicationContext applicationContext;
private static final String[] locations = {
"applicationContext_cxf.xml" };
static {
if (applicationContext == null)
applicationContext = rebuildApplicationContext();
}
public static ApplicationContext rebuildApplicationContext() {
return new ClassPathXmlApplicationContext(locations);
}
public static ApplicationContext getApplicationContext() {
return applicationContext;
}
public static void main(String[] args) {
rebuildApplicationContext();
if (applicationContext == null) {
System.out.println("ApplicationContext is null");
} else {
System.out.println("ApplicationContext is not null!");
}
}
}
现在可以把服务端先启起来,然后运行客户端的程序,就能看到如下结果:
客户端的打印结果:
client has been initiated ......
returnStr = admin's password=123456
服务器端的打印是
Server's UserInfoImpl's getPassord() is called, and loginName=admin
和以前的AXIX2和Xfire的WebService接口的开发,CXF确实简单多,开发量少了,而且比较容易理解。
分享到:
相关推荐
Spring 框架与 Apache CXF 结合使用可以极大简化 WebService 的开发过程。本文将基于提供的文件信息,深入探讨如何利用 Spring2 和 CXF 轻松地实现 WebService 接口,并详细解析相关的注解及其作用。 #### 二、...
【CXF Webservice初学笔记】 在IT行业中,Web服务是一种允许不同系统之间进行通信和交换数据的方法。Apache CXF是一个流行的开源框架,用于构建和部署Web服务。本笔记将探讨CXF Webservice的基础知识,包括其核心...
在"SSH CXF webservice 开发笔记demo.pdf"中,可能详细记录了从设置环境、创建项目、配置SSH框架、集成CXF、编写服务接口和实现、部署服务到服务器的每一步骤。"lib.rar"可能包含了项目所需的第三方库文件,包括SSH...
在"Java+WebService利用(cxf)开发笔记"中,你将找到这些概念的实际应用和案例,帮助你深入理解如何使用CXF创建和调用Web服务。这份笔记是学习和实践的宝贵资料,不仅可以帮助初学者快速上手,也能为有经验的开发者...
总结,本篇学习笔记通过一个简单的CXF服务端和客户端示例,介绍了CXF框架的使用,包括接口定义、实现、实体类以及相关配置。通过对这些概念和步骤的理解,读者可以快速入门CXF并开始创建自己的Web服务。
这份压缩包很可能包含了一位开发者在使用CXF开发Web服务过程中的学习笔记,可能包括了以下内容: - **基础教程**:介绍如何搭建CXF环境,创建第一个Web服务。 - **案例研究**:通过实际项目阐述如何设计和实现复杂的...
总的来说,这份“webservice+cxf基础笔记和视频”资源将引导你进入Web服务的世界,通过学习和实践,你可以掌握使用CXF和Spring进行Web服务开发的基本技能。无论你是初学者还是有一定经验的开发者,这都将是一份有...
文件“WebService_CXF学习.doc”和“axis2_WebService_开发指南.docx”、“axis_WebService_-_开发指南.docx”应该包含了关于这两个框架的详细教程和实践案例,可以帮助你更深入地理解和应用它们。 总的来说,Axis2...
### Apache CXF 学习笔记知识点汇总 #### 一、CXF简介 ##### 1.1 CXF概述 - **背景介绍**:Apache CXF 是一个高性能、功能丰富的开源框架,用于构建和消费 Web 服务。它融合了 Celtix 和 XFire 两个开源项目的...
"WebService_CXF.doc"和"cxf-webservice.doc"可能详细阐述了使用CXF创建和部署Web服务的步骤,包括编写服务接口和服务实现,定义WSDL(Web服务描述语言),以及如何通过CXF工具生成客户端代码。 4. **CXF教程** ...
1. "webservice12月31号课堂笔记.docx":这可能是一份详细的课程笔记,记录了关于Web服务和CXF-Spring整合的讲解内容,可能包括理论知识、步骤指导和关键点解析。 2. "ws_1231_cxf_spring_server":这可能是一个...
Frontends:CXF 支持多种“Frontend”编程模型,CXF 实现了 JAX-WS API (遵循 JAX-WS 2.0 TCK 版本),它也包含一个“simple frontend”允许客户端和 EndPoint 的创建,而不需要 Annotation 注解。CXF 既支持 WSDL ...
在了解如何使用Eclipse和CXF开发和部署Web服务之前,我们需要先明确一些关键的基础概念。 首先,CXF是一个开源的服务框架,它支持创建Web服务,特别是基于SOAP和REST的Web服务。它提供了丰富的工具来快速开发和部署...
- **CXF开发例子**:创建一个CXF Web服务通常包括定义服务接口、实现服务、配置服务发布和创建服务客户端。这些步骤可以通过注解、XML配置或者代码动态生成完成。 - **CXF与Spring集成例子**:CXF可以方便地与...