java 调用asmx[通俗易懂]

java 调用asmx[通俗易懂]packagecom.webservice.test;importjava.util.Vector;importjavax.xml.namespace.QName;importjavax.xml.rpc.ParameterMode;importjavax.xml.rpc.encoding.XMLType;importorg.apache.axis.clien

大家好,又见面了,我是你们的朋友全栈君。package com.webservice.test;

import java.util.Vector;

import javax.xml.namespace.QName;

import javax.xml.rpc.ParameterMode;

import javax.xml.rpc.encoding.XMLType;

import org.apache.axis.client.Call;

import org.apache.axis.client.Service;

/**

* 通过输入IP地址查询国家、城市、所有者等信息。没有注明国家的为中国 输入参数:IP地址(自动替换 ” 。” 为 “.”),返回数据:

* 一个一维字符串数组String(1),String(0) = IP地址;String(1) = 查询结果或提示信息

*

* @author liulei

*

*/

public class GetCountryCityByIp {


// 提供IP地址搜索WEB服务的URL


private String url =”http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx”; // 在浏览器中打开url,可以找到


//private String soapAction=”http://WebXml.com.cn/getCountryCityByIp”


private String namespace = “http://WebXml.com.cn/”;// targetNamespace 


private String actionURI = “getCountryCityByIp”; // Action路径 


private String op = “getCountryCityByIp”; // 要调用的方法名





@SuppressWarnings(“unchecked”)


public GetCountryCityByIp() {


Service service = new Service();


try {


Call call = (Call) service.createCall();


call.setTargetEndpointAddress(new java.net.URL(url)); 


call.setUseSOAPAction(true);


// action uri


call.setSOAPActionURI(namespace + actionURI);


// 设置要调用哪个方法


call.setOperationName(new QName(namespace, op));


// 设置参数名称,具体参照从浏览器中看到的


call.addParameter(new QName(namespace, “theIpAddress”),XMLType.XSD_STRING, ParameterMode.IN); // 要返回的数据类型 


call.setReturnType(new QName(namespace, op), Vector.class); // 入参:对应theIpAddress 


Object[] params = new Object[] { “202.108.22.5” }; // 调用方法并传递参数 


Vector v = (Vector) call.invoke(params); 


for (int i = 0; i < v.size(); i++) 


{ 


System.out.println(v.get(i)); 


} 


} 


catch (Exception ex) 


{ 


ex.printStackTrace(); 


} 


}


public static void main(String args[]) 


{ 


new GetCountryCityByIp(); 


}

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/133150.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • HashMap底层实现原理_计算机底层原理

    HashMap底层实现原理_计算机底层原理文章目录前言一、快速入门二、使用步骤1.引入库2.读入数据总结学习内容:学习时间:学习产出:前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:以下是本篇文章对HashMap的实现原理内容,下面案例可供参考提示:以下是本篇文章正文内容,下面案例可供参考一、快速入门示例:有一定基础的小伙伴们可以选择性的跳过该步骤HashMap是Java程序员使用频率最高的用于映射键值对(key和value)处理的数据类型。随着JDK版本的跟新,JDK1.8对HashMap底层的实现进行

    2022年9月10日
  • Matlab更改计算机用户名[通俗易懂]

    Matlab更改计算机用户名[通俗易懂]Matlab更改计算机用户名Matlab在安装的时候需要填写本地计算机的用户名,会和它的激活Licence绑定,我使用的是校园版。如果安装好之后更改了自己的计算机用户名,通常是Administrator;就会导致Matlab打开报错,可以通过重新进行激活的方式来更改之前的用户名1、找到Matlab的安装路径;然后bin目录;然后winXX(XX代表计算机位数);然后找到下面的active_matlab执行这个程序,后面就按照提示就可以了(比如我的路径:E:\MATLAB\bin\win64\

    2022年10月14日
  • monit 监控_沃伦尚监控手机客户端

    monit 监控_沃伦尚监控手机客户端urlhttp://mmonit.com/monit/documentation/monit.htmlVersion5.12NAMESYNOPSISDESCRIPTIONWHATTOMONITOR?GENERALOPERATIONOptionsArguments…

    2022年11月2日
  • linux练习题

    观察系统当前进程的运行情况的命令是():A、freeB、dmesgC、topD、last答案:http://hovertree.com/tiku/bjag/foxg5n0q.htmLinux系统

    2021年12月28日
  • 公布2019年人工智能将会如何改变我们未来的行业

    公布2019年人工智能将会如何改变我们未来的行业

    2021年7月8日
  • DHCP协议解析

    DHCP协议解析DHCP(DynamicHostConfigurationProtocol,动态主机配置协议)是IETF为实现IP的自动配置而设计的协议,它可以为客户机自动分配IP地址、子网掩码以及缺省网关、DNS服务器的IP地址等TCP/IP参数。了解DHCP工作过程可以帮助我们排除有关DHCP服务遇到的问题。DHCP协议是基于UDP层之上的应用,本文结合抓报所得数据分析DHCP协议实现原理一、

    2022年5月23日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号