最近在项目中遇到需要去调webservice的接口,我以前很少写,这里写一个例子,分享出来!没太大技术含量,不喜勿喷!!!
1.pom.xml添加依赖包
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.xiaoyetanmodules</groupId> <artifactId>webserviceClient</artifactId> <version>1.0</version> <packaging>war</packaging> <name>webserviceClient</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <jdk.version>1.8</jdk.version> </properties> <dependencies> <!--最近迷上了jfinal--> <dependency> <groupId>jfinal</groupId> <artifactId>jfinal</artifactId> <version>2.0</version> <scope>system</scope> <systemPath>${basedir}/src/main/webapp/WEB-INF/lib/jfinal-2.0-bin-with-src.jar</systemPath> </dependency> <dependency> <groupId>com.jfinal</groupId> <artifactId>cos</artifactId> <version>26Dec2008</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.3</version> <scope>provided</scope> </dependency> <!--调webservice用的--> <dependency> <groupId>org.apache.axis</groupId> <artifactId>axis</artifactId> <version>1.4</version> </dependency> <dependency> <groupId>commons-discovery</groupId> <artifactId>commons-discovery</artifactId> <version>0.2</version> </dependency> <dependency> <groupId>axis</groupId> <artifactId>axis-jaxrpc</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>axis</groupId> <artifactId>axis-wsdl4j</artifactId> <version>1.2</version> </dependency> <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4</version> </dependency> </dependencies> <build> <outputDirectory>${project.basedir}/src/main/webapp/WEB-INF/classes/</outputDirectory> <resources> <resource> <directory>${project.basedir}/src/main/resources</directory> <filtering>true</filtering> </resource> </resources> <plugins> <!-- Compiler 插件, 设定JDK版本 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>${jdk.version}</source> <target>${jdk.version}</target> <showWarnings>true</showWarnings> </configuration> </plugin> <!-- war 打包插件, 设定war包名称不带版本号 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-war-plugin</artifactId> <configuration> </configuration> </plugin> <!-- resource插件 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <configuration> <encoding>${project.build.sourceEncoding}</encoding> </configuration> </plugin> <!-- install插件 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-install-plugin</artifactId> </plugin> <!-- clean插件 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-clean-plugin</artifactId> </plugin> <!-- ant插件 --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> </plugin> </build> <repositories> <repository> <id>nexus-aliyun</id> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url> </repository> </repositories> </project>
2.core code
package com.xiaoyetan; import org.apache.axis.client.Call; import org.apache.axis.client.Service; import javax.xml.namespace.QName; import javax.xml.rpc.ParameterMode; import javax.xml.rpc.encoding.XMLType; import java.net.URL; /** * @Author xiaoyetan * @Date :created on 13:18 2017/8/24 */ public class AxisClient { public static void main(String[] args) { String url = "http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx?wsdl" ; //创建客户端调用webservice的代理对象 Service service = new Service(); try { //创建一个调用对象,代表对web service 的一次调用 Call call = (Call) service.createCall(); //设置web service的url 地址 call.setTargetEndpointAddress(new java.net.URL(url)); //设置操作名称,QName 对象的两个参数分别为命名空间和方法名称 call.setOperationName(new QName("http://WebXml.com.cn/","qqCheckOnline")); //不加这行会抛异常System.Web.Services.Protocols.SoapException: 服务器未能识别 HTTP 头 SOAPAction 的值: call.setSOAPActionURI("http://WebXml.com.cn/qqCheckOnline"); //传参 call.addParameter(new QName("http://WebXml.com.cn/", "qqCode"), XMLType.XSD_STRING, ParameterMode.IN); //设置返回值类型 call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING); // 执行调用操作,result 保存返回的结果,invoke 的参数为实参 String result = (String) call.invoke(new Object[]{"1160500991"}); System.out.println(result); }catch (Exception e){ e.printStackTrace(); } } }
就这么愉快的结束了!!!很简单
相关推荐
Axis2 虽然由 Axis 1.x 处理程序模型提供支持,但它具有更强的灵活性并可扩展到新的体系结构。Axis2 基于新的体系结构进行了全新编写,而且没有采用 Axis 1.x 的常用代码。支持开发 Axis2 的动力是探寻模块化更强、...
Axis2.x作为Axis1.x的升级版,引入了许多改进和新特性,例如更好的性能、更灵活的模块化结构以及更强的可扩展性。尽管本教程主要关注Axis1.x,但了解Axis2.x的用法也是必要的,因为它提供了更多的功能和优化。 在...
与前代产品**Axis1.x**相比,Axis2在架构上进行了优化,提供了更好的性能和更丰富的功能。 #### 二、准备工作 ##### **1. 下载依赖** - **Axis2核心库**:访问[Apache Axis2官方网站]...
Axis2是基于SOAP(Simple Object Access Protocol)的Web服务引擎,它是Axis1.x的升级版,提供了更好的性能和可扩展性。Axis2支持多种消息传递模式,包括SOAP、RESTful等,并且集成了许多模块,如MTOM(Message ...
基于前文对Axis1.x的基础理解,本指南将着重于Axis2.x的功能特性与实现细节,帮助读者掌握最新版本的技术要点。 #### 二、准备工作 ##### 1. 下载Axis2相关资源 - **下载地址**:[Axis2官方下载]...
【描述】: "本教程详细介绍了如何使用axis2在eclipse和tomcat环境下构建webService服务,并阐述了如何让Android应用程序调用这些服务,包括传递自定义类型参数和集合。" 【标签】: "webService", "axis2" 【正文】...
WebService之Axis2实例是Web服务开发中的一个重要环节,它基于SOAP协议,允许不同平台和语言间的应用程序进行通信。本文将详细介绍Axis2实例的创建、配置和运行,以及如何利用Eclipse IDE、JDK 1.7和Tomcat 7.0进行...
1. **Axis2 简介**:Axis2 是由Apache软件基金会开发的,是Axis1.x的后续版本,设计目标是提高性能、可扩展性和灵活性。它基于模块化架构,允许开发者根据需要选择功能,降低了整体应用程序的复杂性。 2. **模块化...
相比于之前的Axis1.x版本,Axis2在设计上进行了重大改进,不仅支持SOAP 1.1和SOAP 1.2协议,还支持RESTful WebService、Spring框架集成以及JSON等多种现代技术栈。 - **下载与安装**: - **下载地址**:可以从...
1. Axis2基础概念: - Web服务:是一种通过HTTP协议进行通信的应用程序,使得不同系统间能够交换数据和服务。 - SOAP(Simple Object Access Protocol):一种轻量级的消息协议,用于在Web上交换结构化和类型化的...
1. **创建源代码目录**:在 `C:\Tomcat5\webapps\axis\WEB-INF` 目录下创建一个名为 `src` 的目录,用于存放源程序。 2. **编写服务端程序**:在 `src` 目录下创建一个名为 `server` 的包,并在其中编写 `AxisReturn...
标题中的“Axis2 Axis WebService Web 服务”指的是Apache Axis2,它是一个强大的Web服务框架,主要用于构建和部署Web服务。Axis2是Apache SOAP(Simple Object Access Protocol)项目的第二代实现,专门设计用于...
Binary Distribution适用于直接运行和部署,而WAR Distribution则是一个Web应用程序档案,可以部署到像Tomcat这样的应用服务器中。此外,还需要Eclipse插件来简化开发流程,包括Service Archive Wizard和Code ...
AXIS分为1.x和2.x两个主要版本系列。在本教程中,我们将重点介绍如何使用AXIS 1.x搭建Web服务。 首先,我们需要安装AXIS。可以从Apache官方网站下载最新版本的`axis-bin-1_4.zip`。解压缩后,将`webapps/axis`目录...
Axis支持两种主要的版本:Axis 1.x系列和Axis 2系列。尽管Axis 2系列在设计上更现代,但Axis 1.x因其稳定性及较为丰富的文档资料,在实际应用中仍被广泛采用。 Axis不仅提供了强大的WebService功能,还具备良好的跨...
Axis1.4作为Axis1.x系列的最新版本,为WebService的开发提供了一套完整的运行引擎。Axis1.4的下载可以通过访问Apache官方网站提供的链接完成。下载后,解压文件会得到包含不同目录的结构,如Docs(存放Axis的说明...
Axis是Apache组织开发的一个开源SOAP栈,用于生成和消费Web服务,而Axis-1.4是其1.x系列的一个版本。 【描述】中提到的“用户管理页面前台用PHP构建”意味着前端界面是使用PHP(Hypertext Preprocessor)语言来设计...