将web service传回的SOAPMessage信息存储成.xml文件
SOAPMessage reply = null;
String url="https://" + username + ":" + password + "@" + host + ":" + port + "/axl/";
reply = con.call(requestMessage,url); //con为SOAPConnection,requestMessage为请求的SOAPMessage信息
if(reply!=null){
//Check if reply includes soap fault
SOAPPart replySP = reply.getSOAPPart();
SOAPEnvelope replySE = replySP.getEnvelope();
SOAPBody replySB = replySE.getBody();
if (replySB.hasFault()) {
System.out.println("ERROR: " + replySB.getFault().getFaultString());
}
else {
System.out.println("Positive response received.");
}
FileWrite fw = new FileWriter(outputFile,true); //outputFile为要写入的.xml文件,如result.xml
BufferedWriter bw = new BufferedWriter(fw);
Source source = reply.getSOAPPart().getContent();
Transformer transformer = TransformerFactory.newInstance().newTransformer();
ByteArrayOutputStream myOutStr = new ByteArrayOutputStream();
StreamResult res = new StreamResult();
res.setOutputStream(myOutStr);
transformer.transform(source,res);
String temp = myOutStr.toString().trim();
bw.write(temp);
bw.newLine();
bw.flush();
bw.close();
SOAPMessage reply = null;
String url="https://" + username + ":" + password + "@" + host + ":" + port + "/axl/";
reply = con.call(requestMessage,url); //con为SOAPConnection,requestMessage为请求的SOAPMessage信息
if(reply!=null){
//Check if reply includes soap fault
SOAPPart replySP = reply.getSOAPPart();
SOAPEnvelope replySE = replySP.getEnvelope();
SOAPBody replySB = replySE.getBody();
if (replySB.hasFault()) {
System.out.println("ERROR: " + replySB.getFault().getFaultString());
}
else {
System.out.println("Positive response received.");
}
FileWrite fw = new FileWriter(outputFile,true); //outputFile为要写入的.xml文件,如result.xml
BufferedWriter bw = new BufferedWriter(fw);
Source source = reply.getSOAPPart().getContent();
Transformer transformer = TransformerFactory.newInstance().newTransformer();
ByteArrayOutputStream myOutStr = new ByteArrayOutputStream();
StreamResult res = new StreamResult();
res.setOutputStream(myOutStr);
transformer.transform(source,res);
String temp = myOutStr.toString().trim();
bw.write(temp);
bw.newLine();
bw.flush();
bw.close();