MessageContext和傳輸頭

本節深刻分析JWS服務層怎樣和傳輸層進行交互,重點就在Handler中訪問的MessageContext類型:其中子類SOAPMessageContext和LogicalMessageContext是兩個參數類型,好比在SOAP Handler和Logical Handler中各自的handleMessage回調方法。java

在當下比較流行的編程語言系統中,「上下文」(context)是一個很常見的定義,包括 java 語言。Servlet擁有一個ServletContext上下文類型,EJB擁有一個EJBContext上下文類型,web服務擁有一個WebServiceContext上下文類型。從架構的角度理解,上下文就是可以訪問它底層容器的一類對象。容器爲這類對象提供底層支持。從編程角度理解,一個上下文多是一個Map<String,Object>,一個鍵爲字符串,值爲任意對象的集合。web

而在帶有@WebService(SEI 或 SIB)註解的應用程序級別,一般將底層的MessageContext認爲是基礎設施中透明不可見的部分。在Handler層面,MessageContext做爲回調方法的參數暴露出來,這樣一個SOAP Handler或一個Logical Handler能夠各自訪問SOAP消息和這些消息所包括的單元。這一節咱們將瞭解不是很常見的狀況,就是在Handler以外訪問MessageContext類型;也就是說,在應用程序的核心組件中,服務實現Bean(SIB)和它的客戶端編程

在一個Handler或SIB中,Java經過MessageContext對象提供了對HTTP消息的訪問。在基於Java的客戶端中,Java也一樣地提供了對HTTP協議層的訪問支持,不過它是經過BindingProvider對象和該對象實例以屬性方式表現出來的請求/響應上下文。架構

實例演示(見後續的blog)......
編程語言

相關文章
相關標籤/搜索