如何将SOAP模板加载到Java中的SOAP消息中?
问题描述:
我正在做一些Web服务测试工作,因此必须使用Java创建SOAP请求。为了自动化SOAP消息的某些部分,只需要更改几个字段,其余部分保持静态。所以我想创建一个SOAP模板,并将其加载到Java。如何将SOAP模板加载到Java中的SOAP消息中?
虽然,我无法弄清楚如何将该文件直接加载到Java中的Message
对象。
,我指的主要来源: 在SAAJ code example
答
假设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。