在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包,调用还是比较方便的
分享到:
相关推荐
本资源基本包含了Eclipse IDE工具下对SSI框架支持的Jar包,共16个,都是较新的版本。其兼容性本人已完全测试通过,能支持WEB开发的绝大部分应用(SSI)。别看资源分相对其他资源有较高,但是绝对比你一个一个单独下...
根据提供的文档信息,我们可以得出这份文档是关于DesignWare Synchronous Serial Interface (SSI) 的用户指南。接下来,我们将从几个方面来解析与理解这份文档中的关键知识点。 ### 一、产品概述 #### 1.1 ...
eclipse插件生成ssh框架和ssi框架
在实际应用中,开发人员会使用这些调试工具来优化音频质量,确保系统在不同工作条件下都能稳定运行。这可能涉及到调整缓冲区大小、优化中断服务例程或者改善硬件同步策略。通过深入理解"Fsl_ssi_dbg.c"中的代码,...
SSI级别的集成电路通常包含4到10个晶体管,提供了最基础的逻辑功能。这些逻辑门是所有更复杂数字系统的基础,包括计算机、通信设备和各种嵌入式系统。常见的SSI逻辑门包括: 1. **与非门(NAND)**:所有输入为高电...
OMAP SSI Port驱动程序是针对德州仪器(TI)OMAP系列微处理器中串行外设接口(Serial Slave Interface,SSI)的特定实现。SSI在嵌入式系统中被广泛用作高速数据传输机制,特别是在音频、视频和图像处理应用中。这个...
在SSI框架结构中,前端使用ExtJS,这是一个富客户端JavaScript框架,用于构建桌面级的Web应用。ExtJS提供了丰富的组件库,如表格、面板、菜单等,使得开发者能快速构建交互式的用户界面。 在实际开发过程中,首先...
在IT行业中,集成Struts2、iBatis2.x和Spring2.5是常见的企业级应用开发模式,这种架构被称为“SSH”(Struts、Spring、Hibernate)的变种,因为iBatis替代了传统的Hibernate作为持久层框架。Eclipse作为Java开发的...
通过以上步骤,我们不仅能够构建出一个结构清晰、易于维护的企业级应用,还能够在实际开发过程中深入理解Maven和SSI框架的工作原理,提高开发效率和代码质量。希望本教程能够帮助初学者快速掌握这一领域的知识和技术...
标题中的"SSI-ABZ.rar_FPGA ABZ_FPGA SSI_SSI 转 ABZ信号FPAG程序_abz_ssi fpga" 提到了几个关键术语:SSI、ABZ、FPGA以及转换程序。这些术语涉及到电子工程领域,特别是数字系统设计中的一个重要部分——现场可编程...
4. **Python库**:作为Python库,"galileo-ssi"提供了一组Python编程接口(APIs),让开发人员能够轻松地在他们的Python项目中利用其功能,例如处理分布式系统的协调或云原生应用的构建。 在解压"galileo-ssi-1.2....
标题中的"SSI_rx.rar_SSI_SSI VHDL_VHDL SSI_uart_vhdl"表明这是一个关于SSI(Synchronous Serial Interface)串行同步接口接收部分的VHDL设计项目,使用了Xilinx ISE作为开发环境,并且包含了UART(Universal ...
总结来说,这个"SSI框架登录实例"为我们提供了一个学习服务器端包含技术在实际应用中的机会,尤其是如何在Eclipse环境下构建一个简单的登录系统。它涵盖了HTML表单、服务器端处理、数据库验证等多个Web开发的基础...
SSI(Synchronous Serial Interface,同步串行接口)是一种在数字系统中常见的通信协议,用于传输数据。在本项目中,我们关注的是...通过这个项目,你可以深入理解如何在实际应用中使用Verilog来处理复杂的通信任务。
然而,通常所说的现代Web开发框架中并没有"SSI框架"这个概念。你提到的"ssi框架中需要的spring包"可能是理解上的误解,因为Spring是一个广泛使用的Java应用框架,而非与SSI直接关联。 Spring框架是Java企业级应用...
用于将SSI协议转换成RS232协议,因为带SSI协议处理能力的单片机几乎没有
对于学习SSI,初步的了解SSI框架有了更进一步的了解。
在前端开发中,模态窗口(Modal)是一种常见的交互元素,它可以在不离开当前页面的情况下显示额外的信息或功能。"SSI Modal" 是一个专为前端项目设计的模态解决方案,它以其灵活性和强大的功能而受到开发者的青睐。...
7. **SSI与动态语言结合**:在Java环境中,尽管可以直接使用SSI库,但更常见的情况是结合JSP、Servlet或其他动态语言来处理复杂的业务逻辑,而仅使用SSI处理简单的页面元素包含。 综上所述,这个"SSI整合的jar包...