1 /* 2 * Copyright (c) 2005, 2012, 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.ws.soap; 27 28 29 import java.util.Set; 30 import javax.xml.ws.Binding; 31 import javax.xml.soap.SOAPFactory; 32 import javax.xml.soap.MessageFactory; 33 34 /** The <code>SOAPBinding</code> interface is an abstraction for 35 * the SOAP binding. 36 * 37 * @since JAX-WS 2.0 38 **/ 39 public interface SOAPBinding extends Binding { 40 41 /** 42 * A constant representing the identity of the SOAP 1.1 over HTTP binding. 43 */ 44 public static final String SOAP11HTTP_BINDING = "http://schemas.xmlsoap.org/wsdl/soap/http"; 45 46 /** 47 * A constant representing the identity of the SOAP 1.2 over HTTP binding. 48 */ 49 public static final String SOAP12HTTP_BINDING = "http://www.w3.org/2003/05/soap/bindings/HTTP/"; 50 51 /** 52 * A constant representing the identity of the SOAP 1.1 over HTTP binding 53 * with MTOM enabled by default. 54 */ 55 public static final String SOAP11HTTP_MTOM_BINDING = "http://schemas.xmlsoap.org/wsdl/soap/http?mtom=true"; 56 57 /** 58 * A constant representing the identity of the SOAP 1.2 over HTTP binding 59 * with MTOM enabled by default. 60 */ 61 public static final String SOAP12HTTP_MTOM_BINDING = "http://www.w3.org/2003/05/soap/bindings/HTTP/?mtom=true"; 62 63 64 /** Gets the roles played by the SOAP binding instance. 65 * 66 * @return Set<String> The set of roles played by the binding instance. 67 **/ 68 public Set<String> getRoles(); 69 70 /** Sets the roles played by the SOAP binding instance. 71 * 72 * @param roles The set of roles played by the binding instance. 73 * @throws WebServiceException On an error in the configuration of 74 * the list of roles. 75 **/ 76 public void setRoles(Set<String> roles); 77 78 /** 79 * Returns <code>true</code> if the use of MTOM is enabled. 80 * 81 * @return <code>true</code> if and only if the use of MTOM is enabled. 82 **/ 83 84 public boolean isMTOMEnabled(); 85 86 /** 87 * Enables or disables use of MTOM. 88 * 89 * @param flag A <code>boolean</code> specifying whether the use of MTOM should 90 * be enabled or disabled. 91 * @throws WebServiceException If the specified setting is not supported 92 * by this binding instance. 93 * 94 **/ 95 public void setMTOMEnabled(boolean flag); 96 97 /** 98 * Gets the SAAJ <code>SOAPFactory</code> instance used by this SOAP binding. 99 * 100 * @return SOAPFactory instance used by this SOAP binding. 101 **/ 102 public SOAPFactory getSOAPFactory(); 103 104 /** 105 * Gets the SAAJ <code>MessageFactory</code> instance used by this SOAP binding. 106 * 107 * @return MessageFactory instance used by this SOAP binding. 108 **/ 109 public MessageFactory getMessageFactory(); 110 }