您的位置:首页 > 编程语言 > Java开发

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

2015-03-10 14:24 417 查看
第一部分

<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());
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: