亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > XML > 正文

詳解XML-RPC和JAX-RPC

2024-09-05 20:54:10
字體:
來源:轉載
供稿:網友

響應也是簡單的XML文件,擁有根元素,或者有或者沒有子元素。這與復雜的SOAP相應對比鮮明。

原先的XML-RPC協議是由Web先鋒Dave Winer于1998年在UserLand Software公司發明的。其第一個實現是在UserLand Frontier開發平臺上(事實上,UserLand Software的商標就是"XML-RPC")。“在HTTP之上傳輸XML文本”方法的自然用途就是創建SOAP,這其中有Winer, Don Box以及其他微軟公司人士的貢獻。但是,SOAP由于很多對應用完全不必要得特性而變得非常重量級,所以XML-RPC還是值得注意的。

原先的XML-RPC只使用一些數據類型,并不需要名字空間。通過定義和包含其它值的類型,它獲得了相當可觀的靈活性。下面是一個XML-RPC說明書中的例子。它指定了示例應用程序中"getStateName"方法的輸入參數。

以下為引用的內容:
<?xml version="1.0"?>
<methodCall>
  <methodName>examples.getStateName
  <params>
    <param>41
  </params>
</methodCall>

你可能已經猜到這個標簽表示4字節整數,下面是用于在標簽中指定如何翻譯內容的所有類型標簽。如果沒有使用任何標簽,就認為是String值。注意,參數并沒有被命名,元素的順序只和方法參數的順序一樣。

以下為引用的內容:
Java Type  XML tag      Description
Integer   or    A 32 bit signed integer
Double        A double precision (64bit) signed floating point number
Boolean       0 (false) or 1 (true)
String        string
Date or   A timestamp in the ISO8601 style but simplified
Calendar            with resolution to the second.
byte[]        A base-64 encoded array of bytes
Map          Pair(s) of tags where the name is a string and
                the value can be any other type, including
Object[]        An array of objects where the elements can be any other type.


在原始的說明書中,沒有辦法指明任何類型的“null”值,但擴展版本允許附加類型。

響應也是簡單的XML文件,擁有根元素,或者有或者沒有子元素。這與復雜的SOAP相應對比鮮明。

XML-RPC實現

xmlrpc.com上列出的實現給出了通往79個不同實現的鏈接,它們在各種語言中實現了基本的XML-RPC協議,包括5個2003年12月用Java語言實現的。但是,這些項目中很多都是停滯的。而由Apache Web Services Project主持的項目則是活躍的。我嘗試運行當前的3.0a1版本,卻發現它對其它Web服務項目庫有奇怪的依賴??雌饋硭坪魽pache Web Services Project在開發3版本,所以如果你對開源XML-RPC解決方案感興趣,不妨對它多關注。

JAX-RPC: 針對XML RPC的Java API

最早的Java API要從JSR 101開始算起。這項工作從2001年初開始,到2002年年中到達1.0版本。2003年,發布了1.1版本并附帶在Java Web Services Developer Pack由Sun的參考實現。在JAX-RPC中,Java原始類型的定義與XML schema類型緊密相關。它還支持更多的Java標準庫對象,例如,BigInteger 和 BigDecimal,以及符合JavaBeans標準的對象。使用JSR 101的人可以并行開發SOAP和其它XML技術。

Java Web Services Developer Pack (JWSDP)1.6版包括很多其它東西以及對JAX-RPC 1.1.3的一個實現。

JAX-WS 2.0:下一個JAX-RPC

該說明書的下一個版本叫做JAX-WS 2.0,是針對基于XML的Web服務,用來代替JAX-RPC的Java API。該標準被作為Java Specification Request (JSR) 224來開發,現在處于最后草案階段。

JAX-RPC的下一個版本將顯著降低Web服務開發的復雜性,部分通過使用Java 1.5標準庫的特性來實現。你可以跟蹤網站上源碼列表中的參考實現。至于本文,已經可以訪問第3版的參考實現。

使用JWSDP 1.6

JWSDP 1.6一個有用的功能就是對Web Services Description Language (WSDL)的支持。假定有一個描述Web服務的WSDL文檔,那么就可以自動生成訪問服務的客戶端代碼和支持服務的服務器端代碼。為了用一個簡單的接口用來相應客戶對已發布的Web服務的請求,我在JWSDP 1.6中用wscompile工具創建客戶端的類,它們可以基于三四個輸入參數來描述可能的動作。結果,幾秒鐘內就能創建驚人的32個類。

一旦我指出這些類中的哪些提供真正的創建請求的起始點,那么編寫代碼實現簡單的命令行接口就很簡單了。而當我想運行程序時,問題隨之而來??蛻舳诵枰獜腏WSDP中添加10個jar包到他自己的Java程序中。

由于不能幫大家一個一個調試這些jar包與其它Java程序的潛在沖突,我放棄這種做法,轉而用string模板寫一個簡單的程序來創建SOAP請求和XPath來翻譯返回的結果。就像其名字一樣,我認為JWSDP將主要用于創建Web服務,而不是消費Web服務。

XML-RPC還有用嗎?

JAX-RPC的復雜性導致程序員的某種倒退。從Google中搜索"JAX-RPC complexity"就能看到一些用戶的反應。我想你應該在以下情況考慮XML-RPC而不是JAX-RPC:

你的應用程序只需相對簡單的請求

你能控制服務器端和客戶端,你不需要發布WSDL

