加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

xfire 拾记

发布时间:2020-12-17 01:20:12 所属栏目:安全 来源:网络整理
导读:1 基本的xfire webservice部署 ?? 一般我们都是以helloworld开始的,当然xfire也是这么开始。都会给个返回String 的方法,这是最简单的体验。 ?? 当然这时候我们会想如果将数据类型扩展到我们自己建立的,java中的集合,那就可以了,基本可以应付一切情况了

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等。

?? ?具体区别:(暂缺)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读