java - 从 Java 中的 SOAPMessage 获取原始 XML

标签 java soap jax-ws

我已经在 J​​AX-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/

相关文章:

java - SOAP 请求 : Illegal Protocol https for HTTP URLConnection Factory

java - 语言规范是如何创建的

java - 对象列表与字符串值比较

java - 如何在soaphandler中访问@PersistenceUnit私有(private)EntityManagerFactory emf

c# - NetSuite SuiteTalk - 从 "SearchColumnSelectCustomField"检索值字符串

java - 无法修改 SOAP WebService 客户端中的 http 接受 header - JAX-WS 2.2.10 - JDK1.7

java - 在 JAX-WS 中重命名参数名称

java - 在服务器端设置Java Web服务超时

java - 使用 AspectJ 了解调用者类

java - 将列表 <Integer> 处理到线程