你想簡單的解析客戶端(就像AJAX應用程序)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美午夜www高清视频| 欧美巨大黑人极品精男| 欧美亚洲国产日本| 中日韩美女免费视频网址在线观看| 国产精品免费久久久久影院| 精品久久久久久久久久久久久| 亚洲国产欧美一区二区三区同亚洲| 欧美国产日产韩国视频| 亚洲精品天天看| 91九色精品视频| 亚洲精品自拍第一页| 亚洲大胆人体视频| 在线观看欧美www| 精品久久久久国产| 社区色欧美激情 | 亚洲福利在线播放| 成人精品久久av网站| 国产欧美日韩中文字幕在线| 久久久久久久久久婷婷| 久久夜色精品国产| 色av吧综合网| 欧美日韩一区二区三区| 欧美精品成人91久久久久久久| 动漫精品一区二区| 亚洲深夜福利网站| 日韩国产中文字幕| 欧美日韩免费看| 亚洲2020天天堂在线观看| 全亚洲最色的网站在线观看| 国产精品主播视频| 欧美激情久久久久久| 亚洲欧美日韩另类| 91高潮精品免费porn| 精品久久久一区| 国产伦精品一区二区三区精品视频| 国产精品96久久久久久又黄又硬| 亚洲精品久久久久久久久久久| 欧美性猛交xxxx免费看久久久| 17婷婷久久www| 亚洲精品小视频在线观看| 亚洲精品欧美极品| 欧美日韩一二三四五区| 欧美理论在线观看| 日韩精品在线免费| 欧美性猛交xxxx乱大交极品| 欧美xxxx做受欧美| 午夜精品国产精品大乳美女| 亚洲成av人乱码色午夜| 久久久久久国产免费| 久久精品夜夜夜夜夜久久| 中国china体内裑精亚洲片| 欧美视频专区一二在线观看| 欧美性受xxxx黑人猛交| 亚洲乱亚洲乱妇无码| 国产精品成av人在线视午夜片| 国产成人综合久久| 91伊人影院在线播放| 国产精品久久久久福利| 国产精品99久久久久久www| 亚洲天堂视频在线观看| 中文字幕免费精品一区| 91高清在线免费观看| 在线看片第一页欧美| 午夜剧场成人观在线视频免费观看| 91日韩在线播放| 成人黄色中文字幕| 亚洲精品美女久久| 亚洲最大福利网| 91久久精品国产91久久性色| 欧美视频在线观看 亚洲欧| 欧美在线视频网| 国产精品黄色影片导航在线观看| 欧美限制级电影在线观看| 欧美午夜美女看片| 国产精品444| 中文字幕欧美日韩精品| 久久资源免费视频| 精品成人国产在线观看男人呻吟| 97香蕉久久超级碰碰高清版| 国产一区二区三区在线| 日韩电影免费观看在线观看| 亚洲午夜性刺激影院| 国产日韩欧美电影在线观看| 日韩av在线导航| 茄子视频成人在线| 日韩在线观看免费高清完整版| 97av在线视频| 国产精品一区二区久久| 精品国产精品自拍| 亚洲v日韩v综合v精品v| 插插插亚洲综合网| 亚洲成人av资源网| 久久天天躁狠狠躁夜夜躁2014| 欧美午夜片在线免费观看| 亚洲欧美日韩精品久久| 91干在线观看| 欧美精品在线视频观看| 欧美精品激情视频| 久久精品国产亚洲一区二区| 亚洲一区二区久久久久久| 欧美精品在线网站| 日韩av免费观影| 疯狂做受xxxx高潮欧美日本| 亚洲毛片在线免费观看| 国产精品久久不能| 欧美老妇交乱视频| 亚洲精品久久在线| 日韩二区三区在线| 91久久久久久久久| 97不卡在线视频| 国产视频综合在线| 日韩电影免费观看中文字幕| 亚洲第一男人av| 日韩日本欧美亚洲| 中文字幕精品在线| 免费不卡在线观看av| yw.139尤物在线精品视频| 91av视频在线| 国产日韩精品在线| 国产日韩在线观看av| 琪琪亚洲精品午夜在线| 97香蕉超级碰碰久久免费软件| 精品久久久久久中文字幕一区奶水| 欧美一级淫片videoshd| 久久久国产精品免费| 亚洲欧洲av一区二区| 国产免费久久av| 日韩电视剧在线观看免费网站| 一区二区三区高清国产| 2019av中文字幕| 亚洲成人av片在线观看| 久久精品电影网站| 欧美成人精品xxx| 在线播放日韩欧美| 国产精品偷伦一区二区| 国产成人精品久久二区二区91| 国产精品视频中文字幕91| 欧洲美女免费图片一区| 国产精品igao视频| 91成人精品网站| 日韩av在线免费观看| 国产一区二区动漫| 欧美精品久久久久久久| 亚洲永久免费观看| 国产精品精品一区二区三区午夜版| 国产精品99久久久久久人| 91地址最新发布| 欧美激情免费视频| 欧美福利视频在线观看| 国产精品天天狠天天看| 91精品国产高清久久久久久91| 国产精品免费一区豆花| 一色桃子一区二区| 久久亚洲电影天堂| 97国产真实伦对白精彩视频8| 亚洲精品www久久久久久广东| 久久网福利资源网站| 亚洲成人av资源网| 亚洲欧美制服丝袜| 精品无人区太爽高潮在线播放| 日韩av男人的天堂| 亚洲女人天堂网| 亚洲区中文字幕| 亚洲国产中文字幕久久网|