服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

用jwsdp将java和web服务结合起来


  用jwsdp将java和web服务结合起来

sun的java web服务开发工具包(jwsdp)能够让你完全使用java编程语言来编写web服务,但是这些工具的数量和复杂性可能会让使用jwsdp的新程序员束手无策。

jwsdp支持行业标准,这就能够确保其与标准组织所发布的技术和规范具有互操作性,例如万维网协会(w3c)以及结构信息标准推动组织(oasis)等。jwsdp还提供多种辅助工具,例如wsdl stub编译器,它能够生成一个wsdl文件,用于web服务和独立的web服务uddi 2.0注册表。jwsdp还能和apache tomcat以及一些ant的任务捆绑工作,这就让你能够在tomcat内注册和管理web服务。


jwsdp的编程接口一般被分成两个大类:一类用来处理xml文档,另一类用来处理远程过程(remote procedure)。

面向文档的api有:

用于xml处理(jaxp)的java api
用于xml绑定的(jaxb)的java架构

面向远程过程的api有:

用于基于xml的rpc(jax-rpc)的java api
用于xml注册表(jaxr)的java api
用于xml信使服务(jaxm)的java api

现在让我们将每个api集分开,看看我们能够用每个api来做些什么。

jaxp
jaxp为剖析和转换xml文档公开了一些可插入的api,这样就不再需要专门的xml处理器了。

jaxb
jaxb为基于xml的java应用程序的开发公开一些api。jaxb为映射xml文档和java对象提供了工具、api和框架。为把xml结构描述转变成为java类,它还提供了一个编译器。绑定框架让进出的xml文档的错误和验证检查成为可能。

jax-rpc
jax-rpc为开发基于soap的web服务端点(endpoint)和客户端公开了api。jax-rpc是j2ee 1.4平台所必需的工具包。

jaxr
jaxr为对xml注册表的访问、查询和发布公开了api。

jaxm
jaxm工具包为发送和接收面向文档的xml信息公开了api。jaxm通过发送附加信息来支持soap 1.1。jaxm使用信使配置来工作,例如ebxml的传输、路由和信息打包处理服务(packaging message handling service)。这一概念为在未来支持基于标准的信使协议提供了支持。

saaj
saaj扩展了jaxm,用以让开发人员开发出使用带有附加信息的soap。
测试jwsdp能力


现在让我们来测试jwsdp,并看看要发布一个简单的web服务我们需要做什么。listing a里的示例代码演示了你可以如何使用jwsdp来将一个简单的股票报价服务发布到注册表里。下面代码列表的每个都会更加深入的说明jwsdp组件的能力:

listing b里的executepublish方法会处理发布过程中的大部分事务。它会调用多个辅助方法来从事一些任务,例如验证、创建服务集合、将服务绑定到端点等等。
listing c里的createorg方法会创建一个结构,用来表示服务所属的机构。
listing d里的addclassifications方法会创建一个结构,用来将服务划分入预定的各个类别里。
listing e里的connecttoregistry方法会创建一个到指定注册表的连接。
listing f里的disconnect方法会断开到注册表的连接。
listing g里的saveservices方法会确实地将服务发布给注册表。
listing h里的bindservices方法会将服务同其端点进行绑定。
listing i里的authenticate方法会使用指定的用户名和密码来对注册表进行验证。
listing j里的createcontact方法会创建一个包含有某个组织联系信息的结构。

灵活性等于复杂性

jwsdp为创建和部署web服务以及web服务的客户端提供了一个全面的工具和api。它当然是很灵活和强大的了;但是,它不是为了让人头疼而设计的。单单这头动物的巨大体型就能够吓倒大多数的新手。但是对于那些希望在这头野兽身上多花一点时间的人来说,它所带来的可能成果是无可限量的。

扫描关注微信公众号