`

axis调用webservice 返回xml解析

 
阅读更多
import java.io.IOException;
import java.io.StringReader;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.xml.namespace.QName;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.xml.sax.InputSource;

public class Test3 {
	
	public static void main(String[] args) {
		System.out.println("================++++++++++===========");
		try {
			Service service = new Service();
			String url = "http://*****:8004/bianmin.asmx";
			System.out.println("DMZ-url=========="+url);
			String soapaction = "http://www.bluebutterfly.cn/";
			String funcname = "ShowInfoByCardIDName";
			Call call = (Call) service.createCall();
			call.setTargetEndpointAddress(url);
			call.setOperationName(new QName(soapaction, funcname)); // 设置要调用哪个方法
			call.addParameter(
					new QName(soapaction, "name"), // 设置要传递的参数
					org.apache.axis.encoding.XMLType.XSD_STRING,
					javax.xml.rpc.ParameterMode.IN);
			call.addParameter(
					new QName(soapaction, "cardID"), // 设置要传递的参数
					org.apache.axis.encoding.XMLType.XSD_STRING,
					javax.xml.rpc.ParameterMode.IN);
			call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);// 返回类型

			call.setUseSOAPAction(true);
			call.setSOAPActionURI(soapaction + funcname);
			String uname  = "*涛";
			String cardID = "37***11";
			String v = (String) call.invoke(new Object[] { uname, cardID});// 调用方法并传递参数
			System.out.println(v);
			System.out.println(xmlElements(v));
		} catch (Exception ex) {
			ex.printStackTrace();
		}
		
	}
	
	/**
	 * 解析xml字符串返回一个Map
	 * 
	 * @param xmlDoc
	 * @return Map
	 */
	public static Map xmlElements(String xmlDoc) {
		Map map = new HashMap();
		// 创建一个新的字符串
		StringReader read = new StringReader(xmlDoc);
		// 创建新的输入源SAX 解析器将使用 InputSource 对象来确定如何读取 XML 输入
		InputSource source = new InputSource(read);
		// 创建一个新的SAXBuilder
		SAXBuilder sb = new SAXBuilder();
		try {
			// 通过输入源构造一个Document
			Document doc = sb.build(source);
			// 取的根元素
			Element root = doc.getRootElement();
			// 得到根元素所有子元素的集合
			List jiedian = root.getChildren();
			// 获得XML中的命名空间(XML中未定义可不写)
			Element et = null;
			for (int i = 0; i < jiedian.size(); i++) {
				et = (Element) jiedian.get(i);// 循环依次得到子元素
				map.put(et.getName(), et.getText());
			}
		} catch (JDOMException e) {
			e.printStackTrace();
			System.out.println("出错");
		} catch (IOException e) {
			e.printStackTrace();
			System.out.println("出错");
		}
		read.close();
		return map;
	}
}	    

 

分享到:
评论

相关推荐

    Android axis调用Webservice

    // 解析返回结果并处理 ``` **四、AndroidWebService与TestWebService项目** `AndroidWebService`可能是Android客户端项目,包含Android应用的代码,如Activity、Adapter、布局文件等,以及调用Web Service的相关...

    webservice远程调用,返回数据生成xml文件,并通过SAX解析出来

    webservice远程调用,返回String数据并生成xml文件到本地工程,在通过SAX解析器把数据解析出来。这是webservice应用的一个简单的例子。根据该例子的思想,可以实现很多功能了。例如把client工程的sayHello方法改为...

    详解axis调用webservice实例

    标题中的“详解axis调用webservice实例”表明我们将探讨如何使用Apache Axis库来调用Web服务。Apache Axis是一个开源工具,它允许Java开发者创建、部署和使用Web服务。在这个实例中,我们会有机会看到实际的Java代码...

    利用AXIS调用webservice所需JAR包

    本篇文章将深入探讨如何利用AXIS调用WebService,以及所需的JAR包及其作用。 首先,理解AXIS的基本概念至关重要。Apache Axis是Apache软件基金会开发的一个开源项目,它是一个用于构建Web服务和客户端的工具集。...

    java axis 调用webservice服务端

    Java Axis调用WebService服务端是Java开发者在进行分布式系统交互时常见的一种技术实践。Axis是Apache软件基金会开发的一个开源项目,它提供了一种方便、高效的方式,使得Java应用程序能够作为客户端来消费或作为...

    axis2发布webservice和调用axis2服务接口

    1. **创建WebService**:在Axis2中,可以通过编写一个简单的Java类并暴露其方法作为Web服务接口。这个类通常会遵循SOAP协议,定义服务操作。例如,你可以创建一个名为`HelloWorldService`的类,包含一个`sayHello`...

    java 通过axis调用天气预报的webservice

    标题中的“Java通过Axis调用天气预报的WebService”是指使用Java编程语言,通过Apache Axis库来访问和使用公开的天气预报Web服务。Apache Axis是一个开放源码的SOAP(简单对象访问协议)工具包,它允许开发者创建和...

    拼接xml调用webservice

    本主题的核心是"拼接XML调用WebService",这通常指的是通过构建XML字符串来构造请求,然后发送该请求到一个Web Service接口以获取响应。以下是对这个过程的详细解释: 1. **XML基础**:XML是一种结构化标记语言,它...

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

    这里我们关注的是动态调用WebService并处理返回的JSON数据,然后将这些数据展示在GridView中。这个过程涉及到的技术主要包括:WebService的调用、JSON数据解析以及数据绑定到GridView。 首先,让我们来理解...

    axis客户端调用webservice

    java axis客户端调用webservice,可应用于ofbiz框架。 解决网络上共享代码两次调用后会出现timeout的BUG

    使用axis轻松调用Webservice

    标题“使用axis轻松调用Webservice”涉及到的是在IT领域中如何通过Apache Axis工具来便捷地与Web服务进行交互。Apache Axis是一个开放源代码的Java框架,它允许开发者创建、部署和使用Web服务。这个标题暗示了我们将...

    最实用的axis调用webService接口所需的jar包和案例

    本篇将详细介绍如何利用Axis调用WebService接口,并提供必要的jar包和案例分析。 一、Axis简介 Axis是一个Java Web服务客户端和服务器端的实现,支持SOAP 1.1和1.2,WSDL(Web服务描述语言),以及XML Schema。它...

    java axis调用第三方webservice程序demo

    在Java中使用Axis调用Webservice,首先需要引入必要的库文件。这些库通常包括axis.jar、axis-wsdl4j.jar、commons-discovery.jar、commons-logging.jar、jaxrpc.jar和wsdl4j.jar等。这些库包含了处理SOAP消息、解析...

    使用axis调用WebService服务端

    总之,使用Axis调用WebService服务端是一个涉及接口定义、服务部署、客户端代码生成和执行的过程。理解这些步骤,以及如何处理可能出现的问题,对于任何需要集成Web服务的项目都是至关重要的。在实际开发中,熟练...

    spring+axis集成webservice

    Spring框架和Apache Axis是实现Web服务集成的两个关键工具。本文将深入探讨如何使用Spring与Axis进行集成,以便开发和消费Web服务。 首先,让我们了解Spring和Axis的基本概念。Spring是一个开源Java框架,它为构建...

    axis2webservice接口例子

    标题中的“axis2webservice接口例子”指的是使用Apache Axis2框架创建的一个Web服务接口实例。Apache Axis2是Java平台上的一款强大的Web服务开发工具,它提供了高效、灵活且可扩展的环境来构建和部署Web服务。这个...

    java axis 调用 .net webservice 短信收发

    总之,Java Axis调用.NET WebService实现短信收发是一项技术挑战,它涉及到多种技术的集成,包括Java编程、Web服务调用、XML解析等。通过这个实践,你可以深化对跨平台通信的理解,提升自己的技能水平。

    Axis动态调用webService

    Axis 动态调用 Web 服务 Axis 动态调用 Web 服务是指通过 Axis 框架来调用远程的 Web 服务。Axis 是一个流行的 Java 基于 SOAP 的 Web 服务框架,它提供了一个灵活的方式来调用 Web 服务。下面将逐步讲解 Axis 动态...

    Axis2WebService 源码

    它是基于XML的,确保了数据的可读性和可解析性,同时也是跨语言和跨平台的。 3. **WSDL(Web Services Description Language)**:WSDL是XML格式的规范,用于定义Web服务的接口。它描述了服务的位置、服务的操作...

    Java动态调用webService,axis2动态调用webService

    - **处理响应**:解析返回的SOAP响应,提取所需的数据。 5. **源码解析**: 由于没有具体的`WebServiceInvoker.java`文件内容,这里只能给出一个大概的源码结构示例: ```java import org.apache.axis2....

Global site tag (gtag.js) - Google Analytics