我已经在 JAX-WS 中设置了一个 SOAP WebServiceProvider,但是我无法弄清楚如何从 SOAPMessage(或任何节点)对象中获取原始 XML。这是我现在得到的代码示例,也是我试图获取 XML 的地方:
@WebServiceProvider(wsdlLocation="SoapService.wsdl")
@ServiceMode(value=Service.Mode.MESSAGE)
public class SoapProvider implements Provider<SOAPMessage>
{
public SOAPMessage invoke(SOAPMessage msg)
{
// How do I get the raw XML here?
}
}
有没有简单的方法来获取原始请求的 XML?如果有办法通过设置不同类型的 Provider(例如 Source)来获取原始 XML,我也愿意这样做。
最佳答案
你可以这样试试。
SOAPMessage msg = messageContext.getMessage();
ByteArrayOutputStream out = new ByteArrayOutputStream();
msg.writeTo(out);
String strMsg = new String(out.toByteArray());
关于java - 从 Java 中的 SOAPMessage 获取原始 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/522395/