前言,某些服务要发布成webService。webService 不精通,但是还知道一些工具包,庆幸以前用过xfire。ok 发布成功。哇嘎嘎,glassfish v2.2 测试有问题。郁闷。搞了半天不知道如何设置webService中方法的命名空间。哭了。哪就换吧。cxf。嘻嘻。一直想用这个就是没有时间。现在终于可以体验下了。
进入正文,记录下使用cxf 的一些问题。 使用的是cxf v2.3 + spring v3.0.5
使用cxf 发布webSerivce 服务。
老生常谈,几个配置文件的书写。
1.web.xml
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring/*.xml</param-value>
</context-param>
<!-- listener start -->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!-- listener end -->
<!-- filter start -->
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- filter end -->
<!-- Servlet start -->
<servlet>
<servlet-name>CXFServlet</servlet-name>
<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>CXFServlet</servlet-name>
<url-pattern>/service/*</url-pattern>
</servlet-mapping>
2.spring-webService.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"
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-extension-soap.xml" />
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
<jaxws:endpoint
id="helloWorldService"
implementor="com.bsoft.icp.bi6341.WebServiceImpl"
address="/helloWorldWebService" />
</beans>
3.注意对要发布成webService 服务的接口使用注解进行说明。顺道可以定义自己的命名空间。(测试。不使用注解会抛异常)
@WebService(targetNamespace="http://www.sun.com")
ok,服务器端发布成功,
输入: http://localhost:8080/appName/service/helloWorldWebService?wsdl 显示wsdl 文件。
客户端配置,也使用spring 配置:
<bean id="helloWorldWebService" class="com.test.IHelloworld" factory-bean="clientFactory"
factory-method="create" />
<bean id="clientFactory" class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
<property name="serviceClass" value="com.test.IHelloworld" />
<property name="address" value="${webservice.empi}" />
</bean>
客户端配置有几个问题需要注意下:
1.接口需要加 webService 注解。
2.如果服务器端和客户端的命名空间不一样,也会抛出异常。所以最好统一一下命名空键的问题。
分享到:
相关推荐
在IT行业中,Web服务是应用程序之间进行通信的一种标准方法,而CXF和Spring都是Java生态系统中的关键组件。本文将深入探讨如何将CXF与Spring框架整合,以构建高效且灵活的Web服务解决方案。 首先,让我们了解CXF。...
CXF允许开发者轻松地实现和消费这些服务,同时结合Spring,可以提供更灵活的服务管理和依赖注入功能。Maven的加入使得项目构建过程更加标准化,自动化处理依赖管理,使得整个开发流程更为高效。 【详细知识点】 1....
本篇文章将深入探讨CXF与Spring的结合,以及如何创建一个基于CXF和Spring的Web服务程序。 ### 1. CXF简介 CXF,全称CXF CXF,是 Continued eXtension Framework 的缩写,它的前身是XFire和Celtix两个项目。CXF不仅...
接下来,我们将深入探讨CXF与Spring结合开发Web服务所需的关键知识点。 首先,Spring框架的组件在整合中起着至关重要的作用。以下是压缩包中包含的Spring库的简要介绍: 1. **spring-context-3.0.5.RELEASE.jar**...
6. **异常处理**:CXF和Spring结合时,可以利用Spring的AOP功能进行全局异常处理,统一捕获并处理Web服务调用中的异常。 7. **安全控制**:通过Spring Security或CXF自身的安全模块,可以实现对Web服务的认证和授权...
当将CXF与Spring结合使用时,Spring可以管理CXF组件的生命周期,使得服务的创建和发布更加容易。Spring容器可以通过XML配置或注解来管理CXF的服务端点,这样开发者无需手动创建和管理服务实例。此外,Spring的DI可以...
利用CXF和Spring结合搭建的SOA例子,内容包含服务端配置和一个客户端测试配置,服务器端服务配置在beans.xml中,web.xml文件需要修改;客户端测试配置地址是demo.spring.client下的client-beans.xml,测试类为...
【描述】:本项目旨在展示如何在Java企业级应用(Java EE)中,通过Apache CXF框架创建Web服务,并结合Spring框架进行管理,从而能够灵活地返回不同类型的数据,包括List、自定义Bean对象、纯文本String以及常见的...
【CXF结合Spring项目实例】是一个综合性的教程,旨在演示如何在Java开发环境中整合Apache CXF与Spring框架,实现高效、灵活的Web服务。Apache CXF是一个开源的Web服务框架,它支持SOAP、RESTful等多种服务风格,并且...
"CXF+Spring整合"是企业级Java应用程序中常用的一种技术组合,它结合了Apache CXF(一个用于构建和服务导向架构的开源框架)和Spring框架的优势,以实现高效、灵活的服务开发和管理。在Java世界里,CXF常用于创建Web...
总结来说,"CXF Spring 整合"是Java EE应用发布和使用Web服务的一种高效方法,它结合了CXF的强大Web服务功能和Spring的灵活性,使得开发者能够更专注于业务逻辑,而非底层通信细节。通过上述步骤,我们可以构建健壮...
【标题】"基于maven的cxf+spring简单demo"是一个示例项目,它演示了如何结合Apache CXF和Spring框架来构建一个简单的Web服务。Apache CXF是一个开源的Java框架,主要用于创建、部署和管理Web服务。而Spring是另一个...
这个代码例子是为了调用CXF提供的WS服务,所以先要下载“CXF和Spring结合的例子”,并将服务器(tomcat)运行起来,在利用本客户端测试,本客户端是根据服务端发布的WSDL文件,用wsdl2java直接生成java代码,加入到...
这个压缩包文件"CXF接口Spring+Hibernate的添加完整版"提供了将这三个技术整合在一起的一个示例,特别关注了如何实现一个基于CXF的接口,并结合Spring和Hibernate来完成数据的添加操作。以下是对这些知识点的详细...
在与Spring结合时,CXF服务可以通过Spring的依赖注入(DI)和配置管理功能来轻松管理和扩展。 在"**cxf+spring+client**"的场景中,我们通常会创建一个Spring配置文件,定义CXF客户端的bean。这个bean将包含服务的...
在IT行业中,Web服务是应用程序之间进行通信的一种标准方法,而CXF和Spring框架的结合则为开发高质量的Web服务提供了强大的支持。本实例将详细阐述如何利用CXF和Spring来构建Web服务的客户端和服务端。 一、CXF简介...
Struts2可以与CXF结合,通过Action跳转到不同的服务接口,从而提供动态的服务调用能力。 【标签】"CXF+spring WebService CXF"强调了这些组件的集成,特别是CXF作为Web服务的主要提供者,以及与Spring的紧密配合。...
本教程将详细介绍如何使用CXF和Spring框架搭建一个Web服务器,并结合iBatis作为数据库访问层,以及JSON作为后台与前端页面的数据交换格式。 **一、CXF框架** CXF是一个开源的服务框架,它允许开发人员创建和部署...
CXF与Spring的结合,使得开发者可以充分利用Spring的IoC(Inversion of Control,控制反转)和AOP(Aspect-Oriented Programming,面向切面编程)特性来管理服务的生命周期,简化服务的部署和调用。 CXF-Spring的...
在Java企业级开发中,Apache CXF和Spring框架的整合是常见的实践,它们结合可以创建高效、灵活的服务提供和消费平台。Apache CXF是一个开源的Web服务框架,它支持多种Web服务标准,如SOAP、RESTful等。而Spring框架...