分享
 
 
 

使用JWSDP完成Web Service在java的入门(一)

王朝java/jsp·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

Web Service在Java领域,AXIS因其轻易使用,很多项目都使用了它,对于Sun提供的Web Service技术,则不多使用,现更新有关版本,重新使用了一下Sun提供的JWSDP,并写了这篇入门.供需要者参考.

一 Sun公司的Web Service

Web服务是基于web的使用开放的基于XML标准的企业应用,是和调用客户端交换数据的传输协议,Java技术和WEB服务被组织成这些亚类:

Java Web Services Developer Pack (Java WSDP)

Java API for XML-Based RPC (JAX-RPC)

Java API for XML Registries (JAXR)

Java API for XML Processing (JAXP)

Java Architecture for XML Binding (JAXB)

SOAP with Attachments API for Java (SAAJ)

XML and Web Services Security

JAX-RPC代表基于xml远程过程调用的java API,是一项为构建使用RPC和XML的Web服务和客户端的技术,通常用于分布式的CS模式中,它是一种RPC机制能使客户端执行其他系统上的过程.

在JAX-RPC中,一个RPC由基于XML协议如SOAP表示,这个SOAP规范定义了一个信封结构,编码规则以及为代表远程调用和响应的协定.这些调用和响应作为SOAP消息在HTTP上传输.

尽管SOAP消息复杂,但JAX-RPC API向应用开发者隐藏了这些复杂性.在服务器端,开发者指定那个调用过程是通过用java语言写的接口定义的方法, 开发者还要编码一个或多个实现这些方法的类.客户端程序也轻易编码:一个客户端创建一个代理(一个代表服务的本地对象),然后简单的在那个代理上调用那个方法.使用JAX-RPC,开发者不用生成或分析SOAP消息,这是JAX-RPC运行时系统做的事情:它在来往的API调用和响应到SOAP消息之间进行转换.

使用JAX-RPC,客户端和web services有一个巨大的好处:java编程语言的平台独立性.此外,JAX-RPC没有限制: 一个JAX-RPC客户端能访问一个并不在java平台上运行的web服务,反之亦然.这个灵活性是可能的以为JAX-RPC使用由W3C定义的技术:HTTP, SOAP,WSDL. WSDL为把一个服务在消息上描述为一套端点操作指定了一个XML格式.

二 SUN提供的WEB服务构建工具

J2EE提供了APIs和创建,发布可互操作WS和客户端的工具,其中JAX-RPC(SI)标准实现提供了wscompile 和 wsdeploy 工具,使你开发,发布,调用Web Service:

1wscompile可接受两种输入:WSDL和Service Endpoint Interface,输出为可移植制品和model文件.

2wsdeploy只有一种输入:包括wscompile输入和输出再加上一个部署描述符文件,输出是可发布的特定平台上的web service.

这些工具同Java WSDP一起打包可供使用,java web服务开发包是一个免费的集成工具箱,用它构建,测试,发布XML应用,web服务以及带有最新web服务技术和标准实现的web应用.

(一) wscompile工具

1 工具介绍

它生成由JAX-RPC运行时需要的各种客户端和服务端制品以供开发,部署,调用一个Web服务. 这个工具有两种使用形式:批处理和Ant构建脚本.

wscompile -gen -classpath lib/foo.jar;lib/bar.jar -d generated config.xml

wscompile -gen-f:infix:Name -d generated config.xml

wscompile -define -f:nodatabinding -f:novalidation config.xml

wscompile -import -f:explicitcontext config.xml

Ant脚本,在Ant中使用这个任务前要先定义:

<taskdef name="wscompile" classname="com.sun.xml.rpc.tools.ant.Wscompile"

<classpath path="${classpath}"/

</taskdef

其中的类路径要指向以下档案库:

jaxrpc-api.jar

jaxrpc-impl.jar

jaxrpc-spi.jar

saaj-api.jar

saaj-impl.jar

jaxp-api.jar

dom.jar

sax.jar

xalan.jar

xercesImpl.jar

activation.jar

mail.jar

jax-qname.jar

namespace.jar

xsdlib.jar

relaxngDatatype.jar

例子:

<wscompile gen="true" base="${build}" features="explicitcontext"classpath="xyz.jar" debug="true" config="config.xml"

<wscompile import="true" keep="true" sourceBase="${source.dir}" base="${build}" model="model.xml.gz" PrintStackTrace="true"config="config.xml"

<classpath refid="compile.classpath"/

</wscompile

<wscompilefork="true"define="true" nonClassDir="${wsdl.dir}" features="documentliteral, useonewayoperations" config="config.xml"/

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有