`

axis1.x调webservice程序

阅读更多

 

   最近在项目中遇到需要去调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();
        }
    }
}

 

 

就这么愉快的结束了!!!很简单 

分享到:
评论

相关推荐

    webservice-axis2引擎-快速入门资料

    Axis2 虽然由 Axis 1.x 处理程序模型提供支持,但它具有更强的灵活性并可扩展到新的体系结构。Axis2 基于新的体系结构进行了全新编写,而且没有采用 Axis 1.x 的常用代码。支持开发 Axis2 的动力是探寻模块化更强、...

    java webservice_axis教程

    Axis2.x作为Axis1.x的升级版,引入了许多改进和新特性,例如更好的性能、更灵活的模块化结构以及更强的可扩展性。尽管本教程主要关注Axis1.x,但了解Axis2.x的用法也是必要的,因为它提供了更多的功能和优化。 在...

    axis2 webservice开发指南.pdf

    与前代产品**Axis1.x**相比,Axis2在架构上进行了优化,提供了更好的性能和更丰富的功能。 #### 二、准备工作 ##### **1. 下载依赖** - **Axis2核心库**:访问[Apache Axis2官方网站]...

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

    Axis2是基于SOAP(Simple Object Access Protocol)的Web服务引擎,它是Axis1.x的升级版,提供了更好的性能和可扩展性。Axis2支持多种消息传递模式,包括SOAP、RESTful等,并且集成了许多模块,如MTOM(Message ...

    axis2_WebService_开发指南

    基于前文对Axis1.x的基础理解,本指南将着重于Axis2.x的功能特性与实现细节,帮助读者掌握最新版本的技术要点。 #### 二、准备工作 ##### 1. 下载Axis2相关资源 - **下载地址**:[Axis2官方下载]...

    axis2搭建webService并包含android调用此WebService服务案例

    【描述】: "本教程详细介绍了如何使用axis2在eclipse和tomcat环境下构建webService服务,并阐述了如何让Android应用程序调用这些服务,包括传递自定义类型参数和集合。" 【标签】: "webService", "axis2" 【正文】...

    WebService之Axis2实例

    WebService之Axis2实例是Web服务开发中的一个重要环节,它基于SOAP协议,允许不同平台和语言间的应用程序进行通信。本文将详细介绍Axis2实例的创建、配置和运行,以及如何利用Eclipse IDE、JDK 1.7和Tomcat 7.0进行...

    axis2-1.4.1-webservice开发工具

    1. **Axis2 简介**:Axis2 是由Apache软件基金会开发的,是Axis1.x的后续版本,设计目标是提高性能、可扩展性和灵活性。它基于模块化架构,允许开发者根据需要选择功能,降低了整体应用程序的复杂性。 2. **模块化...

    axis2 webservice基础教程

    相比于之前的Axis1.x版本,Axis2在设计上进行了重大改进,不仅支持SOAP 1.1和SOAP 1.2协议,还支持RESTful WebService、Spring框架集成以及JSON等多种现代技术栈。 - **下载与安装**: - **下载地址**:可以从...

    axis2开发webservice

    1. Axis2基础概念: - Web服务:是一种通过HTTP协议进行通信的应用程序,使得不同系统间能够交换数据和服务。 - SOAP(Simple Object Access Protocol):一种轻量级的消息协议,用于在Web上交换结构化和类型化的...

    Tomcat+Axis实现webservice.doc【CSDN精品推荐】

    1. **创建源代码目录**:在 `C:\Tomcat5\webapps\axis\WEB-INF` 目录下创建一个名为 `src` 的目录,用于存放源程序。 2. **编写服务端程序**:在 `src` 目录下创建一个名为 `server` 的包,并在其中编写 `AxisReturn...

    axis2 axis webservice web 服务

    标题中的“Axis2 Axis WebService Web 服务”指的是Apache Axis2,它是一个强大的Web服务框架,主要用于构建和部署Web服务。Axis2是Apache SOAP(Simple Object Access Protocol)项目的第二代实现,专门设计用于...

    Axis2+eclipse开发webservice总结

    Binary Distribution适用于直接运行和部署,而WAR Distribution则是一个Web应用程序档案,可以部署到像Tomcat这样的应用服务器中。此外,还需要Eclipse插件来简化开发流程,包括Service Archive Wizard和Code ...

    AXIS框架搭建webservice简易教程

    AXIS分为1.x和2.x两个主要版本系列。在本教程中,我们将重点介绍如何使用AXIS 1.x搭建Web服务。 首先,我们需要安装AXIS。可以从Apache官方网站下载最新版本的`axis-bin-1_4.zip`。解压缩后,将`webapps/axis`目录...

    axis实现webservice

    Axis支持两种主要的版本:Axis 1.x系列和Axis 2系列。尽管Axis 2系列在设计上更现代,但Axis 1.x因其稳定性及较为丰富的文档资料,在实际应用中仍被广泛采用。 Axis不仅提供了强大的WebService功能,还具备良好的跨...

    Axis1.4_开发指南

    Axis1.4作为Axis1.x系列的最新版本,为WebService的开发提供了一套完整的运行引擎。Axis1.4的下载可以通过访问Apache官方网站提供的链接完成。下载后,解压文件会得到包含不同目录的结构,如Docs(存放Axis的说明...

    用户管理中心基于axis-1_4的webservice代码

    Axis是Apache组织开发的一个开源SOAP栈,用于生成和消费Web服务,而Axis-1.4是其1.x系列的一个版本。 【描述】中提到的“用户管理页面前台用PHP构建”意味着前端界面是使用PHP(Hypertext Preprocessor)语言来设计...

Global site tag (gtag.js) - Google Analytics