1

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

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

我指的主要来源:SAAJ 代码示例Request.java中的部分

4

2 回答 2

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 为您生成代理对象,您的生活会轻松很多。然后您可以在这些对象上调用您的请求,就好像它们是本地方法一样。如果您有兴趣,这里有一个关于它的快速教程。

于 2013-04-06T16:24:03.353 回答
0

尝试使用SoapWS库,使用此库测试 SOAP 服务要容易得多:

于 2013-04-06T15:56:50.643 回答