`

cxf发布webServices、xml格式

阅读更多

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

    【标题】"CXF实现WebServices_4"深入解析 在IT行业中,Web Services是一种用于构建分布式系统的重要技术,它允许不同的应用程序通过网络进行通信。Apache CXF是Java平台上一个强大的开源框架,专门用于实现和消费...

    Spring集成Cxf暴露WebServices示例

    在IT行业中,Spring框架是Java领域最常用的轻量级应用框架之一,而Cxf则是一个强大的服务导向架构(SOA)工具集,主要用于构建和开发Web服务。本示例将探讨如何通过Spring集成Cxf来暴露Web服务,帮助开发者更好地...

    CXF实现WebServices_1

    【标题】"CXF实现WebServices_1"的讲解主要聚焦于如何利用Apache CXF框架来构建和消费Web服务,这是企业级应用中常见的技术。Apache CXF是一个开源的Java框架,它允许开发者创建和使用Web服务,支持SOAP、RESTful等...

    Spring集成Cxf调用WebServices

    本篇将深入探讨如何将Spring与CXF整合,以实现高效地调用Web Services。 1. **Spring框架**:Spring以其依赖注入(Dependency Injection, DI)和面向切面编程(Aspect-Oriented Programming, AOP)为核心,提供了一...

    cxf 开发web services apache 官方文档

    根据提供的文件信息,我们可以深入探讨 CXF 在开发 Web Services 方面的应用及其实现细节。以下是对标题、描述、标签以及部分内容中的关键知识点进行的详细解释。 ### 一、CXF 概述 #### 标题:“cxf 开发web ...

    Apache CXF部署WebServices实例代码

    Apache CXF是一个开源框架,主要用于构建和开发Web服务。它提供了强大的支持,使得开发者能够轻松地创建、部署和消费Web服务。在这个实例中,我们将深入理解如何使用Apache CXF来部署Web服务,并通过代码实现这一...

    cxf发布webservice

    WSDL(Web Services Description Language)是一种XML格式,用于定义Web服务的接口,包括服务提供的操作、输入和输出消息以及服务的位置。`wsdl2java`是CXF提供的命令行工具,它可以将一个WSDL文件转换为Java源代码...

    Springboot整合CXF发布Web service和客户端调用(用户和密码验证)

    而Apache CXF则是一个强大的Web服务框架,用于创建和消费Web服务。本教程将详细介绍如何利用Spring Boot与CXF进行集成,以发布Web服务并实现用户和密码验证的客户端调用。 首先,我们需要在Spring Boot项目中引入...

    Apache CXF之结合Spring配置发布WebServices(Aegis数据绑定)

    在本话题中,我们将关注Apache CXF与Spring框架的集成,以及如何使用Aegis数据绑定来发布Web Services。 Spring是一个流行的Java企业级应用框架,它提供了丰富的功能,包括依赖注入、事务管理、数据访问等。Apache ...

    使用CXF发布Rest服务

    对于REST服务,CXF提供了基于JAX-RS(Java API for RESTful Web Services)的实现,使得RESTful服务的开发更加直观和简洁。 **发布REST服务** 1. **环境准备**:首先,确保你已经下载了CXF 2.3.3的jar包,这些依赖...

    CXF webService 接口

    1. **服务提供者接口(SPI)**:CXF使用JAX-WS(Java API for XML Web Services)服务提供者接口来创建Web服务。开发者可以通过实现`javax.jws.WebService`注解的类来定义服务端点。 2. **端点发布**:通过CXF的`...

    CXF WebServices整合SSH2和Uploadify上传控件

    本项目主要涉及了三个核心技术:CXF WebServices、SSH2以及Uploadify上传控件,这三者在IT领域都有重要的应用价值。这里我们将深入探讨这些技术及其整合过程。 **CXF WebServices** CXF(CXF - The Apache CXF ...

    CXF2.6 spring 提供rest服务输出xml或json等格式数据

    本文将详细探讨如何使用CXF 2.6版本与Spring框架结合,来提供REST服务并输出XML或JSON格式的数据。 首先,我们需要理解CXF的核心概念。CXF全称是Camel eXtended for Web Services,它提供了全面的Web服务实现,包括...

    CXF结合Spring开发WebServices示例工程

    "CXF结合Spring开发WebServices示例工程"包含了服务端和客户端的代码示例。服务端代码演示了如何定义服务接口,实现服务逻辑,并将其配置到Spring中。客户端代码展示了如何创建CXF客户端代理,并使用它来调用服务端...

    WebServices开发-Axis实例CXF实例

    Axis支持JAX-RPC(Java API for XML-based RPC)规范,但随着JAX-WS(Java API for XML Web Services)的出现,Axis2应运而生,它提供了更现代的WebServices实现。 **CXF**,全称为CXF XFire eXtended,是另一个...

    CXF 编写 WebServer DEMO

    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框架在服务器端发布WebServices接口,并通过具体的实战代码来阐述这一过程。 一、CXF框架介绍 CXF全称是CXF-CXF Fuses XFire和 Celtix,是一个Java EE平台上的Web服务框架。它支持多种...

    CXF部署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发布webservice所需的基础jar包

    其中,`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是...

Global site tag (gtag.js) - Google Analytics