【问题标题】:How to load a SOAP template to a SOAP message in Java?如何将 SOAP 模板加载到 Java 中的 SOAP 消息中?
【发布时间】:2013-04-04 06:47:17
【问题描述】:

我正在做一些 Web 服务测试工作,因此必须在 Java 中创建一个 SOAP 请求。要自动化 SOAP 消息的某些部分,只需更改几个字段,其余部分保持静态。所以我正在考虑创建一个 SOAP 模板,并将其加载到 Java。

不过,我无法弄清楚如何将该文件直接加载到 Java 中的 Message 对象中。

我指的主要来源: SAAJ code example 中的 Request.java 部分

【问题讨论】:

    标签: java xml web-services soap


    【解决方案1】:

    假设 template.xml 包含你的请求数据,你可以这样传递:

    SOAPPart soapPart = message.getSOAPPart();
    DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
    DocumentBuilder builder = dbFactory.newDocumentBuilder();
    Document document = builder.parse("file:///template.xml");
    DOMSource domSource = new DOMSource(document);
    soapPart.setContent(domSource);
    

    如果您不需要使用 SAAJ,那么如果您使用 JAX-WS 实用程序从 WSDL 为您生成代理对象,您的生活会轻松很多。然后,您可以在这些对象上调用您的请求,就好像它们是本地方法一样。如果您有兴趣,这里有一个关于它的快速tutorial

    【讨论】:

      【解决方案2】:

      试试SoapWS库,用这个库测试SOAP服务要容易得多:

      【讨论】:

        猜你喜欢
        • 2011-11-16
        • 1970-01-01
        • 2010-11-03
        • 2013-12-22
        • 2017-03-01
        • 2017-09-26
        • 1970-01-01
        • 2017-11-01
        • 1970-01-01
        相关资源
        最近更新 更多