`

java访问WebService返回xml数据生成为本地文件实例

    博客分类:
  • java
阅读更多
import java.io.IOException;  
import java.io.InputStream;  
import java.net.MalformedURLException;  
import java.net.URL;  
import java.net.URLConnection;  
import java.io.FileNotFoundException;   
import java.io.FileOutputStream;   
import java.io.PrintWriter;   
 
import org.w3c.dom.Document;  
import org.w3c.dom.DOMException;  
import org.xml.sax.SAXException;   
 
import javax.xml.parsers.DocumentBuilder;  
import javax.xml.parsers.DocumentBuilderFactory;  
import javax.xml.parsers.ParserConfigurationException;  
import javax.xml.transform.OutputKeys;   
import javax.xml.transform.Transformer;   
import javax.xml.transform.TransformerConfigurationException;   
import javax.xml.transform.TransformerException;   
import javax.xml.transform.TransformerFactory;   
import javax.xml.transform.dom.DOMSource;   
import javax.xml.transform.stream.StreamResult;   
 
/*** 
* @author xuechong 
* src   http://eric-619.iteye.com/blog/692838 
* 6/11/2010 16:58 
* DomXMLString.java 
* 概述:纯java方式访问远程WebService接口返回的xml格式的数据保存在本地 
*/ 
public class DomXMLString{  
    private static String SERVICES_HOST = "www.webxml.com.cn";  
    //远程WebService接口url  
    private static String NETDATA_URL = "http://webservice.webxml.com.cn/WebServices/WeatherWS.asmx/getRegionProvince";  
    //访问远程WebService接口返回的xml格式的数据保存在本地的绝对路径  
    private static String LOCAL_PC_SAVEFILE_URL = "E:dataTest/netDataToLocalFile.xml";  
      
    private DomXMLString(){}  
      
    public static void main(String[] args) throws Exception{      
        Document document = getProvinceCode(NETDATA_URL);  
        helloOK(document, LOCAL_PC_SAVEFILE_URL);  
    }  
      
    /*返回一个Document对象*/ 
    public static Document getProvinceCode(String netXMLDataURL){     
        Document document = null;  
        DocumentBuilderFactory documentBF = DocumentBuilderFactory.newInstance();  
        documentBF.setNamespaceAware(true);  
        try{  
            DocumentBuilder documentB = documentBF.newDocumentBuilder();  
            InputStream inputStream = getSoapInputStream(netXMLDataURL);    //具体webService相关  
            document = documentB.parse(inputStream);  
            inputStream.close();  
        }catch(DOMException e){  
            e.printStackTrace();  
            return null;  
        }catch(ParserConfigurationException e){  
            e.printStackTrace();  
            return null;  
        }catch (SAXException e){      
            e.printStackTrace();  
            return null;  
        }catch(IOException e){  
            e.printStackTrace();  
            return null;  
        }  
        return document;  
    }  
      
    /*返回InputStream对象*/ 
    public static InputStream getSoapInputStream(String url){  
        InputStream inputStream = null;  
        try{  
            URL urlObj = new URL(url);  
            URLConnection urlConn = urlObj.openConnection();  
            urlConn.setRequestProperty("Host", SERVICES_HOST);    //具体webService相关  
            urlConn.connect();  
            inputStream = urlConn.getInputStream();  
        }catch(MalformedURLException e){  
            e.printStackTrace();  
        }catch(IOException e){  
            e.printStackTrace();  
        }  
        return inputStream;  
    }  
      
    /*访问远程(WebService)xml数据后返回的xml格式字符串并生成为本地文件*/ 
    public static void helloOK(Document document, String savaFileURL){  
        TransformerFactory transF = TransformerFactory.newInstance();  
        try{   
            Transformer transformer = transF.newTransformer();   
            DOMSource source = new DOMSource(document);   
            transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8");   
            transformer.setOutputProperty(OutputKeys.INDENT, "YES");   
            PrintWriter pw = new PrintWriter(new FileOutputStream(savaFileURL));   
            StreamResult result = new StreamResult(pw);   
            transformer.transform(source, result);  
            System.out.println("生成xml文件成功!");   
        }catch(TransformerConfigurationException e){   
            System.out.println(e.getMessage());   
        }catch(IllegalArgumentException e){   
            System.out.println(e.getMessage());   
        }catch(FileNotFoundException e){   
            System.out.println(e.getMessage());   
        }catch(TransformerException e){  
            System.out.println(e.getMessage());   
        }   
    }  
      
}
0
0
分享到:
评论

相关推荐

    JAVA调用webservice并解析xml

    2. **创建WebService客户端**:使用WSDL(Web Service Description Language)文件,你可以自动生成Java客户端代码。Eclipse和MyEclipse都有工具可以做到这一点。WSDL文件描述了Web服务的接口、操作、消息格式等。 ...

    通过webservice提交xml数据以及soap协议的使用

    在提供的文件"通过webservice提交xml数据以及soap协议的使用 - 技术成就梦想 - CSDN博客.html"中,很可能包含了详细的操作步骤、示例代码以及相关的最佳实践。通过阅读这篇博客文章,你可以更深入地理解如何在实际...

    java版WebService生成客户端和服务端的实例

    本实例将详细讲解如何使用Apache Axis1.4工具来生成Java版的WebService服务端和客户端。 首先,让我们理解WebService的基本概念。WebService是一种基于HTTP协议的网络服务,它通过SOAP(Simple Object Access ...

    webservice之使用jaxb把xml转换Object或把对象转换成xml文件

    在Java世界中,使用JAXB(Java Architecture for XML Binding)库可以方便地实现XML数据与Java对象之间的转换,从而在WebService中轻松处理数据交换。本篇文章将深入探讨如何使用JAXB进行XML到Object以及Object到XML...

    Java WebService 简单实例 方式一(生成类文件方式)

    ### Java WebService 简单实例 方式一(生成类文件方式) #### 一、概述 在本篇文章中,我们将详细介绍如何通过生成类文件的方式来创建一个简单的 Java WebService 应用程序。这种方式非常适合初学者理解和实践 ...

    Java开发WebService实例

    本文将基于给定的“Java开发WebService实例”内容,深入解析如何在Tomcat中间件环境下,利用Java语言开发WebService,并通过具体示例来阐述相关的知识点。 #### WebService概念简述 WebService是一种遵循特定协议...

    java webService XML document String

    Java WebService 和 XML 在IT行业中是两个至关重要的概念,它们在构建分布式系统和服务交互中扮演着核心角色。这篇博文可能是关于如何在Java中处理XML文档,以及如何利用XML与Web服务进行通信的一个教程。让我们深入...

    动态调取webservice返回json数据并处理

    WebService是一种通过SOAP(简单对象访问协议)或者REST(表述性状态转移)协议提供功能的方法,通常采用XML或JSON作为数据交换格式。在本例中,我们使用的是返回JSON数据的WebService。JSON(JavaScript Object ...

    wsdl文件生成java webservice 工具(附带生成后调用方法)

    总的来说,"wsdl文件生成java webservice 工具"是一个实用的开发辅助工具,尤其适合初学者和开发者调试及学习Web服务。通过这个工具,可以快速地从WSDL文件生成Java代码,大大简化了Web服务的开发过程。只要遵循上述...

    java访问.net webservice获取与设置cookie

    以下是使用Java访问.NET Web服务并处理Cookie的一个基本示例: 1. 首先,确保已经生成了Web服务的客户端代理类。假设服务接口名为`LinkWebServiceService`,服务端点接口为`LinkWebServicePortType`。 2. 创建`...

    java调用json参数的webservice

    在客户端代码中,一般需要有一个客户端代理类,这个代理类可以由WSDL(Web Services Description Language)文件生成,WSDL文件用于描述WebService的服务细节。 4. 最后,客户端程序将接收WebService返回的数据,并...

    webservice+xml新手实例

    在提供的"skydemo"压缩包文件中,可能包含了一个简单的Web服务实例,可能包括服务端代码、WSDL文件以及客户端调用示例。学习这个实例可以帮助理解Web服务和XML在实际应用中的工作原理。 总结来说,Web服务结合XML...

    普通java访问c# webService

    本示例介绍的是如何使用Java来访问由C#编写的WebService服务。WebService是一种基于互联网的、平台无关的通信机制,它允许不同系统间的应用程序通过网络进行交互。 首先,我们需要理解WebService的基本原理。...

    java中webService生成客户端

    2. **生成客户端代码**:使用CXF的 wsdl2java 工具,可以将WSDL文件转换为Java客户端代码。在命令行中执行以下命令: ```bash cxf-codegen-plugin -wsdlLocation=...

    java实现webservice实例.doc

    "Java实现WebService实例" WebService是基于XML的、分布式的、跨语言的应用程序通信协议。它允许不同的应用程序之间进行交互和集成,从而实现业务逻辑的复杂交互。Java是其中一种常用的实现WebService的语言。 在...

    java调用WebService实例

    Java调用WebService是一种常见的在分布式系统中实现服务交互的方式,主要应用于不同系统间的数据共享和功能集成。在Java中,有多种库可以帮助我们完成这项任务,其中之一就是Apache Axis2。本篇文章将详细介绍如何...

    SAP&Java的Webservice实例

    SAP&Java的Webservice实例 Webservice 是一种基于 SOAP ...本文讲述了 SAP&Java 的 Webservice 实例,从 SAP 到 SAP,SAP 到 Java,Java 到 Java,Java 到 SAP 的 Webservice 调用,希望能够为读者提供有价值的参考。

    java定时进行webservice数据上报

    - 创建WebService客户端:首先,需要根据提供的WebService WSDL(Web Service Description Language)文件生成对应的Java客户端代码,这可以通过IDE插件(如Apache CXF的WSDL2Java工具)或手动编写完成。...

    Java-WebService应用实例

    总的来说,这个Java WebService应用实例为学习和实践如何在Java环境下使用Spring和XFire开发和部署WebService提供了一个很好的平台。通过对这个实例的深入研究,开发者不仅可以掌握WebService的基本概念,还能了解...

    java+webService+tomcat+实例

    然后,通过JAX-WS(Java API for XML Web Services)或Apache CXF等工具,我们可以将这个Java类转换为一个SOAP服务。生成的WSDL文件可以被客户端用来发现和调用服务。 接下来,我们将这个WebService部署到Tomcat...

Global site tag (gtag.js) - Google Analytics