/**
* 封装soap数据
* @return
* @throws SOAPException
*/
public String initSoapData() throws Exception{
SOAPMessage soapmessage = MessageFactory.newInstance().createMessage();
SOAPPart soappart = soapmessage.getSOAPPart();
SOAPEnvelope soapenvelope = soappart.getEnvelope();
SOAPHeader soapheader = soapenvelope.getHeader();
soapenvelope.addNamespaceDeclaration("rec","http://cebpubservice.com/ReceiveService");
SOAPElement id = soapheader.addChildElement("Token", "rec").addChildElement("Token", "rec");
id.setTextContent("XXX内容。。。。。。");
SOAPBody soapbody = soapenvelope.getBody();
SOAPElement informres = soapbody.addChildElement("Receive","rec");
informres.addChildElement("节点名称","rec").setTextContent("M1420110010268");
//一次添加更多内容
informres.addChildElement("节点名称","rec").setTextContent(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS").format(new Date())+"+08:00");
Source source = soappart.getContent();
Node root = null;
if (source instanceof DOMSource) {
root = ((DOMSource) source).getNode();
} else if (source instanceof SAXSource) {
InputSource insource = ((SAXSource) source).getInputSource();
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setNamespaceAware(true);
Document doc = dbf.newDocumentBuilder().parse(insource);
root = (Node) doc.getDocumentElement();
}
Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.setOutputProperty(OutputKeys.ENCODING, "utf-8" );
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty( OutputKeys.METHOD, "html" );
DOMSource domsource = new DOMSource(root);
StreamResult streamResult = new StreamResult();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
streamResult.setOutputStream(baos);
transformer.transform(domsource, streamResult);
return baos.toString();
}