用JWSDP将Java和Web服务结合起来
2008-01-05 09:38:15 来源:WEB开发网 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閻愵剙鍔ょ紓宥咃躬瀵鎮㈤崗灏栨嫽闁诲酣娼ф竟濠偽i鍓х<闁诡垎鍐f寖闂佺娅曢幑鍥灳閺冨牆绀冩い蹇庣娴滈箖鏌ㄥ┑鍡欏嚬缂併劎绮妵鍕箳鐎n亞浠鹃梺闈涙搐鐎氫即鐛崶顒夋晬婵絾瀵ч幑鍥蓟閻斿摜鐟归柛顭戝枛椤牆顪冮妶搴′簼缂侇喗鎸搁悾鐑藉础閻愬秵妫冮崺鈧い鎺戝瀹撲礁鈹戦悩鎻掝伀缁惧彞绮欓弻娑氫沪閹规劕顥濋梺閫炲苯澧伴柟铏崌閿濈偛鈹戠€n€晠鏌嶆潪鎷屽厡闁汇倕鎳愮槐鎾存媴閸撴彃鍓卞銈嗗灦閻熲晛鐣烽妷褉鍋撻敐搴℃灍闁绘挻娲橀妵鍕箛闂堟稐绨肩紓浣藉煐濮樸劎妲愰幘璇茬闁冲搫鍊婚ˇ鏉库攽椤旂》宸ユい顓炲槻閻g兘骞掗幋鏃€鐎婚梺瑙勬儗閸樺€熲叺婵犵數濮烽弫鍛婃叏椤撱垹纾婚柟鍓х帛閳锋垶銇勯幒鍡椾壕缂備礁顦遍弫濠氱嵁閸℃稒鍊烽柛婵嗗椤旀劕鈹戦悜鍥╃У闁告挻鐟︽穱濠囨嚃閳哄啰锛滈梺褰掑亰閸欏骸鈻撳⿰鍫熺厸閻忕偟纭堕崑鎾诲箛娴e憡鍊梺纭呭亹鐞涖儵鍩€椤掑啫鐨洪柡浣圭墪閳规垿鎮欓弶鎴犱桓闂佸湱枪閹芥粎鍒掗弮鍫熷仺缂佸顕抽敃鍌涚厱闁哄洢鍔岄悘鐘绘煕閹般劌浜惧┑锛勫亼閸婃牠宕濋敃鈧…鍧楀焵椤掍胶绠剧€光偓婵犱線鍋楀┑顔硷龚濞咃絿妲愰幒鎳崇喓鎷犻懠鑸垫毐闂傚倷鑳舵灙婵炲鍏樺顐ゆ嫚瀹割喖娈ㄦ繝鐢靛У绾板秹寮查幓鎺濈唵閻犺櫣灏ㄥ銉р偓瑙勬尭濡繂顫忛搹鍦<婵☆垰鎼~宥囩磽娴i鍔嶉柟绋垮暱閻g兘骞嬮敃鈧粻濠氭偣閸パ冪骇鐎规挸绉撮—鍐Χ閸℃ê闉嶇紓浣割儐閸ㄥ墎绮嬪澶嬪€锋い鎺嶇瀵灝鈹戦埥鍡楃仯闁告鍕洸濡わ絽鍟崐鍨叏濡厧浜鹃悗姘炬嫹

核心提示:用JWSDP将java和Web服务结合起来 Sun的Java Web服务开发工具包(JWSDP)能够让你完全使用Java编程语言来编写Web服务,但是这些工具的数量和复杂性可能会让使用JWSDP的新程序员束手无策,用JWSDP将Java和Web服务结合起来, JWSDP支持行业标准,这就能够确
用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。它当然是很灵活和强大的了;但是,它不是为了让人头疼而设计的。单单这头动物的巨大体型就能够吓倒大多数的新手。但是对于那些希望在这头野兽身上多花一点时间的人来说,它所带来的可能成果是无可限量的。
更多精彩
赞助商链接