在SSI开发中,要求读取访问者IP所在地,需要调用WebService,比较了下AXIS和XFire,决定使用XFire开发webservice应用,以下是一个简单示例:
1.eclipse中,在工程根目录下新建一个build.xml
//build.xml
<?xml version="1.0"?>
<project default="genfiles" basedir=".">
<property name="lib" value="WebContent/WEB-INF/lib" />
<path id="myclasspath">
<fileset dir="${lib}">
<include name="*.jar" />
</fileset>
<pathelement location="${genfiles}" />
</path>
<property name="code_path" value="src" />
<property name="wsdl_path
" value="http://www.260dns.cn/Services/ips.asmx?WSDL" />
<property name="code_package
" value="com.popoann.service" />
<target name="genfiles" description="Generate the files">
<taskdef name="wsgen" classname="org.codehaus.xfire.gen.WsGenTask" classpathref="myclasspath" />
<wsgen outputDirectory="${code_path}" wsdl="${wsdl_path}" package="${code_package}" overwrite="true"/>
</target>
</project>
wsdl_path
填写的是某服务的WSDL描述文件地址,本例子主要是利用ANT配置文件,根据WSDL地址生成客户端相关的远程调用代码.
code_package
填写客户端代码生成时所在包
2.执行Build.xml并生成客户端代码
生成了三个文件
src/com/popoann/service/ipsClient.java //客户端引用,主要通过此类完成调用,相关类辅助
src/com/popoann/service/ipsImpl.java //相关类
src/com/popoann/service/ipsSoap.java //相关类
3.测试程序
import com.popoann.service.*;
import org.tempuri.Iptoaddress;
import org.tempuri.IptoaddressResponse;
import java.util.*;
import org.apache.xerces.dom.ElementNSImpl;
public class ipstest {
public static void main(String[] args) {
Iptoaddress param=new Iptoaddress(); //设置远程方法调用参数,Iptoaddress表示远程参数包实体
param.setIp("218.0.19.15"); //设置IP值,表示查询该IP所在地
ipsClient client=new ipsClient();/ /客户端实例
IptoaddressResponse res=client.getipsSoap().iptoaddress(param);//调用远程方法
ArrayList result=(ArrayList)res.getIptoaddressResult().getContent();//返回结果数组对象
ElementNSImpl ele=(ElementNSImpl)result.get(0);//结果是一个XML节点对象
System.out.println(ele.getFirstChild().getTextContent());//输出结果
}
}
总结,需要用到大量XFire包,调用还是比较方便的
分享到:
相关推荐
DWC_ssi_user.pdf
本资源基本包含了Eclipse IDE工具下对SSI框架支持的Jar包,共16个,都是较新的版本。其兼容性本人已完全测试通过,能支持WEB开发的绝大部分应用(SSI)。别看资源分相对其他资源有较高,但是绝对比你一个一个单独下...
eclipse插件生成ssh框架和ssi框架
shtml网页SSI使用详解.pdf
网上其实整合框架的资料其实很多的,但是其中整合SSI的相对比较少的,如果是用Maven整合的就是少之又少的,如果是用Maven构建的企业级应用(多模块开发)整合SSI框架的实例基本上是没有的,所以写下这篇教程(当然这...
SSI编码器.pdf
OMAP SSI port driver.
服务器电源SSI标准收集.pdf
资源来自pypi官网。 资源全名:galileo-ssi-1.2.tar.gz
对于学习SSI,初步的了解SSI框架有了更进一步的了解。
用于将SSI协议转换成RS232协议,因为带SSI协议处理能力的单片机几乎没有
使用Verilog 编程语言实现对11 bit 编码器SSI输出的读取
SSL证书卸载与SSI高级应用.pdf
SSI library, Logic gates verilog codes
动态内容缓存技术(wenku)_CSI,SSI,ESI.pptx
ssi框架很好的入门实例,前端使用的是extjs
ssi框架中需要的spring包,分享下载
用于将SSI协议转换成RS485协议,转换后更加便于单片机读取
适用于对ssi框架初次整合,基本概要了ssi整合的基本知识,也有足了解框架的运行。
SSI转ABZ信号FPGA程序,测试完全可用