xfire 拾记

1 基本的xfire webservice部署

   一般我们都是以helloworld开始的,当然xfire也是这么开始。都会给个返回String 的方法,这是最简单的体验。

   当然这时候我们会想如果将数据类型扩展到我们自己建立的,java中的集合,那就可以了,基本可以应付一切情况了。

 

   在写webservice的服务端的时候,可以不用考虑到啥类型的问题,和我们平常的写程序的时候一样,如果不是jsr181的情况,

   我们一般是遵循接口的编写方式。jsr181呢则是用了一些声明式的方式,感觉还是接口方式,自己用起来比较舒服。

 

   在编写客户端的时候,我们有时候考虑到类型的问题。一般用ant进行生成。如下:

   <?xml version="1.0"?>

<project name="txfie" default="genfiles" basedir=".">

<property name="lib" value="../jars" />

<path id="myclasspath">

<fileset dir="./${lib}">

<include name="*.jar" />

</fileset>

<pathelement location="${genfiles}" />

</path>

<!--通过XFire ant任务生成客户端代码的存放位置-->

<property name="code_path" value="${basedir}" />

<!--需要生成客户端代码的wsdl文件,可以直接获得对方给的wsdl 进行客户端代码的生产 -->

<!-- 1 对方告诉部署的服务地址 -->

<!-- <property name="wsdl_path" value="http://localhost:8899/helloWS_Spring_Xfire/helloService.ws?wsdl" /> -->

<!-- 2 获得wsdl 指定地址 -->

<property name="wsdl_path" value="MemberService.wsdl" />

 

<!--生成客户端代码的包名-->

<property name="code_package" value="cn.com.client" />

 

<!-- Remove classes directory for clean build -->

<target name="clean" description="Prepare for clean build">

<delete dir="${code_path}" />

<mkdir dir="${code_path}" />

</target>

 

<!--<target name="genfiles" depends="clean" description="Generate the files">  -->

<target name="genfiles" description="Generate the files">

<taskdef name="wsgen" classname="org.codehaus.xfire.gen.WsGenTask" classpathref="myclasspath" />

<!--outputDirectory属性定义创建的代码所在的文件夹

            wsdl是web服务的wsdl文件

            package代表创建的代码的package

            不些binding方式默认为jaxb2 还有xmlbeans方式

        -->

<wsgen outputDirectory="${code_path}" wsdl="${wsdl_path}" package="${code_package}"  overwrite="true" />

</target>

</project>

 

<!-- 用来生成客户端文件 -->

 

a  第一个划线的地方,已经写明白了,俩种方式指定客户端代码的源。要么直接指向具体的url,

     一般写服务的人会丢给你wsdl,这时我们直接用这个文件进行生成就可以了

b  第二个进行划线的地方,没有执行xmlbinding="" ,默认的都是Aegis方式的,这时候如果服务中有自定义的pojo等

    的情况,在客户端都可以生成对应的pojo。当然也可以进行指定,例如xmlbeans等。

    具体区别:(暂缺)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值