axis

http://10.15.22.28/itfmgr/services/ITaxManagement?wsdl
package com.isoftstone.core.service.impl;

import java.net.MalformedURLException;
import java.net.URL;
import java.rmi.RemoteException;

import javax.xml.rpc.ParameterMode;
import javax.xml.rpc.ServiceException;

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

import com.isoftstone.core.service.intf.ServiceOfStringPara;
/**
 * 海闻发票验证接口
 * @author 金剑波
 * @url http://www.cnblogs.com/whatlonelytear/p/5152121.html
 */
public class ValidateInvoiceImpl2   {

    static void validateInvoice() {
        try {
            // 1.创建service对象,通过axis自带的类创建
            org.apache.axis.client.Service service = new org.apache.axis.client.Service();

            // 2.创建url对象
            String wsdlUrl = "71xxxxxxxxxxxxxxxxxx";// 请求服务的URL
            URL url = new URL(wsdlUrl);// 通过URL类的构造方法传入wsdlUrl地址创建URL对象

            // 2.创建服务方法的调用者对象call,设置call对象的属性
            Call call = (Call) service.createCall();
            call.setTargetEndpointAddress(url);// 给call对象设置请求的URL属性
            String serviceName = "validateInvoice";
            call.setOperationName(serviceName);// 给call对象设置调用方法名属性
            // call.addParameter("groupNo", XMLType.XSD_LONG,
            // ParameterMode.IN);// 给call对象设置方法的参数名、参数类型、参数模式
            call.addParameter("invoiceNumber", XMLType.SOAP_STRING,
                    ParameterMode.IN);
            call.addParameter("invoiceCode", XMLType.SOAP_STRING,
                    ParameterMode.IN);
            call.addParameter("issueDate", XMLType.SOAP_STRING,
                    ParameterMode.IN);
            call.addParameter("totalInTax", XMLType.SOAP_STRING,
                    ParameterMode.IN);
            call.addParameter("tax_num", XMLType.SOAP_STRING, ParameterMode.IN);
            call.setReturnType(XMLType.SOAP_STRING);// 设置调用方法的返回值类型

            // 4.通过invoke方法调用webservice
            // long groupNo = 2100000014L;
            String invoiceNumber = "00020009";
            String invoiceCode = "115000000000";
            String issueDate = "2016-05-23";
            String totalInTax = "74.50";
            String tax_num = "500080000000020";
            String res = (String) call.invoke(new Object[] { invoiceNumber,
                    invoiceCode, issueDate, totalInTax, tax_num });// 调用服务方法
            System.out.println(res);
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (ServiceException e) {
            e.printStackTrace();
        } catch (RemoteException e) {
            e.printStackTrace();
        }
    }

    /**
     * @param args
     */
    public static void main(String[] args) {
        validateInvoice();
    }
}

axis1调用方式的更多相关文章

  1. 【转】java通用URL接口地址调用方式GET和POST方式

    java通用URL接口地址调用方式GET和POST方式,包括建立请求和设置请求头部信息等等......... import java.io.ByteArrayOutputStream; import ...

  2. java 实现WebService 以及不同的调用方式

    webservice:    就是应用程序之间跨语言的调用    wwww.webxml.com.cn    1.xml    2.    wsdl: webservice description l ...

  3. Wcf:可配置的服务调用方式

    添加wcf服务引用时,vs.net本来就会帮我们在app.config/web.config里生成各种配置,这没啥好研究的,但本文谈到的配置并不是这个.先看下面的图: 通常,如果采用.NET的WCF技 ...

  4. Winform开发框架的业务对象统一调用方式

    在这个纷繁的社会里面,统一性的特点能够带来很多高效的产出.牢固的记忆,这种特征无论对于企业.个人的开发工作,知识的传承都有着非常重要的作用,Winfrom框架本身就是基于这个理念而生,从统一的数据库设 ...

