2009-06-05 20 views

回答

6

javax.xml.soap.SOAPMessage是一個SAAJ API類。該鏈接提供了有關SAAJ API的一些詳細信息以及參考實現。請記住,環境中的實現可能與參考實現不同,但您應該只關注API本身,而不是關於實現的任何細節。既然你談論的是JAX-B 2.x註釋類型,我們可以假設你正在處理SAAJ 3.許多SAAJ 3類擴展了DOM類(我非常肯定這在SAAJ 2中是成立的,但SAAJ 1並不是這樣) 。它恰巧是javax.xml.soap.SOAPMessage extends org.w3c.dom.Node。方便地,JAX-B 2.x提供了一種將DOM樹(或子樹)轉換成Java類型的簡單方法。

下面的代碼是一個方法:

import javax.xml.bind.JAXBContext; 
import javax.xml.bind.Unmarshaller; 

JAXBContext jc = JAXBContext.newInstance("test.jaxb"); 
Unmarshaller unmarshaller = jc.createUnmarshaller(); 
unmarshaller.unmarshal(soapBody); 

或者,你可以把soapBodyJAX-P DOMSource,然後解組。如果您有興趣,還有其他更迂迴的方法可以從A點到B點,但您可以使用上面的代碼片段解決您的問題。

相關問題