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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 软件测试全套教程,软件测试自学线路图

    软件测试全套教程,软件测试自学线路图软件测试:软件测试是为了发现程序中的错误而执行程序的过程。通俗的说,软件测试需要在发布软件之前,尽可能的找软件的错误,尽量避免在发布之后给用户带来不好的体验,并要满足用户使用的需求。现在市面上这么多软件,每个软件背后都有软件测试工程师的功劳,这也造就了软件测试行业前景非常好,今天我就分享一下自学线路图,及全套教程!软件测试学习线路图点击查看大图第一阶段:该…

    2022年6月11日
    40
  • 《Linux Device Drivers》 第十七章 网络驱动程序——note

    《Linux Device Drivers》 第十七章 网络驱动程序——note

    2022年1月1日
    57
  • NVIDIA英伟达GPU显卡算力一览(包含Tesla和GeForce、TITAN及RTX系列等)

    NVIDIA英伟达GPU显卡算力一览(包含Tesla和GeForce、TITAN及RTX系列等)英伟达 GPU 算力一览官方说明在 GPU 算力高于 5 0 时 此计算机可以用来跑神经网络 而在 CSDN 和网页上查找 GPU 算力时 没有一个比较全面的博客对目前的显卡算力做统计 而且英伟达官网链接打开真的谜一样 很慢或者直接打不开 所以用这篇博客记录一下截至到 2020 8 27 一部分主流供深度学习的 GPU 的算力 NVIDIA 官方查找 GPU 算力的网址 https developer nvidia com cuda gpus 此外 目前主流的游戏本显卡 1650 1660 以及 1660Ti 等并未出现在官网的算力表中

    2025年7月30日
    10
  • loadlibrary 失败 java_LoadLibrary失败,错误代码为14001

    loadlibrary 失败 java_LoadLibrary失败,错误代码为14001我正在使用VisualC2008ExpressEdition来创建仅限资源的DLL.我面临的问题是运行在除了我的另一台计算机上使用DLL的应用程序导致LoadLibrary()函数失败,错误代码为14001.在互联网上搜索似乎是运行缺少MicrosoftVisualC2008RedistributablePackage库的应用程序的计算机的依赖性问题.我的第一步是安装最新…

    2022年7月13日
    20
  • 服务器安装linux系统安装教程_linux服务器重装系统

    服务器安装linux系统安装教程_linux服务器重装系统一、linux镜像的刻录1.首先打开电脑上面任意浏览器(IE、MicrosoftEdge、chrome、Firefox),输入网址https://www.centos.org/我们可以看到如下界面选择立即获取centos下载最新的安装镜像,复制下载链接(http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64…

    2022年10月5日
    3
  • Eclipse 汉化教程完美版

    Eclipse 汉化教程完美版1.首先查看自己的Eclipse版本号点来Help中的AboutEclipse,我的是最新版本的Oxygen。2、去官网上找对应的汉化安装包路径浏览器打开网址 http://www.eclipse.org/babel/downloads.php 找到对应自己版本的安装包我的是http://archive.eclipse.org/technology/babel/update-site/R0.15…

    2022年6月5日
    30

发表回复

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

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