簡體   English   中英

將 XML 文件中的 SOAP 響應解析為對象

[英]Parse SOAP response from XML file into object

我有一個可以運行 SOAP 集成的項目,我需要編寫一些測試。

為了避免在測試期間進行 Web 服務調用,我將一些 SOAP 響應保存到 XML 文件中,但我不知道如何將這些 XML 轉換為適當的對象。

我試過使用JAXBContext / Unmarshaller ,但我得到錯誤expected elements are (None) ,我認為這與與 XML 響應關聯的類沒有@XmlRootElement注釋(我可以) t 改變這個)。

這個問題與我的非常相似,但當前的答案並沒有真正指定如何從響應中獲取最終對象。

我也不清楚是否必須保留特定於 SOAP 的標記,或者是否更容易剝離它們並將文件視為普通的 XML。

看到這個答案后,我得到了它的工作。

問題是缺少@XmlRootElement ,為了使其工作,應該使用unmarshall()的 2 參數版本,如下所示(來自另一個問題的代碼):

String pathname = "file.xml";
InputStream stream = new FileInputStream(pathname); 
JAXBContext jaxbContext = JAXBContext.newInstance(UserType.class); 
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller(); 
XMLInputFactory factory = XMLInputFactory.newInstance(); 
XMLEventReader someSource = factory.createXMLEventReader(stream); 
JAXBElement<UserType> userElement = jaxbUnmarshaller.unmarshal(someSource, UserType.class); UserType user = userElement.getValue();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM