Java WebService例子--------调用www.36wu.com查询IP地址

本文介绍了一个具体的WSDL文件解析案例,展示了如何从XML定义中获取函数参数,并通过Java代码调用IpService服务来获取IP信息,包括状态、消息及详细IP数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一部分
<wsdl:service name="IpService">
<wsdl:port name="IpServiceSoap" binding="tns:IpServiceSoap">
第二部分
<wsdl:portType name="IpServiceSoap">
<wsdl:operation name="GetIpInfo">
第三部分
<wsdl:types>-----------函数的参数
<s:element name="GetIpInfo">
<s:element minOccurs="0" maxOccurs="1" name="ip" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="authkey" type="s:string"/>
<s:element name="GetIpInfoResponse">
<s:element minOccurs="0" maxOccurs="1" name="GetIpInfoResult" type="tns:ResultOfIpInfo"/>
  --说明这个是一个ResultOfIpInfo类型。参见ResultOfIpInfo
<s:complexType name="ResultOfIpInfo">
<s:element minOccurs="1" maxOccurs="1" name="status" type="s:int"/>
<s:element minOccurs="0" maxOccurs="1" name="message" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="data" type="tns:IpInfo"/>
<s:complexType name="IpInfo">
<s:element minOccurs="0" maxOccurs="1" name="ip" type="s:string"/>
<s:element minOccurs="1" maxOccurs="1" name="num_ip" type="s:double"/>
<s:element minOccurs="0" maxOccurs="1" name="location" type="s:string"/>
 
第三部分分析


GetIpInfoResponse的真正名称是ResultOfIpInfo
class ResultOfIpInfo
{
int status;
string message;
IpInfo data;


}
class IpInfo
{
string ip;
double num_ip;
string location;
}
完整的GetIpInfo函数
ResultOfIpInfo GetIpInfo(string ip,string authkey)

ResultOfIpInfo中的访问必须通过标准的Get,Set访问。

		IpService ipserv=new IpService(new URL("http://web.36wu.com/IpService.asmx"));
		IpServiceSoap ia=ipserv.getPort(IpServiceSoap.class);
		ResultOfIpInfo ipa=ia.getIpInfo("202.102.229.143", "");
		System.out.println(ipa.getMessage());
		/**************方法二************/
		IpServiceSoap iss=ipserv.getIpServiceSoap();
		ResultOfIpInfo ip=iss.getIpInfo("202.102.229.143", "");
		IpInfo ipi=ip.getData();
		System.out.println(ipi.getIp());
		System.out.println(ipi.getLocation());
		System.out.println(ipi.getNumIp());
		System.out.println(ip.getMessage());
		System.out.println(ip.getStatus());


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值