`

Spring+WebService+CXF入门(转)

    博客分类:
  • SOA
 
阅读更多

Spring+WebService+CXF

1.web.xml文件配置

Java代码 复制代码 收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <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">
  3. <welcome-file-list>
  4. <welcome-file>index.jsp</welcome-file>
  5. </welcome-file-list>
  6. <!-- Spring配置文件的加载 -->
  7. <context-param>
  8. <param-name>contextConfigLocation </param-name>
  9. <param-value>/WEB-INF/classes/applicationcontext.xml</param-value>
  10. </context-param>
  11. <listener>
  12. <listener-class>
  13. org.springframework.web.context.ContextLoaderListener
  14. </listener-class>
  15. </listener>
  16. <!-- cxf的加载 -->
  17. <servlet>
  18. <servlet-name>CXFServlet</servlet-name>
  19. <servlet-class>
  20. org.apache.cxf.transport.servlet.CXFServlet
  21. </servlet-class>
  22. </servlet>
  23. <servlet-mapping>
  24. <servlet-name>CXFServlet</servlet-name>
  25. <url-pattern>/*</url-pattern>
  26. </servlet-mapping>
  27. </web-app>
<?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">
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
     <!-- Spring配置文件的加载 -->
    <context-param>
    	<param-name>contextConfigLocation </param-name>
    	<param-value>/WEB-INF/classes/applicationcontext.xml</param-value>
    </context-param>

	<listener>
		<listener-class>
			org.springframework.web.context.ContextLoaderListener
		</listener-class>
	</listener>
   <!-- cxf的加载 -->
	<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>/*</url-pattern>
	</servlet-mapping>  
</web-app>

 

2.spring的配置文件即applicationcontext.xml文件配置

Java代码 复制代码 收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xmlns:jaxws="http://cxf.apache.org/jaxws"
  5. xsi:schemaLocation="
  6. http://www.springframework.org/schema/beans
  7. http://www.springframework.org/schema/beans/spring-beans.xsd
  8. http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">
  9. <!--以下三个资源是必须有的 -->
  10. <import resource="classpath:META-INF/cxf/cxf.xml" />
  11. <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
  12. <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
  13. <!--服务端接口的注入 -->
  14. <bean id="hello"class="com.cxf.server.HelloImpl" />
  15. <jaxws:endpoint id="hellows" implementor="#hello" address="/Hello" />
  16. <bean id="client"class="com.cxf.client.Hello" factory-bean="clientFactory" factory-method="create"/>
  17. <bean id="clientFactory"class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
  18. <property name="serviceClass" value="com.cxf.client.Hello"/>
  19. <property name="address" value="http://localhost:8080/Spring_WebService/Hello"/>
  20. </bean>
  21. </beans>
<?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" />
 	<!--服务端接口的注入  -->
 	<bean id="hello" class="com.cxf.server.HelloImpl" />
 	<jaxws:endpoint id="hellows" implementor="#hello" address="/Hello" />
 
 	<bean id="client" class="com.cxf.client.Hello"  factory-bean="clientFactory" factory-method="create"/>   
    <bean id="clientFactory" class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">   
        <property name="serviceClass" value="com.cxf.client.Hello"/>   
        <property name="address" value="http://localhost:8080/Spring_WebService/Hello"/>   
    </bean>   
</beans>

 

3.客户端代码:

Java代码 复制代码 收藏代码
  1. package com.cxf.client;
  2. import javax.jws.WebService;
  3. @WebService
  4. publicinterface Hello {
  5. String SayHi(String text);
  6. }
package com.cxf.client;
import javax.jws.WebService;

@WebService
public interface Hello {

	String SayHi(String text);
}

 

Java代码 复制代码 收藏代码
  1. package com.cxf.client;
  2. import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
  3. import org.springframework.context.ApplicationContext;
  4. import org.springframework.context.support.ClassPathXmlApplicationContext;
  5. publicclass HelloText {
  6. publicstaticvoid main(String[] args){
  7. JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
  8. factory.setServiceClass(com.cxf.server.Hello .class);
  9. factory.setAddress("http://localhost:8080/Spring_WebService/Hello");
  10. com.cxf.server.Hello service=(com.cxf.server.Hello) factory.create();
  11. System.out.println("invoke webservice...");
  12. System.out.println("message context is:" + service.SayHi("i'm jjd"));
  13. // JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
  14. // factory.setServiceClass(IHelloWorld.class);
  15. // factory.setAddress("http://localhost:9000/HelloWorld");
  16. // IHelloWorld iHelloWorld = (IHelloWorld)factory.create();
  17. // System.out.println("invoke webservice...");
  18. // System.out.println("message context is:"+iHelloWorld.sayHi(" Josen"));
  19. // System.out.println("The Calculated Result is:"+iHelloWorld.sum(10L, 20L));
  20. //
  21. //
  22. //
  23. // ApplicationContext context = new ClassPathXmlApplicationContext("applicationcontext.xml");
  24. // Hello client = (Hello)context.getBean("client");
  25. // String s="test";
  26. // if (client!=null){
  27. // s = client.SayHi("i'm jjd");
  28. // }
  29. // System.out.println("服务器返回值是:"+s);
  30. }
  31. }
package com.cxf.client;
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
import org.springframework.context.ApplicationContext;   
import org.springframework.context.support.ClassPathXmlApplicationContext; 


public class HelloText {

	public static void main(String[] args){
		JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
        factory.setServiceClass(com.cxf.server.Hello .class);
        factory.setAddress("http://localhost:8080/Spring_WebService/Hello");
        com.cxf.server.Hello service=(com.cxf.server.Hello) factory.create();
        System.out.println("invoke webservice...");
        System.out.println("message context is:" + service.SayHi("i'm jjd"));

//        JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
//        factory.setServiceClass(IHelloWorld.class);
//        factory.setAddress("http://localhost:9000/HelloWorld"); 
//        IHelloWorld iHelloWorld = (IHelloWorld)factory.create();    
//        System.out.println("invoke webservice...");    
//        System.out.println("message context is:"+iHelloWorld.sayHi("     Josen"));    
//        System.out.println("The Calculated Result is:"+iHelloWorld.sum(10L, 20L));
//        
//        
//		
//		ApplicationContext context = new ClassPathXmlApplicationContext("applicationcontext.xml");
//		Hello client = (Hello)context.getBean("client");
//		String s="test";
//		if (client!=null){
//			s = client.SayHi("i'm jjd");
//		}
//		System.out.println("服务器返回值是:"+s);
	}
}

 

4.服务端代码

Java代码 复制代码 收藏代码
  1. package com.cxf.server;
  2. import javax.jws.WebService;
  3. @WebService
  4. publicinterface Hello {
  5. String SayHi(String text);
  6. }
package com.cxf.server;
import javax.jws.WebService;

@WebService
public interface Hello {

	String SayHi(String text);
}

 

Java代码 复制代码 收藏代码
  1. package com.cxf.server;
  2. import javax.jws.WebService;
  3. @WebService(endpointInterface="com.cxf.server.Hello")
  4. publicclass HelloImpl implements Hello {
  5. public String SayHi(String text) {
  6. //System.out.println("客户端传值是:"+text);
  7. int n = text.indexOf(" ");
  8. text = text.substring(n+1, text.length());
  9. return"你好 " + text;
  10. }
  11. }
分享到:
评论

相关推荐

    xfire+spring+webservice入门例子

    【xfire+Spring+WebService 入门实例详解】 在IT行业中,Web服务是一个重要的通信方式,它允许不同系统间的应用程序进行数据交换。本入门实例将深入探讨如何使用XFire框架与Spring集成来构建和消费Web服务。XFire是...

    Webservice笔记含使用cxf和jaxws两种方式开发webservice【源代码+笔记】

    第一天: 什么是webservice? 从案例(便民查询网站)分析如何实现? 使用socket实现。... CXF入门程序 Spring+cxf整合(重点) CXF发布rest的webservice。(重点) 综合案例: 实现便民查询网站

    spring+cxf小demo

    【Spring+CXF小Demo】是基于Java开发的一个入门级示例,主要展示了如何结合Spring框架与CXF库来创建和消费Web服务。Spring是企业级应用开发的强大框架,而CXF是一个开源的服务栈,用于构建和部署Web服务。这个Demo...

    CXF3.0.2+Spring3.2.14 WebService入门实例四

    【CXF3.0.2+Spring3.2.14 WebService入门实例四】的知识点解析 在本文中,我们将深入探讨如何使用Apache CXF 3.0.2版本和Spring 3.2.14框架来创建一个基于WebService的文件传输应用。Apache CXF是一个流行的开源...

    Webservice入门教程_用CXF编写基于Spring的WebService示例代码.zip

    通过这个入门教程,你将能够掌握使用Apache CXF和Spring创建和消费Web服务的基本技能,为你的Java Web应用开发打下坚实的基础。同时,随着对这些技术的深入理解和实践,你还可以进一步探索更高级的主题,如RESTful...

    WebService (一) CXF 入门 HelloWorld

    CXF入门步骤 #### 2.1 创建项目 首先,我们需要一个Maven项目,确保`pom.xml`中包含了CXF的依赖: ```xml &lt;groupId&gt;org.apache.cxf &lt;artifactId&gt;cxf-rt-frontend-jaxws &lt;version&gt;3.3.3 &lt;groupId&gt;org....

    CXF入门简单实例(spring整合)

    这个"CXF入门简单实例(spring整合)"的压缩包文件提供了使用Spring框架与CXF集成的基础教程。让我们深入了解一下CXF和Spring的整合以及如何通过这个实例来创建一个简单的Web服务。 首先,CXF支持多种协议,如SOAP、...

    CXF WEBSERVICE入门,非常详细实用

    Apache CXF = Celtix + XFire,Apache CXF 的前身叫 Apache CeltiXfire,现在已经正式更名为 Apache CXF 了,以下简称为 CXF。CXF 继承了 Celtix 和 XFire 两大开源项目的精华,提供了对 JAX-WS 全面的支持,并且...

    CXF+Spring+JPA+JAX_WS API +Tomcat

    Java web service 入门示例,使用 JAX_WS API 开发,使用 CXF 发布,集成 Spring ,Spring orm 基于 JPA 开发 DAO, 并使用 Spring data jpa 简化 DAO 实现。

    WebService CXF学习文档

    WebService CXF学习——入门篇 1.CXF由来 2.HelloWorld 3.WSDL描述 WebService CXF学习——进阶篇 1.SOAP讲解 2.JAX-WS讲解 3.对象传递 WebService CXF学习——高级篇(一)(二) 1.整合Spring框架 2.CXF...

    CXF 一个完整的webService(整合客户端和服务端)

    CXF入门** 对于初学者,了解CXF的基本概念是至关重要的。CXF基于JAX-WS(Java API for XML Web Services)标准,提供了一套工具和服务,用于创建服务端和客户端的应用程序。CXF的核心组件包括: - **服务接口和...

    cxf 入门(hello world)

    【标题】:“CXF入门(Hello World)” 【描述】:这篇文章主要介绍如何使用Apache CXF框架进行Web服务开发,通过一个简单的“Hello World”示例来帮助初学者理解CXF的基本用法。 Apache CXF是一个开源的Java框架...

    WebService CXF学习-入门篇.pdf

    **WebService CXF 学习——入门篇** **一、WebService CXF 由来与目标** Apache CXF 是一个流行的开源框架,它源自 ObjectWeb Celtix 和 CodeHaus XFire 的合并,这两个项目分别由 IONA 公司和业界知名SOAP堆栈...

    cxf入门例子(安全认证)

    【CXF入门例子(安全认证)】 Apache CXF 是一个开源的 Java 框架,主要用于构建和开发服务导向架构(SOA)和 RESTful Web 服务。它提供了丰富的功能,包括SOAP、REST、WS-* 标准支持、数据绑定、JAX-RS 和 JAX-WS ...

    cxf入门使用代码展示

    【CXF入门使用代码展示】 Apache CXF是一个开源的Java框架,主要用于构建和开发Web服务。它提供了多种方式来创建和消费Web服务,包括基于Java API for RESTful Web Services (JAX-RS) 和 Java API for XML Web ...

    spring-boot-cxf-jaxrs:使用Spring Boot和CXF JAXRS快速入门

    快速入门使用Spring Boot来配置一个小的应用程序,其中包括启用了Swagger的CXF JAXRS端点。 重要的 该快速入门可以在2种模式下运行:在您的计算机和Kubernetes / OpenShift群集上独立运行 部署选项 您可以在以下...

    cxf webserice 开发指南

    **二、CXF 入门示例** 为了快速上手,我们可以创建一个简单的"HelloWorld"服务。 首先,你需要在项目中添加CXF所需的jar包。然后,编写服务端代码,如下所示: ```java package com.hoo.service; import javax....

    CXF的入门实例

    **CXF入门实例详解** Apache CXF 是一个开源的Java框架,主要用于构建和开发Web服务。它提供了多种方式来创建和消费SOAP以及RESTful服务,是Java世界中广泛使用的Web服务实现工具。在这个"CXF HelloWorld"入门实例...

    学习CXF WebService入门实例一.pdf

    【CXF WebService入门】 在互联网开发中,Web Service是一种常见的通信方式,它允许不同系统之间通过网络进行数据交换。Apache CXF 是一个流行的开源框架,用于创建和消费Web服务,尤其以其与Spring框架的高度集成而...

Global site tag (gtag.js) - Google Analytics