cxf发布webServices
1、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:jaxws="http://cxf.apache.org/jaxws" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.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="GreetingService" implementor="com.zcz.cxf.service.impl.GreetingServiceImpl" address="/GreetingService"/> </beans>
2、服务器端
1、接口
package com.zcz.cxf.service; import javax.jws.WebService; @WebService public interface GreetingService { public String greeting(String userName); public String say(String eat); //封装Document数据,返回XML字符串 public String XMLInfo() throws Exception; }
2、实现类
package com.zcz.cxf.service.impl; import javax.jws.WebService; import com.zcz.cxf.service.GreetingService; import com.zcz.cxf.util.OperationXMLByJdom; import org.jdom.Document; import org.jdom.Element; @WebService public class GreetingServiceImpl implements GreetingService { public String greeting(String userName) { return "你好! " + userName; } public String say(String eat) { return "该吃饭了" + eat; } //封装Document数据,返回XML字符串 public String XMLInfo() throws Exception { // 创建根节点 list; Element root = new Element("list"); // 根节点添加到文档中; Document Doc = new Document(root); // 此处 for 循环可替换成 遍历 数据库表的结果集操作; for (int i = 0; i < 5; i++) { // 创建节点 user; Element elements = new Element("user"); // 给 user 节点添加属性 id; elements.setAttribute("id", "" + i); // 给 user 节点添加子节点并赋值; // new Element("name")中的 "name" 替换成表中相应字段,setText("xuehui")中 "xuehui // 替换成表中记录值; elements.addContent(new Element("name").setText("xuehui")); elements.addContent(new Element("age").setText("28")); elements.addContent(new Element("sex").setText("Male")); // 给父节点list添加user子节点; root.addContent(elements); } OperationXMLByJdom xml2String = new OperationXMLByJdom(); String xmlDoc = xml2String.doc2String(Doc); return xmlDoc; } }
3、将document转换为string
package com.zcz.cxf.util; import org.jdom.Document; import java.io.ByteArrayOutputStream; import org.jdom.output.Format; import org.jdom.output.XMLOutputter; /** * 将document转换为string * @author Administrator * */ public class OperationXMLByJdom { /** * Document转换为字符串 * @param xmlFilePath XML文件路径 * @return xmlStr 字符串 * @throws Exception */ public static String doc2String(Document doc) throws Exception { Format format = Format.getPrettyFormat(); format.setEncoding("UTF-8");// 设置xml文件的字符为UTF-8,解决中文问题 XMLOutputter xmlout = new XMLOutputter(format); ByteArrayOutputStream bo = new ByteArrayOutputStream(); xmlout.output(doc, bo); return bo.toString(); } }
3、客服端
package com.zcz.cxf.client; import org.apache.cxf.jaxws.JaxWsProxyFactoryBean; import com.zcz.cxf.service.GreetingService; public class ClientTest{ public static void main(String[] args) { //创建WebService客户端代理工厂 JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean(); //注册WebService接口 factory.setServiceClass(GreetingService.class); //设置WebService地址 factory.setAddress("http://localhost:8080/testWebService/cxf/GreetingService"); GreetingService greetingService = (GreetingService)factory.create(); System.out.println("开始调用webservice..."); System.out.println("返回的信息是:"+greetingService.say("米饭")); try { System.out.println("返回的信息是:"+greetingService.XMLInfo()); } catch (Exception e) { } } }
相关推荐
【标题】"CXF实现WebServices_4"深入解析 在IT行业中,Web Services是一种用于构建分布式系统的重要技术,它允许不同的应用程序通过网络进行通信。Apache CXF是Java平台上一个强大的开源框架,专门用于实现和消费...
在IT行业中,Spring框架是Java领域最常用的轻量级应用框架之一,而Cxf则是一个强大的服务导向架构(SOA)工具集,主要用于构建和开发Web服务。本示例将探讨如何通过Spring集成Cxf来暴露Web服务,帮助开发者更好地...
【标题】"CXF实现WebServices_1"的讲解主要聚焦于如何利用Apache CXF框架来构建和消费Web服务,这是企业级应用中常见的技术。Apache CXF是一个开源的Java框架,它允许开发者创建和使用Web服务,支持SOAP、RESTful等...
本篇将深入探讨如何将Spring与CXF整合,以实现高效地调用Web Services。 1. **Spring框架**:Spring以其依赖注入(Dependency Injection, DI)和面向切面编程(Aspect-Oriented Programming, AOP)为核心,提供了一...
根据提供的文件信息,我们可以深入探讨 CXF 在开发 Web Services 方面的应用及其实现细节。以下是对标题、描述、标签以及部分内容中的关键知识点进行的详细解释。 ### 一、CXF 概述 #### 标题:“cxf 开发web ...
Apache CXF是一个开源框架,主要用于构建和开发Web服务。它提供了强大的支持,使得开发者能够轻松地创建、部署和消费Web服务。在这个实例中,我们将深入理解如何使用Apache CXF来部署Web服务,并通过代码实现这一...
WSDL(Web Services Description Language)是一种XML格式,用于定义Web服务的接口,包括服务提供的操作、输入和输出消息以及服务的位置。`wsdl2java`是CXF提供的命令行工具,它可以将一个WSDL文件转换为Java源代码...
而Apache CXF则是一个强大的Web服务框架,用于创建和消费Web服务。本教程将详细介绍如何利用Spring Boot与CXF进行集成,以发布Web服务并实现用户和密码验证的客户端调用。 首先,我们需要在Spring Boot项目中引入...
在本话题中,我们将关注Apache CXF与Spring框架的集成,以及如何使用Aegis数据绑定来发布Web Services。 Spring是一个流行的Java企业级应用框架,它提供了丰富的功能,包括依赖注入、事务管理、数据访问等。Apache ...
对于REST服务,CXF提供了基于JAX-RS(Java API for RESTful Web Services)的实现,使得RESTful服务的开发更加直观和简洁。 **发布REST服务** 1. **环境准备**:首先,确保你已经下载了CXF 2.3.3的jar包,这些依赖...
1. **服务提供者接口(SPI)**:CXF使用JAX-WS(Java API for XML Web Services)服务提供者接口来创建Web服务。开发者可以通过实现`javax.jws.WebService`注解的类来定义服务端点。 2. **端点发布**:通过CXF的`...
本项目主要涉及了三个核心技术:CXF WebServices、SSH2以及Uploadify上传控件,这三者在IT领域都有重要的应用价值。这里我们将深入探讨这些技术及其整合过程。 **CXF WebServices** CXF(CXF - The Apache CXF ...
本文将详细探讨如何使用CXF 2.6版本与Spring框架结合,来提供REST服务并输出XML或JSON格式的数据。 首先,我们需要理解CXF的核心概念。CXF全称是Camel eXtended for Web Services,它提供了全面的Web服务实现,包括...
"CXF结合Spring开发WebServices示例工程"包含了服务端和客户端的代码示例。服务端代码演示了如何定义服务接口,实现服务逻辑,并将其配置到Spring中。客户端代码展示了如何创建CXF客户端代理,并使用它来调用服务端...
Axis支持JAX-RPC(Java API for XML-based RPC)规范,但随着JAX-WS(Java API for XML Web Services)的出现,Axis2应运而生,它提供了更现代的WebServices实现。 **CXF**,全称为CXF XFire eXtended,是另一个...
3. **JAX-WS(Java API for XML Web Services)**:CXF基于JAX-WS标准,用于构建SOAP Web服务。它提供了一种从Java接口生成WSDL和从WSDL生成Java代码的方式。 4. **JAX-RS(Java API for RESTful Web Services)**...
本篇将深入探讨如何利用CXF框架在服务器端发布WebServices接口,并通过具体的实战代码来阐述这一过程。 一、CXF框架介绍 CXF全称是CXF-CXF Fuses XFire和 Celtix,是一个Java EE平台上的Web服务框架。它支持多种...
CXF支持两种主要的服务开发模型:JAX-WS(Java API for XML Web Services)和JAX-RS(Java API for RESTful Web Services)。 3. **JAX-WS**:JAX-WS是Java平台上的Web服务规范,用于创建基于SOAP的Web服务。使用...
其中,`cxf-api.jar`提供了CXF的API,`cxf-rt-frontend-jaxws.jar`用于JAX-WS(Java API for XML Web Services)的支持,而`cxf-rt-transports-http.jar`则是处理HTTP传输的模块。 2. **JAX-WS相关库**:JAX-WS是...