三、SOAP消息创建
1、创建代码
//1、创建消息工厂
MessageFactory factory = MessageFactory.newInstance();
//2、根据消息工厂创建SoapMessage
SOAPMessage message = factory.createMessage();
//3、创建SOAPPart
SOAPPart part = message.getSOAPPart();
//4、获取SOAPENvelope
SOAPEnvelope envelope = part.getEnvelope();
//5、可以通过SoapEnvelope有效的获取相应的Body和Header等信息
SOAPBody body = envelope.getBody();
//6、根据Qname创建相应的节点(QName就是一个带有命名空间的)
QName qname = new QName("http://cn.hz.wp/webservice", "add","ns");
//<ns:add xmlns="http://cn.hz.wp/webservice"/>
//如果使用以下方式进行设置,会见<>转换为<和>
//body.addBodyElement(qname).setValue("<param1>1</param1><param2>2</param2>");
SOAPBodyElement ele = body.addBodyElement(qname);
ele.addChildElement("param1").setValue("1");
ele.addChildElement("param2").setValue("2");
//打印消息信息
message.writeTo(System.out);
2、生成的soap
<SOAP-ENV:Envelope xmlns:SOAP ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Header/> <SOAP-ENV:Body> <ns:add xmlns:ns="http://cn.hz.wp/webservice"> <param1>1</param1> <param2>2</param2> </ns:add> </SOAP-ENV:Body> </SOAP-ENV:Envelope>