title: getSOAPBody returns NULL whereas SOAPResponse.writeTo prints the whole message, Strange?
body: <p>I am providing a java code which i found on here somewhere on stack overflow and i want to use something similar for my purpose. This code works alright but there is a persistent issue that i face. Check the sys outs i have done in the code. The first 2 sys outs that i print to get the SOAP body of the response return me a null whereas when i try to print the whole response it prints accurately. Its very strange.</p>
  
  <p>Does anyone know why this happens and how to fix it. I am using JDK 1.7</p>
  
  <pre><code>package trials;
  
  import javax.xml.soap.MessageFactory;
  import javax.xml.soap.MimeHeaders;
  import javax.xml.soap.SOAPBody;
  import javax.xml.soap.SOAPConnection;
  import javax.xml.soap.SOAPConnectionFactory;
  import javax.xml.soap.SOAPElement;
  import javax.xml.soap.SOAPEnvelope;
  import javax.xml.soap.SOAPMessage;
  import javax.xml.soap.SOAPPart;
  
  
  public class SOAPClientSAAJ {
  
  public static void main(String args[]) throws Exception {
      // Create SOAP Connection
      SOAPConnectionFactory soapConnectionFactory = SOAPConnectionFactory.newInstance();
      SOAPConnection soapConnection = soapConnectionFactory.createConnection();
  
      // Send SOAP Message to SOAP Server
      String url = "http://ws.cdyne.com/emailverify/Emailvernotestemail.asmx";
      SOAPMessage soapResponse = soapConnection.call(createSOAPRequest(), url);
  
      System.out.println("Body");
  
      // print SOAP Response
      System.out.print("Response SOAP Message:");
  
     System.out.println("SOAP Body 2= " + soapResponse.getSOAPBody());
  
     System.out.println("SOAP Body 2=" + soapResponse.getSOAPPart().getEnvelope().getBody());
  
      soapResponse.writeTo(System.out);
  
  
      soapConnection.close();
  }
  
  private static SOAPMessage createSOAPRequest() throws Exception {
      MessageFactory messageFactory = MessageFactory.newInstance();
      SOAPMessage soapMessage = messageFactory.createMessage();
      SOAPPart soapPart = soapMessage.getSOAPPart();
  
      String serverURI = "http://ws.cdyne.com/";
  
      // SOAP Envelope
      SOAPEnvelope envelope = soapPart.getEnvelope();
      envelope.addNamespaceDeclaration("example", serverURI);
  
      /*
      Constructed SOAP Request Message:
      &lt;SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:example="http://ws.cdyne.com/"&gt;
          &lt;SOAP-ENV:Header/&gt;
          &lt;SOAP-ENV:Body&gt;
              &lt;example:VerifyEmail&gt;
                  &lt;example:email&gt;mutantninja@gmail.com&lt;/example:email&gt;
                  &lt;example:LicenseKey&gt;123&lt;/example:LicenseKey&gt;
              &lt;/example:VerifyEmail&gt;
          &lt;/SOAP-ENV:Body&gt;
      &lt;/SOAP-ENV:Envelope&gt;
       */
  
      // SOAP Body
      SOAPBody soapBody = envelope.getBody();
      SOAPElement soapBodyElem = soapBody.addChildElement("VerifyEmail", "example");
      SOAPElement soapBodyElem1 = soapBodyElem.addChildElement("email", "example");
      soapBodyElem1.addTextNode("mutantninja@gmail.com");
      SOAPElement soapBodyElem2 = soapBodyElem.addChildElement("LicenseKey", "example");
      soapBodyElem2.addTextNode("123");
  
      MimeHeaders headers = soapMessage.getMimeHeaders();
      headers.addHeader("SOAPAction", serverURI  + "VerifyEmail");
  
      soapMessage.saveChanges();
  
  
      /* Print the request message */
      System.out.print("Request SOAP Message:");
      soapMessage.writeTo(System.out);        
      System.out.println();
  
  
  
  
      return soapMessage;
  }
  </code></pre>
  
  <p>}</p>
  
  <p>This is the output that i get on console</p>
  
  <pre><code>Request SOAP Message:&lt;SOAP-ENV:Envelope xmlns:SOAP- ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:example="http://ws.cdyne.com/"&gt;&lt;SOAP-ENV:Header/&gt;&lt;SOAP-ENV:Body&gt;&lt;example:VerifyEmail&gt;&lt;example:email&gt;mutantninja@gmail.com&lt;/example:email&gt;&lt;example:LicenseKey&gt;123&lt;/example:LicenseKey&gt;&lt;/example:VerifyEmail&gt;&lt;/SOAP-ENV:Body&gt;&lt;/SOAP-ENV:Envelope&gt;
  Body
  Response SOAP Message:SOAP Body 2= [soap:Body: null]
  SOAP Body 2=[soap:Body: null]
  &lt;?xml version="1.0" encoding="utf-8"?&gt;&lt;soap:Envelope  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&gt;&lt;soap:Body&gt;&lt;VerifyEmailResponse xmlns="http://ws.cdyne.com/"&gt;&lt;VerifyEmailResult&gt;&lt;ResponseText&gt;Mail Server will accept email&lt;/ResponseText&gt;&lt;ResponseCode&gt;3&lt;/ResponseCode&gt;&lt;LastMailServer&gt;gmail-smtp-in.l.google.com&lt;/LastMailServer&gt;&lt;GoodEmail&gt;true&lt;/GoodEmail&gt;&lt;/VerifyEmailResult&gt;&lt;/VerifyEmailResponse&gt;&lt;/soap:Body&gt;&lt;/soap:Envelope&gt;
  </code></pre>