国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

用SAAJ1.2發送接收二進制Web服務內容(一)

2019-11-18 12:52:31
字體:
來源:轉載
供稿:網友

  在寫這篇文章的時候,大多數的Web服務由簡單的信息交換組成:客戶端連接到Web服務器端,并發送一條消息給服務端。Web服務端處理客戶端的請求并發送回應給客戶端。這個簡單的請求/回應模式,模擬了HTTP協議幫助客戶端/服務器端交互的過程。同樣由于HTTP,Web服務信息的交換經常必須包含二進制的內容。比如圖像,文檔或者聲音片段。這篇文章介紹了使用SAAJ1.2(SOAP with Attachements API for java 1.2)來發送和接收二進制內容Web信息。
  
  在深入到傳送二進制Web服務內容的復雜機制前,值得指出的是:簡單的請求/回應類型的Web服務,與客戶端/服務器端的遠程過程調用(RPC)方式不同。在RPC中,服務器給出一個類似API的接口。而客戶端通過使用遠程調用服務的API,傳遞必要的參數和接收調用值來啟用一個服務。
   
  基于xml的RPC調用類似在OO系統中調用一個對象一樣。事實上,當你用基于XML的JAVA API工作時(Java API for XML-based RPC簡JAX-RPC),你總是覺得在跟Java對象工作,而不是跟XML文檔工作。JAX-RPC能讓你把Web服務看作遠程對象,這很像Java RMI(Remote Method Invocation)。JAX-RPC運行時把高層次的OO方法調用轉化為遠程Web服務需要XML文檔。雖然RPC類型的Web服務通常能提供更便捷的編程模型,但是RPC調用也必須依靠更低的消息層來完成組成遠程調用XML信息交換。
  
  對于有些Web服務來說,直接在低級別的消息層編程通常是很有用的。例如,假如你想調用一個處理訂單的文檔并返回收據,對這樣的Web服務,你能夠很輕易地把文檔交換模塊化為一個請求/回應的信息交換。替代遠程方法調用的是,你將構建XML信息,直接發送這些信息到Web服務,假如有的話,還會處理服務的XML回應。由于SOAP為Web信息服務定義了公共的信息格式,你需要構建符合SOAP格式的信息,并且,一旦服務有回應,就要把這些SOAP回應信息解析成你的程序所能理解的格式。
  
  SAAJ提供了一個能方便地構建和讀取SOAP信息的庫,這個庫還答應你通過網絡接收和發送SOAP信息。SAAJ定義了javax.xml.soap包。在這個包里面的類組成了最初的JAXM(Java API for XML Messaging),但是最近他們被分離出來成為單獨的API。JAXM依靠于SAAJ來構建和處理SOAP信息,并且依靠SAAJ來增加信息的可靠性和增加其他的XML信息特征。盡管SAAJ是J2EE的一部分,JAXM卻不是。這篇文章聚焦于SAAJ中最有用的一個方面:就是SAAJ捆綁二進制內容到SOAP信息的能力。
  
  使用附件的好處
  盡管SOAP的設計核心集中在信息中封裝XML文檔,但是,SOAP的附件特征擴展了SOAP所能包含的信息,除了普通的SOAP部分,還可以包括0個到多個附件,如圖1所示。每一個四周都由一個MIME類型定義,并且能采用任何的二進制流內容。
  
 用SAAJ1.2發送接收二進制Web服務內容(一)(圖一)

  
圖1:帶有附件的SOAP信息

  當客戶端希望傳送二進制數據的時候,SOAP的附件特征是非常有用的,比如傳送圖像,音頻數據給一個Web服務。假如沒有SOAP附件,發送一個二進制信息會困難很多。比如,一個客戶端的SOAP信息傳送二進制文件的URL地址。那么,客戶端不得不操作一個HTTP服務器,來讓Web服務找到這個二進制文件。這會給Web服務的客戶端造成過度的負載,非凡是當客戶端運行在資源有限的設備中,比如數碼相機或者掃描儀。SOAP的附件能力使得任何的Web服務客戶,能夠在SOAP信息里直接傳送內嵌二進制文件的SOAP信息。
  
  SOAP附件,已被證實能很方便地與網絡站點入口交互??紤]這樣一個現實中的房產代理網絡,它需要發送房子的介紹和照片到房產查詢中心入口。假如這個入口操作一個servlet來讓帶附件的SOAP信息置入,一個房產代理可以用幾個SOAP信息更新它的列表,包括這些房子的照片。SOAP信息體可能嵌入了房子所有權的介紹,并且SOAP附件能帶有房子圖片文件。在這樣的情況下,當一個入口操作servlet接收了這種信息,它就能返回一個認證文檔,表明了在入口的發布的有效性。圖2說明了這樣的一個Web服務。
  
用SAAJ1.2發送接收二進制Web服務內容(一)(圖二)

  
房產代理的WEB服務,使用了帶附件的SOAP信息


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 于都县| 汾阳市| 龙泉市| 巩义市| 板桥市| 晋城| 苗栗市| 邢台市| 定襄县| 凤翔县| 德化县| 平凉市| 遂昌县| 文安县| 奉化市| 北碚区| 青川县| 通州区| 方山县| 瑞丽市| 公安县| 龙山县| 东平县| 准格尔旗| 东港市| 无锡市| 霸州市| 息烽县| 泰来县| 天全县| 固原市| 建平县| 常熟市| 固安县| 富蕴县| 万盛区| 瓦房店市| 安顺市| 惠水县| 西乌珠穆沁旗| 新竹县|