还是老套路上http://fhs.6617.com/getip.asmx?WSDL查看这个对外界提供的查询ip地址的webservice的描述
- <s:element name="GetIPLocation">
<s:element minOccurs="0" maxOccurs="1" name="ipaddress" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
通过wsdl文档的这段描述我们可以知道 这个webservice 对外提供了一个GetIPLocation()的方法,它接受一个String类型的变量
- <s:element name="GetIPLocationResponse">
<s:element minOccurs="0" maxOccurs="1" name="GetIPLocationResult" type="tns:ArrayOfAnyType" />
</s:sequence>
</s:complexType>
</s:element>
通过这段wsdl文档的描述,我们知道 GetIPLocation()的返回值是一个数组,一个对象数组,我们可以构造一个对象数组来接收返回的ip地址查询结果
知道这些信息以后 我们就可以使用axis框架的 wsdl2java 工具将这个wsdl文档生成本地java类的框架,方式有2种,看我的 webservice 天气预报 这篇blog,然后我们就可以使用这些java类了,按照 Stubs 的开发步骤:
1.通过new得到 locator 对象
2.利用local对象的某个方法得到service对象
3.利用service对象调用其中暴露的方法GetIPLocation(),传递查询参数
4.用一个Object[] o 来接受查询结果
通过观察 wsdl2java 为我们生长的java本地类,找到其中的继承,接口等关系 我们按照上述步骤,写一个测试
package com._6617.fhs.IPService;
import java.net.InetAddress;
import java.util.Properties;
/**
* 测试ip地址
* @author Owner
*
*/
public class Client5
{
public static void main(String[] args)
{
try
{
Weather_x0020_WebServiceLocator locator= new Weather_x0020_WebServiceLocator();
Weather_x0020_WebServiceSoap service=locator.getWeather_x0020_WebServiceSoap12();
Object[] o=service.getIPLocation("117.33.53.33");
for(int i=0;i<o.length;i++)
{
System.out.println((String)o[i]);
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
运行程序 将打印:
陕西省宝鸡市
电信
注意:
如果你的环境使用了代理上网,那么在远程调用webservice之前 ,你应该设置代理服务器地址到系统属性下,在java中设置使用代理连接的代码是:
//加入代理地址为172.100.1.28,端口8080
Properties prop = System.getProperties();
prop.put("http.proxyHost","172.100.1.28");
prop.put("http.proxyPort","8080");
System.setProperties(prop);
把上述代码放在 测试类的 try{} 的第一句即可
我把这个查询IP地址的 WebServie 和 查询 天气预报的 WebService 放在一个页面展示 结果如下:(你可以仿照我的上一篇blog 来做这个web例子)
分享到:
相关推荐
到网上找IP地址库,难找。查询IP地址所在地,用asp.net2.0也难找。找了半天,我都找不到。最后只找到了提供这项服务的webservice,干脆花了点时间,让有需要的朋友拿去参考。
webService调取IP所在地,以及获得客户端真实IP
cfx webservice 入门 详细步骤
为了实现根据用户ip显示不同的网站内容而写的,运用webservice实现ip地址的查询,大部分内容都是从网上搞的整理了一下~
常用webservice服务地址,提供给打家参考参考一下,希望对你们有所帮助
有Webservice_案例及步骤,WebService创建的 步骤说明,很容易操作 能正常运行
vs2010引用webservice 详细步骤
通过IP地址转中国城市(webservice)版,您可以获得:最新IP地址转中国城市数据库数据,它包含319356条国内IP,字段:IP地址、省份、城市。内附调用方法(支持Asp,.NET,C#,PHP等开发语言)。可以根据指定的IP返回 ...
基于WebService的天气查询
MyEclipse Web Services是建立在XFire Java SOAP框架和工具基础上的, XFire是一款开源的Java SOAP框架。它拥有一个轻量级的信息处理模块,通过STAX来与SOAP信息相结合。提供了一个工作在Web Services下的简单API,...
基于WebService天气预报查询,免费数据来源,基于Struts2源码开放
通过调用webservices获得客户端IP信息,也可以输入iP地址查询ip信息。。
调用webservice实现天气查询C#程序
SAP Webservice日志查询报表 V3 添加更详细的注释和关键字搜索功能
调用webService火车站点查询 asynchttpclient框架的使用
练习webservice做的天气查询,客户端发请求,服务器接收请求,Endpoint发布服务
Winform天气预报WebService根据IP地址自动识别当前城市
Java开发生生WebService客户端代码操作步骤 Java开发生生WebService客户端代码操作步骤 Java开发生生WebService客户端代码操作步骤
想了解webservice,与spring集成步骤,这个很值得才考,大家可以试试看。
vs2008写的,通过调用http://chat.wanvee.cn/IpService.asmx这个webservice接口实现获取外网ip