Java2平台袖珍版(J2ME)平台中的Web服務是由Java規范請求172(JSR172)定義的,它與標准Web服務遵循同樣的規范、結構以及調用模型。
J2ME的Web服務API講解
用於Java2平台袖珍版(Java2Platform,MicroEdition,J2ME)的Web服務API(WSA)是由JavaCommunityProcess為Java規范請求172(JSR172)而定義的,這些API是兩個相互獨立的可選包,用於遠程服務調用和XML解析。他們是針對基於連接設備配置(ConnectedDeviceConfiguration,CDC)和有限連接設備配置(ConnectedLimitedDeviceConfiguration,CLDC1.0和CLDC1.1)的框架的。為什麼用戶應該關注這些呢?因為JSR172在設備層為遠程服務調用和XML解析提供了支持,也就意味著開發人員不用將這項功能嵌入到每一個應用程序中。本文介紹了遠程服務調用可選包API。
J2ME中的Web服務
Java2平台袖珍版(J2ME)平台中的Web服務是由Java規范請求172(JSR172)定義的,它與標准Web服務遵循同樣的規范、結構以及調用模型。我們來回顧一下清單。
與標准Web服務的比較
JSR172Web服務API(WSA)遵循下面這些核心Web服務規范:
簡單對象訪問協議(SOAP)1.1,定義傳輸和數據編碼。
Web服務定義語言(WSDL)1.1,定義如何描述遠程服務。
XML1.0,定義XML標記語言。
XMLSchema,毫無疑問,定義XML模式。
注意JSR172不支持統一描述、發現和集成(UDDI)2.0規范,該規范定義了如何發現遠程服務。
由於有相當多的與Web服務相關並且涵蓋了不同技術的規范出台,而且越來越多,Web服務互操作組織(WS-I)定義了WS-I基本概要1.0(WS-IBasicProfile,Version1.0)來定義Web服務規范的最小集,和一致性規則一樣,所有的基礎Web服務提供者和消費者都必須遵守該概要。JSR172規范也遵守WS-I基本概要。
使用JSR172JAX-RPC調用遠程服務
一旦生成、編譯並部署了JSR172JAX-RPC存根和支持文件,消費遠程服務就很容易了。事實上,除了導入RemoteException,完成最少量的JAX-RPC細節初始化工作,您的應用程序不光是看上去,而且運行起來也和非Web服務消費者應用程序一樣。由於有JSR172存根和運行時,實現這種簡單的應用程序是可能的,正如前面提到的,JSR172存根和運行時把與遠程調用相關的大部分細節都隱藏了。
要調用遠程服務,您首先需要實例化存根,完成最少的存根初始化工作,然後就是如何編寫調用存根方法。下面的代碼片斷顯示了如何使用JSR172JAX-RPC調用遠程服務。