用Axis2進行SOA開發:瞭解Axis2基礎(五)

isoa發表於2009-01-08

  ServiceClient 具有以下用於呼叫服務的 API:

  sendRobust
  fireAndForget
  sendReceive
  sendReceiveNonBlocking

  sendRobust:此 API 的思路是將 XML 塊傳送給 Web 服務,而不考慮其響應。不過,如果出現了錯誤,您將也需要知道此情況。因此,此 API 用於呼叫並不返回值但可能引發異常的服務。

  fireAndForget:此 API 只用於傳送 XML 塊,但並不考慮響應或異常,因此這是呼叫僅傳入的 MEP。

  sendReceive:呼叫具有返回值的服務。這是最常用的 API 之一,可以用於呼叫傳入-傳出 MEP。

  sendReceiveNonBlocking:以非阻塞方式呼叫服務。服務具有返回值時,可以使用此方法。為了使用此方法,您必須傳遞一個回撥物件,將在呼叫完成後立即呼叫回撥物件。

  正如前面提到的,OperationClient 用於高階使用者,使用 OperationClient 要求您對 Axis2 有良好的瞭解。在 ServiceClient 中,您並不需要知道有關 SOAP 信封或訊息上下文的任何資訊,但對於 OperationClient,您必須在呼叫服務前自己建立它。使用 OperationClient 建立和呼叫服務涉及到以下步驟:

  建立服務客戶機

  然後使用建立的服務客戶機建立操作客戶機
  建立 SOAP 信封
  建立訊息上下文
  將 SOAP 信封新增到訊息上下文
  將操作上下文新增到操作客戶機
  呼叫操作客戶機
  如果有響應,則從操作客戶機獲取響應訊息上下文

  總結

  Axis2 將不會對 Web 服務概念進行驗證,而將提供更好的 SOAP 處理模型,且與 Axis 1.x 及其他現有 Web 服務引擎相比,其速度和內容方面的效能都得到很大的提高。此外,它還為使用者提供了方便的 API,用於部署服務、擴充套件核心功能和新客戶機程式設計模型。現在已經進入了 Axis2 的時代了。(來自search soa)

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14780828/viewspace-531771/,如需轉載,請註明出處,否則將追究法律責任。

相關文章