org.apache.woden.wsdl20.extensions.soap.SOAPBindingOperationExtensions Maven / Gradle / Ivy
/**
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.woden.wsdl20.extensions.soap;
import java.net.URI;
import org.apache.woden.wsdl20.extensions.ComponentExtensionContext;
import org.apache.woden.wsdl20.extensions.http.HTTPLocation;
/**
* Provides access to the extension properties of the Binding Operation component
* that are in the http://www.w3.org/ns/wsdl/soap
namespace.
* These extension properties can be accessed as ExtensionProperty
objects
* via the getProperties
and getProperty
methods
* using the property names and Java types shown in the following table.
*
*
*
* Property name
* Java type
*
*
* soap mep
* java.net.URI
*
*
* soap action
* java.net.URI
*
* soap modules
* org.apache.woden.wsdl20.extensions.soap.SOAPModule[]
*
*
*
* In addition to the getProperties
and getProperty
methods,
* this interface defines accessor methods specific to each SOAP extension property.
* It also provides accessor methods for some additional HTTP extension properties
* that are present in a SOAP binding when the underlying protocol is HTTP.
*
* These are:
*
* - {http location}
* - {http query parameter separator}
* - {http content encoding default}
*
*
* TODO Re HTTP methods, consider WODEN-158 which proposes keeping extension interfaces namespace-specific, not binding-type-specific
*
* @author John Kaputin ([email protected])
*/
public interface SOAPBindingOperationExtensions extends ComponentExtensionContext
{
/**
* Returns an object representing the {soap mep} property, of type xs:anyURI.
*/
public URI getSoapMep();
/**
* Returns an object representing the {soap action} property, of type xs:anyURI.
*/
public URI getSoapAction();
/**
* Returns an array representing the {soap modules} property, of type wsoap:module.
*/
public SOAPModule[] getSoapModules();
/**
* If the SOAP version is "1.1" or "1.2" and the underlying protocol is HTTP, returns the
* {http location} extension property represented by the
* whttp:location extension attribute , otherwise null.
*
* @return HTTPLocation the {http location} extension property
*/
public HTTPLocation getHttpLocation();
/**
* If the SOAP version is "1.1" or "1.2" and the underlying protocol is HTTP, returns the
* {http query parameter separator} extension property represented by the
* whttp:queryParameterSeparator extension attribute , otherwise null.
*
* @return String the {http query parameter separator} extension property
*/
public String getHttpQueryParameterSeparator();
/**
* If the SOAP version is "1.1" or "1.2" and the underlying protocol is HTTP, returns the
* {http content encoding default} extension property represented by the
* whttp:contentEncodingDefault extension attribute , otherwise null.
*
* @return String the {http content encoding default} extension property
*/
public String getHttpContentEncodingDefault();
}