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 */ 25 26 package javax.xml.soap; 27 28 29 /** 30 * A point-to-point connection that a client can use for sending messages 31 * directly to a remote party (represented by a URL, for instance). 32 * <p> 33 * The SOAPConnection class is optional. Some implementations may 34 * not implement this interface in which case the call to 35 * <code>SOAPConnectionFactory.newInstance()</code> (see below) will 36 * throw an <code>UnsupportedOperationException</code>. 37 * <p> 38 * A client can obtain a <code>SOAPConnection</code> object using a 39 * {@link SOAPConnectionFactory} object as in the following example: 40 * <PRE> 41 * SOAPConnectionFactory factory = SOAPConnectionFactory.newInstance(); 42 * SOAPConnection con = factory.createConnection(); 43 * </PRE> 44 * A <code>SOAPConnection</code> object can be used to send messages 45 * directly to a URL following the request/response paradigm. That is, 46 * messages are sent using the method <code>call</code>, which sends the 47 * message and then waits until it gets a reply. 48 * 49 * @since 1.6 50 */ 51 public abstract class SOAPConnection { 52 53 /** 54 * Sends the given message to the specified endpoint and blocks until 55 * it has returned the response. 56 * 57 * @param request the <code>SOAPMessage</code> object to be sent 58 * @param to an <code>Object</code> that identifies 59 * where the message should be sent. It is required to 60 * support Objects of type 61 * <code>java.lang.String</code>, 62 * <code>java.net.URL</code>, and when JAXM is present 63 * <code>javax.xml.messaging.URLEndpoint</code> 64 * 65 * @return the <code>SOAPMessage</code> object that is the response to the 66 * message that was sent 67 * @throws SOAPException if there is a SOAP error 68 */ 69 public abstract SOAPMessage call(SOAPMessage request, 70 Object to) throws SOAPException; 71 72 /** 73 * Gets a message from a specific endpoint and blocks until it receives, 74 * 75 * @param to an <code>Object</code> that identifies where 76 * the request should be sent. Objects of type 77 * <code>java.lang.String</code> and 78 * <code>java.net.URL</code> must be supported. 79 * 80 * @return the <code>SOAPMessage</code> object that is the response to the 81 * get message request 82 * @throws SOAPException if there is a SOAP error 83 * @since 1.6, SAAJ 1.3 84 */ 85 public SOAPMessage get(Object to) 86 throws SOAPException { 87 throw new UnsupportedOperationException("All subclasses of SOAPConnection must override get()"); 88 } 89 90 /** 91 * Closes this <code>SOAPConnection</code> object. 92 * 93 * @throws SOAPException if there is a SOAP error 94 */ 95 public abstract void close() 96 throws SOAPException; 97 } | 1 /* 2 * Copyright (c) 2004, 2015, 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 */ 25 26 package javax.xml.soap; 27 28 29 /** 30 * A point-to-point connection that a client can use for sending messages 31 * directly to a remote party (represented by a URL, for instance). 32 * <p> 33 * The SOAPConnection class is optional. Some implementations may 34 * not implement this interface in which case the call to 35 * {@code SOAPConnectionFactory.newInstance()} (see below) will 36 * throw an {@code UnsupportedOperationException}. 37 * <p> 38 * A client can obtain a {@code SOAPConnection} object using a 39 * {@link SOAPConnectionFactory} object as in the following example: 40 * <pre>{@code 41 * SOAPConnectionFactory factory = SOAPConnectionFactory.newInstance(); 42 * SOAPConnection con = factory.createConnection(); 43 * }</pre> 44 * A {@code SOAPConnection} object can be used to send messages 45 * directly to a URL following the request/response paradigm. That is, 46 * messages are sent using the method {@code call}, which sends the 47 * message and then waits until it gets a reply. 48 * 49 * @since 1.6 50 */ 51 public abstract class SOAPConnection { 52 53 /** 54 * Sends the given message to the specified endpoint and blocks until 55 * it has returned the response. 56 * 57 * @param request the {@code SOAPMessage} object to be sent 58 * @param to an {@code Object} that identifies 59 * where the message should be sent. It is required to 60 * support Objects of type 61 * {@code java.lang.String}, 62 * {@code java.net.URL}, and when JAXM is present 63 * {@code javax.xml.messaging.URLEndpoint} 64 * 65 * @return the {@code SOAPMessage} object that is the response to the 66 * message that was sent 67 * @throws SOAPException if there is a SOAP error 68 */ 69 public abstract SOAPMessage call(SOAPMessage request, 70 Object to) throws SOAPException; 71 72 /** 73 * Gets a message from a specific endpoint and blocks until it receives, 74 * 75 * @param to an {@code Object} that identifies where 76 * the request should be sent. Objects of type 77 * {@code java.lang.String} and 78 * {@code java.net.URL} must be supported. 79 * 80 * @return the {@code SOAPMessage} object that is the response to the 81 * get message request 82 * @throws SOAPException if there is a SOAP error 83 * @since 1.6, SAAJ 1.3 84 */ 85 public SOAPMessage get(Object to) 86 throws SOAPException { 87 throw new UnsupportedOperationException("All subclasses of SOAPConnection must override get()"); 88 } 89 90 /** 91 * Closes this {@code SOAPConnection} object. 92 * 93 * @throws SOAPException if there is a SOAP error 94 */ 95 public abstract void close() 96 throws SOAPException; 97 } |