这里先给出一个webservice的免费接口。用于查询ip地址所在地

http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx?wsdl

我们先通过浏览器访问。找到头部的一个链接。

targetNamespace="http://WebXml.com.cn/"

还有对应的service接口名称。

<wsdl:service name="IpAddressSearchWebService">

这里我用的是idea。所以直接通过tools里面WebServices直接生成接口那些文件。
在这里插入图片描述

接着来了!直接调用。

 //在这里输入接口链接。
        URL url=new URL("http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx?wsdl");
        //Qname里面就需要填写我们一开始找的2个东西。第一个输入namespaceurl。第二个输入service名称。
        QName qName=new QName("http://WebXml.com.cn/","IpAddressSearchWebService");
        //这里直接创建连接。
        Service  service=Service.create(url,qName);
        //调用这个service里面的方法。
        IpAddressSearchWebServiceSoap port = service.getPort(IpAddressSearchWebServiceSoap.class);
        //返回的是ArrayOfString。但是我们可以直接toString转成list。调用方法括号内填入你要查询的iP地址
        ArrayOfString countryCityByIp = port.getCountryCityByIp("123.2.2.3");
        //转化 + 遍历
        List<String> list = countryCityByIp.getString();
        Object[] object = list.toArray();
        for (Object o : object) {
            System.out.println(o);
        }

结果是:

123.2.2.3
澳大利亚  

相关文章: