ip地址查询webservice地址:http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx?op=getCountryCityByIp
soap请求规则:
POST /WebServices/IpAddressSearchWebService.asmx HTTP/1.1 Host: www.webxml.com.cn Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "http://WebXml.com.cn/getCountryCityByIp" 请求 <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <getCountryCityByIp xmlns="http://WebXml.com.cn/"> <theIpAddress>string</theIpAddress> </getCountryCityByIp> </soap:Body> </soap:Envelope> HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length
响应 <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <getCountryCityByIpResponse xmlns="http://WebXml.com.cn/"> <getCountryCityByIpResult> <string>string</string> <string>string</string> </getCountryCityByIpResult> </getCountryCityByIpResponse> </soap:Body> </soap:Envelope>
代码如下:
private static void getCountryByIp(String ip) { try { String address = "http://www.webxml.com.cn/WebServices/IpAddressSearchWebService.asmx"; ServiceClient sender = new ServiceClient(); EndpointReference endpointReference = new EndpointReference(address); Options options = new Options(); options.setAction("http://WebXml.com.cn/getCountryCityByIp"); options.setTo(endpointReference); sender.setoptions(options); OMFactory fac = OMAbstractFactory.getoMFactory(); OMNamespace omNs = fac.createOMNamespace("http://WebXml.com.cn/","getCountryCityByIp"); OMElement data = fac.createOMElement("getCountryCityByIp",omNs); String[] strs = new String[] { "theIpAddress" }; String[] val = new String[] { ip }; for (int i = 0; i < strs.length; i++) { OMElement inner = fac.createOMElement(strs[i],omNs); inner.setText(val[i]); data.addChild(inner); } OMElement result = sender.sendReceive(data); System.out.println(result.toString()); } catch (AxisFault ex) { ex.printstacktrace(); } }
调用getCountryByIp("86.65.152.152");
返回:<getCountryCityByIpResponse xmlns="http://WebXml.com.cn/"><getCountryCityByIpResult><string>86.65.152.152</string><string>法国 </string></getCountryCityByIpResult></getCountryCityByIpResponse>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。