【发布时间】:2014-07-17 16:18:19
【问题描述】:
我有一个完整的 SOAP 消息作为字符串。我有一些使用 wsimport 从 WSDL 生成的相应 Java 类。如何将 SOAP 消息转换为 Java 对象?
【问题讨论】:
我有一个完整的 SOAP 消息作为字符串。我有一些使用 wsimport 从 WSDL 生成的相应 Java 类。如何将 SOAP 消息转换为 Java 对象?
【问题讨论】:
这就是我最终得到的结果(映射到 Java 类型 Thingy 的示例):
MessageFactory messageFactory = MessageFactory.newInstance();
ByteArrayInputStream soapStringStream = new ByteArrayInputStream(soapString.getBytes(Charset.forName("UTF-8")));
SOAPMessage soapMessage = messageFactory.createMessage(new MimeHeaders(), soapStringStream);
Unmarshaller unmarshaller = JAXBContext.newInstance(Thingy.class).createUnmarshaller();
Document bodyDoc = soapMessage.getSOAPBody().extractContentAsDocument();
Thingy request = (Thingy) unmarshaller.unmarshal(bodyDoc);
【讨论】: