code: public static SOAPFactory newInstance()
          throws SOAPException
      {
          try {
              SOAPFactory factory = (SOAPFactory) FactoryFinder.find(SOAP_FACTORY_PROPERTY);
              if (factory != null)
                  return factory;
              return newInstance(SOAPConstants.SOAP_1_1_PROTOCOL);
          } catch (Exception ex) {
              throw new SOAPException(
                  "Unable to create SOAP Factory: " + ex.getMessage());
          }
  
      }
docs: Creates a new <code>SOAPFactory</code> object that is an instance of
  the default implementation (SOAP 1.1),
  
  This method uses the following ordered lookup procedure to determine the SOAPFactory implementation class to load:
  <UL>
  <LI> Use the javax.xml.soap.SOAPFactory system property.
  <LI> Use the properties file "lib/jaxm.properties" in the JRE directory. This configuration file is in standard
  java.util.Properties format and contains the fully qualified name of the implementation class with the key being the
  system property defined above.
  <LI> Use the Services API (as detailed in the JAR specification), if available, to determine the classname. The Services API
  will look for a classname in the file META-INF/services/javax.xml.soap.SOAPFactory in jars available to the runtime.
  <LI> Use the SAAJMetaFactory instance to locate the SOAPFactory implementation class.
  </UL>
  
  @return a new instance of a <code>SOAPFactory</code>
  
  @exception SOAPException if there was an error creating the
  default <code>SOAPFactory</code>
  @see SAAJMetaFactory