Thu, 31 Aug 2017 15:18:52 +0800
merge
1 /*
2 * Copyright (c) 2004, 2013, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. Oracle designates this
8 * particular file as subject to the "Classpath" exception as provided
9 * by Oracle in the LICENSE file that accompanied this code.
10 *
11 * This code is distributed in the hope that it will be useful, but WITHOUT
12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 * version 2 for more details (a copy is included in the LICENSE file that
15 * accompanied this code).
16 *
17 * You should have received a copy of the GNU General Public License version
18 * 2 along with this work; if not, write to the Free Software Foundation,
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
26 package javax.xml.soap;
28 /**
29 * A factory for creating <code>SOAPConnection</code> objects. Implementation of this class
30 * is optional. If <code>SOAPConnectionFactory.newInstance()</code> throws an
31 * UnsupportedOperationException then the implementation does not support the
32 * SAAJ communication infrastructure. Otherwise {@link SOAPConnection} objects
33 * can be created by calling <code>createConnection()</code> on the newly
34 * created <code>SOAPConnectionFactory</code> object.
35 */
36 public abstract class SOAPConnectionFactory {
37 /**
38 * A constant representing the default value for a <code>SOAPConnection</code>
39 * object. The default is the point-to-point SOAP connection.
40 */
41 static final String DEFAULT_SOAP_CONNECTION_FACTORY
42 = "com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnectionFactory";
44 /**
45 * A constant representing the <code>SOAPConnection</code> class.
46 */
47 static private final String SF_PROPERTY
48 = "javax.xml.soap.SOAPConnectionFactory";
50 /**
51 * Creates an instance of the default
52 * <code>SOAPConnectionFactory</code> object.
53 *
54 * @return a new instance of a default
55 * <code>SOAPConnectionFactory</code> object
56 *
57 * @exception SOAPException if there was an error creating the
58 * <code>SOAPConnectionFactory</code>
59 *
60 * @exception UnsupportedOperationException if newInstance is not
61 * supported.
62 */
63 public static SOAPConnectionFactory newInstance()
64 throws SOAPException, UnsupportedOperationException
65 {
66 try {
67 return (SOAPConnectionFactory)
68 FactoryFinder.find(SF_PROPERTY,
69 DEFAULT_SOAP_CONNECTION_FACTORY);
70 } catch (Exception ex) {
71 throw new SOAPException("Unable to create SOAP connection factory: "
72 +ex.getMessage());
73 }
74 }
76 /**
77 * Create a new <code>SOAPConnection</code>.
78 *
79 * @return the new <code>SOAPConnection</code> object.
80 *
81 * @exception SOAPException if there was an exception creating the
82 * <code>SOAPConnection</code> object.
83 */
84 public abstract SOAPConnection createConnection()
85 throws SOAPException;
86 }