`

cxf + spring 集成开发webservice

阅读更多

1. 用cxf + spring 开发webservice

 

/**
 * @author liuqing
 * 
 */
package demo.hw.server;

import javax.jws.WebService;


/**
 * webservice 接口
 * @author liuqing
 *
 */
@WebService
public interface HelloWorld {
    
    String sayHello(String text);
}

 

 

 

 

2. cxf 接口实现类

 

package demo.hw.server;


/**
 * 
 * @author liuqing
 * webservice 实现类
 */
public class HelloWorldImpl implements HelloWorld {

    public String sayHello(String text) {
        System.out.println("sayHi called");
        return "Hello " + text;
    }
}

 

 

  3. 配置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_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>cxfspring</display-name>
  <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>WEB-INF/beans.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>
     </servlet>
     <servlet-mapping>
         <servlet-name>CXFServlet</servlet-name>
         <url-pattern>/services/*</url-pattern>
     </servlet-mapping>
  <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>
</web-app>

 

 

 

4. spring beans.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-extension-soap.xml" />
	<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />

	<jaxws:endpoint 
	  id="helloWorld" 
	  implementor="demo.hw.server.HelloWorldImpl" 
	  address="/HelloWorld" />
	
</beans>
<!-- END SNIPPET: beans -->

 

 

 

5. 启动tomcat

 

2011-6-2 17:06:31 org.apache.cxf.transport.servlet.CXFServlet updateContext
信息: Load the bus with application context
2011-6-2 17:06:31 org.springframework.context.support.AbstractApplicationContext prepareRefresh
信息: Refreshing org.apache.cxf.bus.spring.BusApplicationContext@1971eb3: startup date [Thu Jun 02 17:06:31 CST 2011]; parent: Root WebApplicationContext
2011-6-2 17:06:31 org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
信息: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@c28cb7: defining beans []; parent: org.springframework.beans.factory.support.DefaultListableBeanFactory@1ff92f5
2011-6-2 17:06:31 org.apache.cxf.transport.servlet.AbstractCXFServlet replaceDestinationFactory
信息: Servlet transport factory already registered 

 

 

6. 生成wsdl 文件

 

  <?xml version="1.0" encoding="UTF-8" ?> 
- <wsdl:definitions name="HelloWorldImplService" targetNamespace="http://server.hw.demo/" xmlns:ns1="http://schemas.xmlsoap.org/soap/http" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://server.hw.demo/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <wsdl:types>
- <xs:schema elementFormDefault="unqualified" targetNamespace="http://server.hw.demo/" version="1.0" xmlns:tns="http://server.hw.demo/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="sayHello" type="tns:sayHello" /> 
  <xs:element name="sayHelloResponse" type="tns:sayHelloResponse" /> 
- <xs:complexType name="sayHello">
- <xs:sequence>
  <xs:element minOccurs="0" name="arg0" type="xs:string" /> 
  </xs:sequence>
  </xs:complexType>
- <xs:complexType name="sayHelloResponse">
- <xs:sequence>
  <xs:element minOccurs="0" name="return" type="xs:string" /> 
  </xs:sequence>
  </xs:complexType>
  </xs:schema>
  </wsdl:types>
- <wsdl:message name="sayHelloResponse">
  <wsdl:part element="tns:sayHelloResponse" name="parameters" /> 
  </wsdl:message>
- <wsdl:message name="sayHello">
  <wsdl:part element="tns:sayHello" name="parameters" /> 
  </wsdl:message>
- <wsdl:portType name="HelloWorld">
- <wsdl:operation name="sayHello">
  <wsdl:input message="tns:sayHello" name="sayHello" /> 
  <wsdl:output message="tns:sayHelloResponse" name="sayHelloResponse" /> 
  </wsdl:operation>
  </wsdl:portType>
- <wsdl:binding name="HelloWorldImplServiceSoapBinding" type="tns:HelloWorld">
  <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" /> 
- <wsdl:operation name="sayHello">
  <soap:operation soapAction="" style="document" /> 
- <wsdl:input name="sayHello">
  <soap:body use="literal" /> 
  </wsdl:input>
- <wsdl:output name="sayHelloResponse">
  <soap:body use="literal" /> 
  </wsdl:output>
  </wsdl:operation>
  </wsdl:binding>
- <wsdl:service name="HelloWorldImplService">
- <wsdl:port binding="tns:HelloWorldImplServiceSoapBinding" name="HelloWorldImplPort">
  <soap:address location="http://localhost:9090/cxfspring/services/HelloWorld" /> 
  </wsdl:port>
  </wsdl:service>
  </wsdl:definitions>

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    cxf+spring实现webservice

    8. **集成测试**:利用Spring Test和CXF的模拟测试工具,可以方便地进行Web服务的单元测试和集成测试。 9. **性能优化**:可以通过调整CXF的配置,例如缓存策略、线程池大小等,优化Web服务的性能。 10. **监控与...

    cxf+spring webservice demo client

    【描述】:“这个是cxf 集成spring 的webservice的例子 供大家参考” Apache CXF与Spring的集成使得开发和部署Web服务变得更加便捷。通过Spring,我们可以利用其依赖注入(DI)和面向切面编程(AOP)特性,更方便地...

    CXF2+Spring2.5开发WebService实例

    在本文中,我们将深入探讨如何使用Apache CXF 2与Spring 2.5框架来开发Web服务实例。Apache CXF是一个流行的开源项目,它提供了一种简单且强大的方式来实现和消费SOAP和RESTful Web服务。Spring框架则以其模块化、...

    CXF+Spring+Tomcat发布WebService

    4. **CXF与Spring集成**:CXF可以与Spring无缝集成,通过Spring配置文件来管理Web服务的bean。这样,Web服务的实例化、初始化和生命周期管理都可以交由Spring处理,提高代码的可测试性和可维护性。 5. **Tomcat...

    cxf+spring的webservice实例

    2. **Spring集成**: Spring框架以其模块化和松耦合的特性,与CXF的集成使得Web服务的生命周期管理变得更加便捷。Spring可以用来管理CXF的服务端点,同时也可以提供AOP(面向切面编程)功能,如事务管理、安全控制...

    cxf+spring=webservice CXF 应用开发

    综上所述,"cxf+spring=webservice CXF 应用开发"的主题涵盖了从基础的Web服务概念,到CXF和Spring的集成,再到实际的应用开发、测试和部署等多个方面。通过深入学习这些知识点,开发者可以高效地构建和管理高质量的...

    cxf+spring+tomat开发webservice所需jar包

    在开发Web服务时,CXF、Spring和Tomcat是三个重要的组件。让我们深入探讨这些技术以及它们如何协同工作创建一个有效的Web服务环境。 1. **CXF**:CXF(Code-first eXtended Framework)是一个开源的服务框架,用于...

    CXF2.7+Spring3 Java WebService 集成用例

    3. **CXF与Spring集成的优势**: - **依赖注入(DI)**:Spring的DI允许CXF组件轻松地接收来自Spring容器的依赖,无需硬编码实例化。 - **配置简化**:通过Spring配置文件,可以集中管理Web服务的生命周期和配置。...

    cxf+spring开发webservice客户端与服务端实例

    在IT行业中,Web服务是应用程序之间进行通信的一种标准方法,而CXF和Spring框架的结合则为开发高质量的Web服务提供了强大的支持。本实例将详细阐述如何利用CXF和Spring来构建Web服务的客户端和服务端。 一、CXF简介...

    cxf+spring发布webservice和restservice

    为了将CXF与Spring集成,你需要配置Spring上下文文件,声明CXF的Servlet或Jetty服务器,然后将你的服务bean定义为Spring组件。这样,Spring会负责服务的初始化和销毁,而CXF则负责服务的暴露和调用。在项目中,...

    cxf+spring webservice server demo

    这个项目展示了如何将CXF与Spring集成,以创建、部署和运行一个高效的Web服务。 【描述】指出,由于文件大小的限制,客户端部分是分开上传的。这意味着该项目不仅包括了服务端的实现,而且可能需要配合一个单独的...

    Apache CXF2+Spring2.5轻松实现WebService

    总结来说,Apache CXF 2与Spring 2.5的集成使得Web服务的开发变得更加便捷和灵活。通过Spring的配置,我们可以方便地管理服务的生命周期,同时利用CXF的强大功能来处理各种Web服务协议。这不仅提高了开发效率,也...

    CXF3.0.9+SPRING开发webservice例子

    当我们谈论"CXF3.0.9+SPRING开发webservice例子"时,这意味着我们将探讨如何结合这两个强大的工具来创建和消费Web服务。 首先,让我们深入了解CXF。Apache CXF是基于Java的,它支持多种Web服务标准,如SOAP、...

    CXF2.1.3+spring3.0+struts2.3.4

    【标签】"CXF+spring WebService CXF"强调了这些组件的集成,特别是CXF作为Web服务的主要提供者,以及与Spring的紧密配合。CXF不仅可以用作服务提供者,还可以作为客户端来消费其他服务,这在Spring的管理下变得更加...

    简单cxf+spring构建webservice服务

    通过阅读和运行这些代码,你可以更深入地理解如何将CXF与Spring集成以构建Web服务。 总的来说,使用CXF和Spring构建Web服务涉及了Java编程、Web服务原理、Spring框架的使用、以及CXF的相关配置和工具。这是一个典型...

    CXF+Spring+Hibernate实现WebService

    Spring的IoC容器可以轻松地集成CXF和Hibernate,使得服务的配置和生命周期管理变得更加简洁。 **Hibernate持久化框架**:Hibernate是一个强大的ORM(对象关系映射)工具,它可以将Java对象与数据库表进行映射,简化...

    cxf+Spring实现webservice工程

    Apache CXF是一个强大的开源框架,它提供了多种方式来构建和部署Web服务,而Spring则以其模块化、易用性和丰富的功能闻名,是Java开发中的常用框架。 首先,让我们深入了解Apache CXF。CXF允许开发者使用Java编程...

    cxf+spring实现webservice例子

    Spring还与许多其他框架如CXF进行了很好的集成,可以方便地用于Web服务的实现。 在这个“cxf+spring实现webservice”的例子中,我们首先需要确保已经安装了Eclipse IDE,并且配置了Java和Maven环境。然后,我们需要...

    cxf+spring+hibernate集成整合jar包

    "cxf+spring+hibernate集成整合jar包"就是这样一个集合,它将三个关键的技术框架——CXF、Spring和Hibernate整合在一起,为开发人员提供了一个强大的后端服务开发平台。以下是对这些技术及其集成的详细解释。 **CXF...

    cxf+spring+tomcat

    它将Apache CXF(一个用于构建和消费Web服务的开源框架)与Spring框架(一个广泛使用的Java企业级应用开发框架)以及Tomcat(一个流行的轻量级Java应用服务器)集成在一起。这个"helloWorld"例子是用来演示如何在...

Global site tag (gtag.js) - Google Analytics