  5. WM_QUIT,WM_CLOSE,WM_DESTROY 消息出现顺序及调用方式

    http://bbs.ednchina.com/BLOG_ARTICLE_3005455.HTM VC中WM_CLOSE.WM_DESTROY.WM_QUIT消息出现顺序及调用方式 wxleasyla ...

  6. Webservice 调用方式整理

    前一段时间搞webservice,简单的记录了一下几种常用的调用方式,供大家参考. 第一种:Java proxy 1).用过eclipse的创建web service client来完成 2).在ec ...

  7. magento 列表页显示产品属性值的几种调用方式

    之前有人提到要在列表显示一些特定的属性,除了自带的名字,价格等.因为列表页和产品页都有一个同名的产品对象:$_product,而在产品页,$_product是直接可以用$_product->ge ...

  8. OAuth在WebApi中的使用,前后台分离的调用方式

    前段时间由于公司架构服务层向WebApi转换,就研究了OAuth在WebApi中的使用,这中间遇到了很多坑,在此记录一下OAuth的正确使用方式. 1.  OAuth是做什么的? 在网上浏览时,大家都 ...

  9. Redis的Java客户端Jedis的八种调用方式(事务、管道、分布式)介绍

    jedis是一个著名的key-value存储系统,而作为其官方推荐的java版客户端jedis也非常强大和稳定,支持事务.管道及有jedis自身实现的分布式. 在这里对jedis关于事务.管道和分布式 ...

随机推荐

  1. 嵌入式linux内核是什么?

    linux内核是一种可以被内核动态加载(insmode)和卸载(rmmod)的可执行二进制代码 最简单的内核 #include <linux/module.h> #include < ...

  2. HDU 5268 ZYB loves Score (简单模拟,水)

    题意:计算Bestcoder四题的得分. 思路:直接模拟,4项分数直接计算后输出.注意不要低于百分之40的分. //#include <bits/stdc++.h> #include &l ...

  3. phonegap环境搭建

    最近在开发app, html5+php 采用phonegap进行打包 前端框架采用jquery mobile 这里phonegap创建安卓项目 3种方式 1.phonegap 2.cordova 3. ...

  4. SQL Server数据类型与SDE库表sde_type对照表

    SDE_column_registry 表管理所有注册列. 警告:如果使用 SQL 界面更改列定义,SDE_column_registry 表中的记录将不会更新.这可能导致之后的任何数据导出失败. S ...

  5. Symfony2 学习笔记之内部构件

    Symfony2内部是怎样工作的以及我们如何来扩展它呢?从外部整体上看,symfony2代码是由许多独立的层构成,每一层都是建立在前一层基础之上.其中,自动加载时不受框架直接管理的,它完全是在Univ ...

  6. vhosts.conf

    <VirtualHost *:80> ServerAdmin webmaster@dummy-host.example.com DocumentRoot "/opt/lampp/ ...

  7. makefile实例(3)-多个文件实例优化

    我们先看一下make是如何工作的在默认的方式下,也就是我们只输入make命令.那么,1.make会在当前目录下找名字叫“Makefile”或“makefile”的文件.2.如果找到,它会找文件中的第一 ...

  8. Mysql数据库优化总结2

    说明:本文的环境为CENTOS 5.5 64 Bit /Mysql 5.1.50 简介:使用Mysql有一段时间了,期间做了不少关于Mysql优化.设计.维护的工作,这两天有时间做一下简单的总结,方便 ...

  9. Android数据库升级,数据不丢失解决方案

    假设要更新TableC表,建议的做法是: 1) 将TableC重命名为TableC_temp SQL语句可以这样写:ALERT TABLE TableC RENAME TO TableC_temp; ...

  10. devexpress datagrid 与imageEdit以及如何存图片到数据库 z

    http://blog.csdn.net/haoyujie/article/details/41277703 首先建立了一个数据库的表,这个表中,有一个字段是image类型(SQL Server数据库 ...