title: SOAPExceptionImpl: Message send failed
body: <p>I am getting a java.lang.NullPointerException while trying to call a Soap web service with javax.xml.soap.SOAPConnection object. </p>
  
  <p>I am sure the endpointAddress and request parameters are as they should be(i have printed them out). And the stack trace is as follows:</p>
  
  <pre><code>    Caused by: java.lang.NullPointerException
  at java.util.Hashtable.put(Hashtable.java:394)
  at java.util.Properties.put(Properties.java:152)
  at org.w3c.www.protocol.http.HttpManager.a(SourceFile:561)
  at org.w3c.www.protocol.http.HttpManager.getManager(SourceFile:583)
  at org.w3c.www.protocol.http.HttpManager.getManager(SourceFile:747)
  at org.w3c.www.protocol.http.HttpURLConnection.checkRequest(SourceFile:108)
  at org.w3c.www.protocol.http.HttpURLConnection.a(SourceFile:799)
  at org.w3c.www.protocol.http.HttpURLConnection.setRequestProperty(SourceFile:778)
  at com.sap.security.core.server.https.SecureConnectionFactory.createURLConnection(SecureConnectionFactory.java:999)
  at com.sap.security.core.server.https.SecureConnectionFactory.createURLConnection(SecureConnectionFactory.java:891)
  at com.sap.engine.httpdsrclient.protocols.https.Handler.openConnection(Handler.java:53)
  at java.net.URL.openConnection(URL.java:965)
  at com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection.createConnection(HttpSOAPConnection.java:669)
  at com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnection.post(HttpSOAPConnection.java:186)
  </code></pre>
  
  <p>The awkward part of this error is: it works for a while if i restart the application server. It works for a while (about a few hours) and then it starts to getting this error.</p>
  
  <p>Please help me to solve the problem.</p>
  
  <p>The source is as below:</p>
  
  <pre><code>private SOAPMessage callService2(SOAPMessage request, String endpointAddress) throws Exception {
      SOAPConnection connection = null;
      try {
          System.setProperty("sun.net.client.defaultConnectTimeout","300000");
          System.setProperty("sun.rmi.transport.proxy.connectTimeout","300000");
          connection = SOAPConnectionFactory.newInstance().createConnection();
          URL endpointAddressURL = new URL(endpointAddress);
          return connection.call(request, endpointAddressURL);
      }
      catch (Exception e) {
          throw e;
      }
      finally {
          if(connection != null) {
              connection.close();
          }
      }
  }
  </code></pre>