`
8366
  • 浏览: 799784 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

WebService IP 地址查询详细步骤

阅读更多

还是老套路上http://fhs.6617.com/getip.asmx?WSDL查看这个对外界提供的查询ip地址的webservice的描述

 

     

- <s:element name="GetIPLocation">
- <s:complexType>
- <s:sequence>
  <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:complexType>
- <s:sequence>
  <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例子)
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics