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


相关推荐

发表回复

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

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