`
leon1509
  • 浏览: 536641 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JAVA使用axis调用WSDL的WebService

    博客分类:
  • JAVA
阅读更多
import javax.xml.rpc.ParameterMode;

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;

public class caClient {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		try {
			String endpoint = "http://ls.cqu.edu.cn/WebService/LibraryInterface.asmx?WSDL";
			// 直接引用远程的wsdl文件
			// 以下都是套路
			Service service = new Service();

			Call call = (Call) service.createCall();
			call.setTargetEndpointAddress(endpoint);
			call.setOperationName("SetLibraryValue");// WSDL里面描述的接口名称

			call.setSOAPActionURI("http://ls.cqu.edu.cn/SetLibraryValue");
			call.addParameter("Key", XMLType.XSD_STRING, ParameterMode.IN);// 接口的参数
			call.addParameter("XH", XMLType.XSD_STRING, ParameterMode.IN);// 接口的参数
			call.addParameter("HJDM", XMLType.XSD_STRING, ParameterMode.IN);// 接口的参数
			call.addParameter("BLSM", XMLType.XSD_STRING, ParameterMode.IN);// 接口的参数
			call.addParameter("SetState", XMLType.XSD_STRING, ParameterMode.IN);// 接口的参数
			call.addParameter("CZRID", XMLType.XSD_STRING, ParameterMode.IN);// 接口的参数
			call.addParameter("LogIP", XMLType.XSD_STRING, ParameterMode.IN);// 接口的参数

			call.setReturnType(XMLType.XSD_STRING);// 设置返回类型

			String key = "ewfasdfdsafew23434";
			String xh = "22";
			String hjdm = "33";
			String blsm = "33";
			String ss = "33";
			String cid = "33";
			String ip = "33";
			String result = (String) call.invoke(new Object[] { key, xh, hjdm, blsm, ss, cid, ip });

			// 给方法传递参数,并且调用方法
			System.out.println("result is " + result);
		} catch (Exception e) {
			System.err.println(e.toString());
		}
	}

}


上面的 WSDL 返回内容为:
  <?xml version="1.0" encoding="utf-8" ?> 
- <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://ls.cqu.edu.cn/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" targetNamespace="http://ls.cqu.edu.cn/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
- <wsdl:types>
- <s:schema elementFormDefault="qualified" targetNamespace="http://ls.cqu.edu.cn/">
- <s:element name="GetLibraryValue">
- <s:complexType>
- <s:sequence>
  <s:element minOccurs="0" maxOccurs="1" name="Key" type="s:string" /> 
  <s:element minOccurs="0" maxOccurs="1" name="XH" type="s:string" /> 
  <s:element minOccurs="0" maxOccurs="1" name="HJDM" type="s:string" /> 
  </s:sequence>
  </s:complexType>
  </s:element>
- <s:element name="GetLibraryValueResponse">
- <s:complexType>
- <s:sequence>
  <s:element minOccurs="0" maxOccurs="1" name="GetLibraryValueResult" type="s:string" /> 
  </s:sequence>
  </s:complexType>
  </s:element>
- <s:element name="SetLibraryValue">
- <s:complexType>
- <s:sequence>
  <s:element minOccurs="0" maxOccurs="1" name="Key" type="s:string" /> 
  <s:element minOccurs="0" maxOccurs="1" name="XH" type="s:string" /> 
  <s:element minOccurs="0" maxOccurs="1" name="HJDM" type="s:string" /> 
  <s:element minOccurs="0" maxOccurs="1" name="BLSM" type="s:string" /> 
  <s:element minOccurs="0" maxOccurs="1" name="SetState" type="s:string" /> 
  <s:element minOccurs="0" maxOccurs="1" name="CZRID" type="s:string" /> 
  <s:element minOccurs="0" maxOccurs="1" name="LogIP" type="s:string" /> 
  </s:sequence>
  </s:complexType>
  </s:element>
- <s:element name="SetLibraryValueResponse">
- <s:complexType>
- <s:sequence>
  <s:element minOccurs="0" maxOccurs="1" name="SetLibraryValueResult" type="s:string" /> 
  </s:sequence>
  </s:complexType>
  </s:element>
  </s:schema>
  </wsdl:types>
- <wsdl:message name="GetLibraryValueSoapIn">
  <wsdl:part name="parameters" element="tns:GetLibraryValue" /> 
  </wsdl:message>
- <wsdl:message name="GetLibraryValueSoapOut">
  <wsdl:part name="parameters" element="tns:GetLibraryValueResponse" /> 
  </wsdl:message>
- <wsdl:message name="SetLibraryValueSoapIn">
  <wsdl:part name="parameters" element="tns:SetLibraryValue" /> 
  </wsdl:message>
- <wsdl:message name="SetLibraryValueSoapOut">
  <wsdl:part name="parameters" element="tns:SetLibraryValueResponse" /> 
  </wsdl:message>
- <wsdl:portType name="LibraryInterfaceSoap">
- <wsdl:operation name="GetLibraryValue">
  <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"><B>获取学生某环节办理情况</B><p> <span style='color:green'><B>参数说明:</B></span> Key:钥匙 XH:学号 HJDM:环节代码 </BR><span style='color:red'><B>返回值说明:</B> 0:未通过办理 1:已通过办理 420:批次未启用 430:钥匙错误 440:学号不存在或者该学生未进入离校系统 450:环节代码错误</span><BR/></wsdl:documentation> 
  <wsdl:input message="tns:GetLibraryValueSoapIn" /> 
  <wsdl:output message="tns:GetLibraryValueSoapOut" /> 
  </wsdl:operation>
- <wsdl:operation name="SetLibraryValue">
  <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"><B>设置学生某环节办理状态</B><p> <span style='color:green'><B>参数说明:</B></span> Key:钥匙 XH:学号 HJDM:环节代码 BLSM:办理说明 SetState:设置状态[1,0](分别为已通过和未通过) CZRID:办理人身份认证号 LogIP:办理人登陆IP</BR><span style='color:red'><B>返回值说明:</B> 200:设置成功 420:批次未启用 430:钥匙错误 440:学号不存在或者该学生未进入离校系统 450:环节代码错误 460:环节状态设置错误 470:写入日志出错</span><BR/><center>版权所有:Copyright 重庆大学 www.cqu.edu.cn</center></wsdl:documentation> 
  <wsdl:input message="tns:SetLibraryValueSoapIn" /> 
  <wsdl:output message="tns:SetLibraryValueSoapOut" /> 
  </wsdl:operation>
  </wsdl:portType>
- <wsdl:binding name="LibraryInterfaceSoap" type="tns:LibraryInterfaceSoap">
  <soap:binding transport="http://schemas.xmlsoap.org/soap/http" /> 
- <wsdl:operation name="GetLibraryValue">
  <soap:operation soapAction="http://ls.cqu.edu.cn/GetLibraryValue" style="document" /> 
- <wsdl:input>
  <soap:body use="literal" /> 
  </wsdl:input>
- <wsdl:output>
  <soap:body use="literal" /> 
  </wsdl:output>
  </wsdl:operation>
- <wsdl:operation name="SetLibraryValue">
  <soap:operation soapAction="http://ls.cqu.edu.cn/SetLibraryValue" style="document" /> 
- <wsdl:input>
  <soap:body use="literal" /> 
  </wsdl:input>
- <wsdl:output>
  <soap:body use="literal" /> 
  </wsdl:output>
  </wsdl:operation>
  </wsdl:binding>
- <wsdl:binding name="LibraryInterfaceSoap12" type="tns:LibraryInterfaceSoap">
  <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" /> 
- <wsdl:operation name="GetLibraryValue">
  <soap12:operation soapAction="http://ls.cqu.edu.cn/GetLibraryValue" style="document" /> 
- <wsdl:input>
  <soap12:body use="literal" /> 
  </wsdl:input>
- <wsdl:output>
  <soap12:body use="literal" /> 
  </wsdl:output>
  </wsdl:operation>
- <wsdl:operation name="SetLibraryValue">
  <soap12:operation soapAction="http://ls.cqu.edu.cn/SetLibraryValue" style="document" /> 
- <wsdl:input>
  <soap12:body use="literal" /> 
  </wsdl:input>
- <wsdl:output>
  <soap12:body use="literal" /> 
  </wsdl:output>
  </wsdl:operation>
  </wsdl:binding>
- <wsdl:service name="LibraryInterface">
- <wsdl:port name="LibraryInterfaceSoap" binding="tns:LibraryInterfaceSoap">
  <soap:address location="http://ls.cqu.edu.cn/WebService/LibraryInterface.asmx" /> 
  </wsdl:port>
- <wsdl:port name="LibraryInterfaceSoap12" binding="tns:LibraryInterfaceSoap12">
  <soap12:address location="http://ls.cqu.edu.cn/WebService/LibraryInterface.asmx" /> 
  </wsdl:port>
  </wsdl:service>
  </wsdl:definitions>
分享到:
评论
2 楼 leon1509 2011-10-18  
只要有数据返回,不管是啥格式,该咋处理咋处理!XML就用dom4j或sax或jdom处理呗!
1 楼 zq_zero 2011-10-17  
如果接口方返回的是xml,该怎么处理啊?

相关推荐

    Java Axis 直接调用webservice 接口工具类

    Java Axis 直接调用webservice 接口工具类, 无需根据wsdl编译客户端,需要axis相关包,测试使用axis 1.4, 附demo引入axis包后直接可以测试;

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

    2. **使用Axis2的wsdl2java工具**:这个工具可以从WSDL文件生成Java客户端代码,包括服务代理类和服务接口。运行`wsdl2java`命令时,需要提供WSDL的URL或本地路径。生成的代码可以导入到项目中,方便调用服务。 3. ...

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

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

    Java+Axis2调用Web Services 网络接口

    要在Java中使用Axis2调用Web服务,首先需要在项目中添加Axis2的依赖库。这可以通过Maven或者直接下载jar包到项目的类路径中实现。然后,使用wsimport工具生成客户端 stubs,这些stubs将根据WSDL文件自动创建客户端...

    java axis 调用 .net webservice 短信收发

    Java Axis调用.NET WebService实现短信收发是一个跨平台、跨语言的通信技术应用实例。在本文中,我们将深入探讨这个主题,了解如何利用Java的Axis框架与.NET环境中的WebService进行交互,特别是在短信发送和接收方面...

    java 调用https webservice实例及axis包

    总的来说,使用Apache Axis调用HTTPS Web Service涉及到了Java的网络编程、SSL/TLS协议以及Web Service的原理。通过理解这些知识点,开发者可以构建安全、可靠的Web Service客户端应用。在实践中,务必关注安全性,...

    java axis调用第三方webservice程序demo

    本文将详细介绍如何使用Java Axis调用第三方Webservice,并提供一个简单的示例。 一、Java Axis调用第三方Webservice的准备工作 1. **所需Jar包**: 在Java中使用Axis调用Webservice,首先需要引入必要的库文件。...

    java axis 调用C# webService所需的jar包

    要成功地使用Java Axis调用C# WebService,你需要以下关键的jar包: 1. axis.jar:这是Axis的核心库,包含了处理SOAP消息和生成Web服务客户端代码的基础类。 2. axis-wsdl4j.jar:这个库用于从WSDL(Web服务描述...

    使用axis轻松调用Webservice

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

    axis调用webservice接口所需jar包.rar

    axis调用第三方webservice接口所需的jar包,包括axis-1.4.jar,axis-jaxrpc-1.3.jar,axis-jaxrpc-1.4.jar,commons-discovery-0.5.jar,commons-logging-1.2.jar,cxf-rt-databinding-jaxb-3.3.1.jar,javax.mail-...

    java axis 调用webservice服务端

    在Java中,使用Axis调用WebService服务端主要涉及以下几个步骤: 1. **创建WebService客户端 stub**:首先,我们需要从服务端提供的WSDL文件生成客户端stub代码。这可以通过Axis的wsdl2java工具完成。运行该工具并...

    axis2客户端调用webService接口,精简jar包

    本文将深入探讨如何使用Axis2客户端调用WebService接口,并且会特别关注如何精简所需的jar包。 首先,了解Axis2客户端的基本概念是至关重要的。Axis2客户端是用于与远程Web服务交互的工具,它允许开发者通过SOAP...

    java调用webservice wsdl源码

    在这个场景中,我们将深入探讨Java如何利用WSDL源码来调用WebService。 首先,我们需要理解WSDL文件的结构。WSDL文件是一个XML文档,定义了服务的端点(或“位置”),操作(或“服务提供的功能”),以及消息格式...

    基于axis2实现的webservice简单实现(客户端+服务端)。

    3. **部署服务**:使用Axis2的工具,如wsdl2java,将WSDL文件转换为Java代码,然后将服务类打包成服务存根(Stub)和 skeletons。 4. **启动服务**:通过Axis2的服务器实例化服务,使其监听特定端口,等待客户端请求...

    详解axis调用webservice实例

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

    AXIS2远程调用WebService示例(Eclipse+AXIS2)工具和所用包.rar

    3. 创建一个客户端应用程序,可以是另一个Java项目,使用AXIS2的Stub类来调用远程WebService。 **步骤6:调用WebService** 1. 在客户端项目中,使用AXIS2的Stub类(由WSDL生成)来实例化服务代理。 2. 通过代理对象...

    利用AXIS调用webservice所需JAR包

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

    Android axis调用Webservice

    - 服务发布后,可以通过Axis2的wsdl2java工具,根据服务的WSDL(Web Service Description Language)文件生成客户端所需的Java类(stubs)。 - 这些类将封装调用Web Service的具体方法,简化了调用流程。 4. **...

    PB调用JAVA WEBSERVICE实例

    标题中的“PB调用JAVA WEBSERVICE实例”指的是使用PowerBuilder(PB)应用程序调用由Java编写的Web服务。在企业级应用开发中,不同语言之间的互操作性是非常重要的,而Web服务提供了一种标准的方式来实现这一点。让...

Global site tag (gtag.js) - Google Analytics