You are viewing a plain text version of this content. The canonical link for it is here.
Posted to woden-dev@ws.apache.org by sa...@apache.org on 2009/09/01 07:54:21 UTC
svn commit: r809835 [4/11] - in /webservices/woden/trunk/java/woden-api: ./
src/ src/main/ src/main/java/ src/main/java/javax/ src/main/java/javax/xml/
src/main/java/javax/xml/namespace/ src/main/java/org/
src/main/java/org/apache/ src/main/java/org/ap...
Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/ExtensionSerializer.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/ExtensionSerializer.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/ExtensionSerializer.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/ExtensionSerializer.java Tue Sep 1 05:54:15 2009
@@ -0,0 +1,60 @@
+/**
+ * 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;
+
+import java.io.PrintWriter;
+
+import javax.xml.namespace.QName;
+
+import org.apache.woden.WSDLException;
+import org.apache.woden.wsdl20.xml.DescriptionElement;
+
+/**
+ * This interface should be implemented by classes which serialize
+ * extension-specific instances of ExtensibilityElement into the
+ * PrintWriter.
+ * <p>
+ * Copied from WSDL4J.
+ *
+ * @author Matthew J. Duftler (duftler@us.ibm.com)
+ */
+public interface ExtensionSerializer
+{
+ /**
+ * This method serializes extension-specific instances of
+ * ExtensibilityElement into the PrintWriter.
+ *
+ * @param parentType a class object indicating where in the WSDL
+ * definition this extension was encountered. For
+ * example, org.apache.woden.Binding.class would be used to indicate
+ * this extensibility element was found in the list of
+ * extensibility elements belonging to a org.apache.woden.Binding.
+ * @param elementType the qname of the extensibility element
+ * @param extension the extensibility element to serialize
+ * @param pw the print writer on which to serialize the extension
+ * @param desc the description element this extensibility element was
+ * encountered in
+ * @param extReg the ExtensionRegistry to use (if needed again)
+ */
+ public void marshall(Class parentType,
+ QName elementType,
+ ExtensionElement extension,
+ PrintWriter pw,
+ DescriptionElement desc,
+ ExtensionRegistry extReg)
+ throws WSDLException;
+}
\ No newline at end of file
Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/GenericExtensionProperty.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/GenericExtensionProperty.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/GenericExtensionProperty.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/GenericExtensionProperty.java Tue Sep 1 05:54:15 2009
@@ -0,0 +1,87 @@
+/**
+ * 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;
+
+import java.net.URI;
+
+/**
+ * This class implements the ExtensionProperty interface to provide a
+ * generic representation of a component extension property.
+ * <p>
+ * This class may be used by implementors of WSDL 2.0 extensions when implementing the
+ * ExtensionProperty accessor methods of the ComponentExtensionContext interface.
+ * For example, when they extend the abstract class BaseComponentExtensionContext,
+ * which partially implements the ComponentExtensionContext interface.
+ *
+ * @author John Kaputin (jkaputin@apache.org)
+ *
+ * @see org.apache.woden.wsdl20.extensions.ComponentExtensionContext
+ * @see org.apache.woden.wsdl20.extensions.BaseComponentExtensionContext
+ *
+ */
+public class GenericExtensionProperty implements ExtensionProperty {
+ private String fName;
+ private URI fNamespace;
+ private Object fContent;
+
+ /**
+ * This public constructor stores the extension property's name, namespace and
+ * content. The name and namespace parameters must not be null.
+ *
+ * @param name the String name of the extension property
+ * @param namespace the namespace URI of the extension property
+ * @param content an Object representing the content of the extension property
+ *
+ * @throws NullPointerException if the name or namespace parameter is null
+ */
+ public GenericExtensionProperty(String name,
+ URI namespace,
+ Object content) {
+
+ if(name == null) {
+ throw new NullPointerException("name=null");
+ }
+ if(namespace == null) {
+ throw new NullPointerException("namespace=null");
+ }
+ fName = name;
+ fNamespace = namespace;
+ fContent = content;
+ }
+
+ /**
+ * @see org.apache.woden.wsdl20.extensions.ExtensionProperty#getName()
+ */
+ public String getName() {
+ return fName;
+ }
+
+ /**
+ * @see org.apache.woden.wsdl20.extensions.ExtensionProperty#getNamespace()
+ */
+ public URI getNamespace() {
+ return fNamespace;
+ }
+
+ /**
+ * @see org.apache.woden.wsdl20.extensions.ExtensionProperty#getContent()
+ */
+ public Object getContent() {
+ return fContent;
+ }
+
+}
Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/InterfaceOperationExtensions.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/InterfaceOperationExtensions.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/InterfaceOperationExtensions.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/InterfaceOperationExtensions.java Tue Sep 1 05:54:15 2009
@@ -0,0 +1,56 @@
+/**
+ * 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;
+
+/**
+ * <code>InterfaceOperationExtensions</code> represents the WSDL 2.0
+ * predefined extensions, as specified by WSDL 2.0 Part 2: Adjuncts, for the Interface
+ * Operation component.
+ * <p>
+ * Provides access to the extension properties of the Interface Operation component
+ * that are in the <code>http://www.w3.org/ns/wsdl-extensions</code> namespace.
+ * These extension properties can be accessed as <code>ExtensionProperty</code> objects
+ * via the <code>getProperties</code> and <code>getProperty</code> methods
+ * using the property names and Java types shown in the following table.
+ * <p>
+ * <table border="1">
+ * <tr>
+ * <th>Property name</th>
+ * <th>Java type</th>
+ * </tr>
+ * <tr>
+ * <td>safe</td>
+ * <td>java.lang.Boolean</td>
+ * </tr>
+ * </table>
+ * <p>
+ * In addition to the <code>getProperties</code> and <code>getProperty</code> methods,
+ * this interface defines accessor methods specific to each extension property.
+ *
+ * @author Arthur Ryman (ryman@ca.ibm.com)
+ *
+ */
+public interface InterfaceOperationExtensions extends ComponentExtensionContext {
+
+ /**
+ * Returns the value of the {safe} extension property of Interface
+ * Operation as defined by the <code>wsdlx:safe</code> attribute.
+ */
+ public boolean isSafe();
+
+}
Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/PropertyExtensible.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/PropertyExtensible.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/PropertyExtensible.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/PropertyExtensible.java Tue Sep 1 05:54:15 2009
@@ -0,0 +1,56 @@
+/**
+ * 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;
+
+import java.net.URI;
+
+/**
+ * Defines behaviour for accessing the extension properties
+ * attached to WSDL 2.0 components.
+ * To be extended by each WSDL 2.0 component interface.
+ *
+ * @author John Kaputin (jkaputin@apache.org)
+ */
+public interface PropertyExtensible {
+
+ /**
+ * Returns all of the component's extension properties. These may span multiple namespaces.
+ */
+ public ExtensionProperty[] getExtensionProperties();
+
+ /**
+ * Returns the component's extension properties from a particular namespace.
+ *
+ * @param namespace URI representing the namespace of the required extension properties
+ * @return extension properties from the specified namespace
+ */
+ public ExtensionProperty[] getExtensionProperties(URI namespace);
+
+ /**
+ * Returns the component's named extension property from the specified namespace.
+ * Within the WSDL 2.0-defined extensions, the extension property name itself
+ * is unique, but it is possible that property name collisions could occur across
+ * different user-defined extensions, so the extension namespace is used with
+ * property name to ensure uniqueness.
+ *
+ * @param namespace the namespace of the named extension property
+ * @param name the name of the required extension property
+ * @return the named extension property
+ */
+ public ExtensionProperty getExtensionProperty(URI namespace, String name);
+
+}
Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/UnknownExtensionDeserializer.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/UnknownExtensionDeserializer.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/UnknownExtensionDeserializer.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/UnknownExtensionDeserializer.java Tue Sep 1 05:54:15 2009
@@ -0,0 +1,91 @@
+/**
+ * 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;
+
+import javax.xml.namespace.QName;
+
+import org.apache.woden.WSDLException;
+import org.apache.woden.XMLElement;
+//TODO remove internals from the API: import org.apache.woden.internal.util.dom.DOMUtils;
+//TODO remove internals from the API: import org.apache.woden.internal.wsdl20.Constants;
+import org.apache.woden.wsdl20.xml.DescriptionElement;
+import org.w3c.dom.Element;
+import org.w3c.dom.Attr;
+
+/**
+ * This class is used to deserialize arbitrary elements into
+ * UnknownExtensionElement instances.
+ * <p>
+ * Copied from WSDL4J.
+ *
+ * @see UnknownExtensionElement
+ * @see UnknownExtensionSerializer
+ *
+ * @author Matthew J. Duftler (duftler@us.ibm.com)
+ */
+public class UnknownExtensionDeserializer implements ExtensionDeserializer
+{
+ public ExtensionElement unmarshall(Class parentType,
+ Object parent,
+ QName extType,
+ XMLElement extEl,
+ DescriptionElement desc,
+ ExtensionRegistry extReg)
+ throws WSDLException
+ {
+ UnknownExtensionElement unknownExt = new UnknownExtensionElement();
+ //TODO remove internals from the API ... DOMUtils and Constants
+ //String requiredStr = DOMUtils.getAttributeNS(el,
+ // Constants.NS_URI_WSDL20,
+ // Constants.ATTR_REQUIRED);
+ String requiredStr = getAttributeNS(extEl,
+ "http://www.w3.org/ns/wsdl",
+ "required");
+
+ unknownExt.setExtensionType(extType);
+
+ if (requiredStr != null)
+ {
+ unknownExt.setRequired(new Boolean(requiredStr));
+ }
+
+ unknownExt.setElement(extEl);
+
+ return unknownExt;
+ }
+
+ //Method copied from DOMUtils, to avoid using internal classes
+ //here in the API packages (it was breaking the API build).
+ //TODO workaround for M2, replace with new XMLElement behaviour.
+ private String getAttributeNS (XMLElement xmlElement,
+ String namespaceURI,
+ String localPart) {
+ String sRet = null;
+
+ if (xmlElement.getSource() instanceof Element){
+ Element el = (Element)xmlElement.getSource();
+ Attr attr = el.getAttributeNodeNS (namespaceURI, localPart);
+
+ if (attr != null) {
+ sRet = attr.getValue ();
+ }
+ }
+
+ return sRet;
+ }
+
+}
\ No newline at end of file
Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/UnknownExtensionElement.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/UnknownExtensionElement.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/UnknownExtensionElement.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/UnknownExtensionElement.java Tue Sep 1 05:54:15 2009
@@ -0,0 +1,113 @@
+/**
+ * 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;
+
+import org.apache.woden.XMLElement;
+
+import javax.xml.namespace.*;
+
+/**
+ * This class is used to wrap arbitrary elements.
+ * <p>
+ * Based on the same class from WSDL4J.
+ *
+ * @see UnknownExtensionSerializer
+ * @see UnknownExtensionDeserializer
+ *
+ * @author Matthew J. Duftler (duftler@us.ibm.com)
+ * @author jkaputin@apache.org
+ */
+public class UnknownExtensionElement implements ExtensionElement
+{
+ protected QName elementQN = null;
+ // Uses the wrapper type so we can tell if it was set or not.
+ protected Boolean required = null;
+ protected XMLElement element = null;
+
+ /**
+ * Set the type of this extensibility element.
+ *
+ * @param elementQN the type
+ */
+ public void setExtensionType(QName elementQN)
+ {
+ this.elementQN = elementQN;
+ }
+
+ /**
+ * Get the type of this extensibility element.
+ *
+ * @return the extensibility element's type
+ */
+ public QName getExtensionType()
+ {
+ return elementQN;
+ }
+
+ /**
+ * Set whether or not the semantics of this extension
+ * are required. Relates to the wsdl:required attribute.
+ */
+ public void setRequired(Boolean required)
+ {
+ this.required = required;
+ }
+
+ /**
+ * Get whether or not the semantics of this extension
+ * are required. Relates to the wsdl:required attribute.
+ */
+ public Boolean isRequired()
+ {
+ return required;
+ }
+
+ /**
+ * Set the Element for this extensibility element.
+ *
+ * @param element the unknown element that was encountered
+ */
+ public void setElement(XMLElement element)
+ {
+ this.element = element;
+ }
+
+ /**
+ * Get the Element for this extensibility element.
+ *
+ * @return the unknown element that was encountered
+ */
+ public XMLElement getElement()
+ {
+ return element;
+ }
+
+ public String toString()
+ {
+ StringBuffer strBuf = new StringBuffer();
+
+ strBuf.append("UnknownExtensionElement (" + elementQN + "):");
+ strBuf.append("\nrequired=" + required);
+
+ if (element != null)
+ {
+ strBuf.append("\nelement=" + element);
+ }
+
+ return strBuf.toString();
+ }
+}
\ No newline at end of file
Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/UnknownExtensionSerializer.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/UnknownExtensionSerializer.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/UnknownExtensionSerializer.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/UnknownExtensionSerializer.java Tue Sep 1 05:54:15 2009
@@ -0,0 +1,57 @@
+/**
+ * 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;
+
+import java.io.PrintWriter;
+
+import javax.xml.namespace.QName;
+
+import org.apache.woden.WSDLException;
+//TODO remove internals from the API: import org.apache.woden.internal.util.dom.DOM2Writer;
+import org.apache.woden.wsdl20.xml.DescriptionElement;
+
+/**
+ * This class is used to serialize UnknownExtensionElement instances
+ * into the PrintWriter.
+ * <p>
+ * Copied from WSDL4J.
+ *
+ * @see UnknownExtensionElement
+ * @see UnknownExtensionDeserializer
+ *
+ * @author Matthew J. Duftler (duftler@us.ibm.com)
+ */
+public class UnknownExtensionSerializer implements ExtensionSerializer
+{
+ public void marshall(Class parentType,
+ QName elementType,
+ ExtensionElement extension,
+ PrintWriter pw,
+ DescriptionElement desc,
+ ExtensionRegistry extReg)
+ throws WSDLException
+ {
+// UnknownExtensionElement unknownExt =
+// (UnknownExtensionElement)extension;
+
+ pw.print(" ");
+
+ //TODO remove internals from the API: DOM2Writer.serializeAsXML(unknownExt.getElement(), pw);
+
+ pw.println();
+ }
+}
\ No newline at end of file
Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/WSDLExtensionConstants.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/WSDLExtensionConstants.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/WSDLExtensionConstants.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/WSDLExtensionConstants.java Tue Sep 1 05:54:15 2009
@@ -0,0 +1,43 @@
+/**
+ * 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;
+
+import java.net.URI;
+
+import javax.xml.namespace.QName;
+
+
+public class WSDLExtensionConstants {
+
+ // Extension namespace Strings for extensions defined by WSDL 2.0
+ public static final String NS_STRING_WSDL_EXTENSIONS = "http://www.w3.org/ns/wsdl-extensions".intern();
+
+ // Extension namespace URIs for extensions defined by WSDL 2.0
+ public static final URI NS_URI_WSDL_EXTENSIONS = URI.create(NS_STRING_WSDL_EXTENSIONS);
+
+ // Extension namespace prefixes
+ public static final String PFX_WSDLX = "wsdlx";
+
+ // Extension attribute names
+ public static final String ATTR_SAFE = "safe";
+
+ // Extension attribute QNames
+ public static final QName Q_ATTR_SAFE = new QName(NS_STRING_WSDL_EXTENSIONS, ATTR_SAFE, PFX_WSDLX);
+
+ // Extension property names.
+ public static final String PROP_SAFE = "safe";
+}
Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/about-this-package
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/about-this-package?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/about-this-package (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/about-this-package Tue Sep 1 05:54:15 2009
@@ -0,0 +1,2 @@
+API for handling extensibility defined in the WSDL 2.0 specs
+(e.g. soap, http, MEPs, type system extensibility).
\ No newline at end of file
Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPAuthenticationScheme.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPAuthenticationScheme.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPAuthenticationScheme.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPAuthenticationScheme.java Tue Sep 1 05:54:15 2009
@@ -0,0 +1,57 @@
+/**
+ * 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.http;
+
+/**
+ * This class defines the values of the {http authentication scheme} property of
+ * Endpoint as defined by the HTTP Binding extension. This property indicates
+ * the HTTP authentication scheme used.
+ *
+ * <p>
+ * The property is one of:
+ * <ul>
+ * <li>basic</li>
+ * <li>digest</li
+ * </ul>
+ * </p>
+ *
+ * <p>
+ * This class uses the typesafe enum pattern. Applications should use the public
+ * static final constants defined in this class to specify or to evaluate the
+ * HTTP authentication scheme.
+ * </p>
+ *
+ * @author Arthur Ryman (ryman@ca.ibm.com, arthur.ryman@gmail.com)
+ */
+public class HTTPAuthenticationScheme {
+
+ private final String fValue;
+
+ private HTTPAuthenticationScheme(String value) {
+ fValue = value;
+ }
+
+ public String toString() {
+ return fValue;
+ }
+
+ public static final HTTPAuthenticationScheme BASIC = new HTTPAuthenticationScheme(
+ "basic");
+
+ public static final HTTPAuthenticationScheme DIGEST = new HTTPAuthenticationScheme(
+ "digest");
+}
Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPBindingExtensions.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPBindingExtensions.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPBindingExtensions.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPBindingExtensions.java Tue Sep 1 05:54:15 2009
@@ -0,0 +1,67 @@
+/**
+ * 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.http;
+
+import org.apache.woden.wsdl20.extensions.ComponentExtensionContext;
+
+/**
+ * Provides access to the extension properties of the Binding component
+ * that are in the <code>http://www.w3.org/ns/wsdl/http</code> namespace.
+ * These extension properties can be accessed as <code>ExtensionProperty</code> objects
+ * via the <code>getProperties</code> and <code>getProperty</code> methods
+ * using the property names and Java types shown in the following table.
+ * <p>
+ * <table border="1">
+ * <tr>
+ * <th>Property name</th>
+ * <th>Java type</th>
+ * </tr>
+ * <tr>
+ * <td>http method default</td>
+ * <td>java.lang.String</td>
+ * </tr>
+ * <tr>
+ * <td>http query parameter separator default</td>
+ * <td>java.lang.String</td>
+ * </tr>
+ * <tr>
+ * <td>http cookies</td>
+ * <td>java.lang.Boolean</td>
+ * </tr>
+ * <tr>
+ * <td>http content encoding default</td>
+ * <td>java.lang.String</td>
+ * </tr>
+ * </table>
+ * <p>
+ * In addition to the <code>getProperties</code> and <code>getProperty</code> methods,
+ * this interface defines accessor methods specific to each HTTP extension property.
+ *
+ * @author John Kaputin (jkaputin@apache.org)
+ *
+ */
+public interface HTTPBindingExtensions extends ComponentExtensionContext
+{
+ public String getHttpMethodDefault();
+
+ public String getHttpQueryParameterSeparatorDefault();
+
+ public Boolean isHttpCookies(); //TODO consider whether this convention is ok
+
+ public String getHttpContentEncodingDefault();
+
+}
Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPBindingFaultExtensions.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPBindingFaultExtensions.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPBindingFaultExtensions.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPBindingFaultExtensions.java Tue Sep 1 05:54:15 2009
@@ -0,0 +1,60 @@
+/**
+ * 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.http;
+
+import org.apache.woden.wsdl20.extensions.ComponentExtensionContext;
+
+/**
+ * Provides access to the extension properties of the Binding Fault component
+ * that are in the <code>http://www.w3.org/ns/wsdl/http</code> namespace.
+ * These extension properties can be accessed as <code>ExtensionProperty</code> objects
+ * via the <code>getProperties</code> and <code>getProperty</code> methods
+ * using the property names and Java types shown in the following table.
+ * <p>
+ * <table border="1">
+ * <tr>
+ * <th>Property name</th>
+ * <th>Java type</th>
+ * </tr>
+ * <tr>
+ * <td>http error status code</td>
+ * <td>org.apache.woden.wsdl20.extensions.http.HTTPErrorStatusCode</td>
+ * </tr>
+ * <tr>
+ * <td>http content encoding</td>
+ * <td>java.lang.String</td>
+ * </tr>
+ * <tr>
+ * <td>http headers</td>
+ * <td>org.apache.woden.wsdl20.extensions.http.HTTPHeader[]</td>
+ * </tr>
+ * </table>
+ * <p>
+ * In addition to the <code>getProperties</code> and <code>getProperty</code> methods,
+ * this interface defines accessor methods specific to each HTTP extension property.
+ *
+ * @author John Kaputin (jkaputin@apache.org)
+ */
+public interface HTTPBindingFaultExtensions extends ComponentExtensionContext
+{
+ public HTTPErrorStatusCode getHttpErrorStatusCode();
+
+ public String getHttpContentEncoding();
+
+ public HTTPHeader[] getHttpHeaders();
+
+}
Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPBindingMessageReferenceExtensions.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPBindingMessageReferenceExtensions.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPBindingMessageReferenceExtensions.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPBindingMessageReferenceExtensions.java Tue Sep 1 05:54:15 2009
@@ -0,0 +1,61 @@
+/**
+ * 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.http;
+
+import org.apache.woden.wsdl20.extensions.ComponentExtensionContext;
+
+/**
+ * Provides access to the extension properties of the Binding Message Reference component
+ * that are in the <code>http://www.w3.org/ns/wsdl/http</code> namespace.
+ * These extension properties can be accessed as <code>ExtensionProperty</code> objects
+ * via the <code>getProperties</code> and <code>getProperty</code> methods
+ * using the property names and Java types shown in the following table.
+ * <p>
+ * <table border="1">
+ * <tr>
+ * <th>Property name</th>
+ * <th>Java type</th>
+ * </tr>
+ * <tr>
+ * <td>http content encoding</td>
+ * <td>java.lang.String</td>
+ * </tr>
+ * <tr>
+ * <td>http headers</td>
+ * <td>org.apache.woden.wsdl20.extensions.http.HTTPHeader[]</td>
+ * </tr>
+ * </table>
+ * <p>
+ * In addition to the <code>getProperties</code> and <code>getProperty</code> methods,
+ * this interface defines accessor methods specific to each HTTP extension property.
+ *
+ * @author John Kaputin (jkaputin@apache.org)
+ */
+public interface HTTPBindingMessageReferenceExtensions extends ComponentExtensionContext
+{
+ /**
+ * @return String the {http content encoding} property, represented by the whttp:contentEncoding extension attribute
+ */
+ public String getHttpContentEncoding();
+
+ /**
+ * @return HTTPHeader[] the {http headers} property, represented by an array of
+ * HTTPHeader extension components, which map to whttp:header elements.
+ */
+ public HTTPHeader[] getHttpHeaders();
+
+}
Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPBindingOperationExtensions.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPBindingOperationExtensions.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPBindingOperationExtensions.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPBindingOperationExtensions.java Tue Sep 1 05:54:15 2009
@@ -0,0 +1,116 @@
+/**
+ * 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.http;
+
+import org.apache.woden.wsdl20.extensions.ComponentExtensionContext;
+
+/**
+ * Provides access to the extension properties of the Binding Operation component
+ * that are in the <code>http://www.w3.org/ns/wsdl/http</code> namespace.
+ * These extension properties can be accessed as <code>ExtensionProperty</code> objects
+ * via the <code>getProperties</code> and <code>getProperty</code> methods
+ * using the property names and Java types shown in the following table.
+ * <p>
+ * <table border="1">
+ * <tr>
+ * <th>Property name</th>
+ * <th>Java type</th>
+ * </tr>
+ * <tr>
+ * <td>http location</td>
+ * <td>org.apache.woden.wsdl20.extensions.http.HTTPLocation</td>
+ * </tr>
+ * <tr>
+ * <td>http location ignore uncited</td>
+ * <td>java.lang.Boolean</td>
+ * </tr>
+ * <tr>
+ * <td>http method</td>
+ * <td>java.lang.String</td>
+ * </tr>
+ * <tr>
+ * <td>http input serialization</td>
+ * <td>java.lang.String</td>
+ * </tr>
+ * <tr>
+ * <td>http output serialization</td>
+ * <td>java.lang.String</td>
+ * </tr>
+ * <tr>
+ * <td>http fault serialization</td>
+ * <td>java.lang.String</td>
+ * </tr>
+ * <tr>
+ * <td>http query parameter separator</td>
+ * <td>java.lang.String</td>
+ * </tr>
+ * <tr>
+ * <td>http content encoding default</td>
+ * <td>java.lang.String</td>
+ * </tr>
+ * </table>
+ * <p>
+ * In addition to the <code>getProperties</code> and <code>getProperty</code> methods,
+ * this interface defines accessor methods specific to each HTTP extension property.
+ *
+ * @author John Kaputin (jkaputin@apache.org)
+ * @author Arthur Ryman (ryman@ca.ibm.com, arthur.ryman@gmail.com)
+ * - added support for {http location ignore uncited}
+ */
+public interface HTTPBindingOperationExtensions extends ComponentExtensionContext
+{
+ /**
+ * @return HTTPLocation the {http location} property, represented by the whttp:location extension attribute
+ */
+ public HTTPLocation getHttpLocation();
+
+ /**
+ * @return Boolean the {http location ignore uncited} property, represented by the whttp:ignoreUncited extension attribute
+ */
+ public Boolean isHttpLocationIgnoreUncited();
+
+ /**
+ * @return String the {http method} property, represented by the whttp:method extension attribute
+ */
+ public String getHttpMethod();
+
+ /**
+ * @return String the {http input serialization} property, represented by the whttp:inputSerialization extension attribute
+ */
+ public String getHttpInputSerialization();
+
+ /**
+ * @return String the {http output serialization} property, represented by the whttp:outputSerialization extension attribute
+ */
+ public String getHttpOutputSerialization();
+
+ /**
+ * @return String the {http fault serialization} property, represented by the whttp:faultSerialization extension attribute
+ */
+ public String getHttpFaultSerialization();
+
+ /**
+ * @return String the {http query parameter separator}, represented by the whttp:queryParameterSeparator extension attribute
+ */
+ public String getHttpQueryParameterSeparator();
+
+ /**
+ * @return String the {http content encoding default}, represented by the whttp:contentEncodingDefault extension attribute
+ */
+ public String getHttpContentEncodingDefault();
+
+}
Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPConstants.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPConstants.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPConstants.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPConstants.java Tue Sep 1 05:54:15 2009
@@ -0,0 +1,85 @@
+package org.apache.woden.wsdl20.extensions.http;
+
+import java.net.URI;
+
+import javax.xml.namespace.QName;
+
+public class HTTPConstants {
+
+ // Extension namespace
+ public static final String NS_STRING_HTTP = "http://www.w3.org/ns/wsdl/http";
+ public static final URI NS_URI_HTTP = URI.create(NS_STRING_HTTP);
+
+ // Extension namespace prefix
+ public static final String PFX_WHTTP = "whttp";
+
+ // Extension element names.
+ public static final String ELEM_HEADER = "header";
+
+ // Extension attribute names
+ public static final String ATTR_AUTHENTICATION_REALM = "authenticationRealm";
+ public static final String ATTR_AUTHENTICATION_SCHEME = "authenticationScheme";
+ public static final String ATTR_CODE = "code";
+ public static final String ATTR_CONTENT_ENCODING = "contentEncoding";
+ public static final String ATTR_CONTENT_ENCODING_DEFAULT = "contentEncodingDefault";
+ public static final String ATTR_COOKIES = "cookies";
+ public static final String ATTR_FAULT_SERIALIZATION = "faultSerialization";
+ public static final String ATTR_IGNORE_UNCITED = "ignoreUncited";
+ public static final String ATTR_INPUT_SERIALIZATION = "inputSerialization";
+ public static final String ATTR_LOCATION = "location";
+ public static final String ATTR_METHOD = "method";
+ public static final String ATTR_METHOD_DEFAULT = "methodDefault";
+ public static final String ATTR_OUTPUT_SERIALIZATION = "outputSerialization";
+ public static final String ATTR_QUERY_PARAMETER_SEPARATOR = "queryParameterSeparator";
+ public static final String ATTR_QUERY_PARAMETER_SEPARATOR_DEFAULT = "queryParameterSeparatorDefault";
+
+ // Extension element QNames
+ public static final QName Q_ELEM_HTTP_HEADER = new QName(NS_STRING_HTTP, ELEM_HEADER, PFX_WHTTP);
+
+ // Extension attribute QNames
+ public static final QName Q_ATTR_AUTHENTICATION_REALM = new QName(NS_STRING_HTTP, ATTR_AUTHENTICATION_REALM, PFX_WHTTP);
+ public static final QName Q_ATTR_AUTHENTICATION_SCHEME = new QName(NS_STRING_HTTP, ATTR_AUTHENTICATION_SCHEME, PFX_WHTTP);
+ public static final QName Q_ATTR_CODE = new QName(NS_STRING_HTTP, ATTR_CODE, PFX_WHTTP);
+ public static final QName Q_ATTR_CONTENT_ENCODING = new QName(NS_STRING_HTTP, ATTR_CONTENT_ENCODING, PFX_WHTTP);
+ public static final QName Q_ATTR_CONTENT_ENCODING_DEFAULT = new QName(NS_STRING_HTTP, ATTR_CONTENT_ENCODING_DEFAULT, PFX_WHTTP);
+ public static final QName Q_ATTR_COOKIES = new QName(NS_STRING_HTTP, ATTR_COOKIES, PFX_WHTTP);
+ public static final QName Q_ATTR_FAULT_SERIALIZATION = new QName(NS_STRING_HTTP, ATTR_FAULT_SERIALIZATION, PFX_WHTTP);
+ public static final QName Q_ATTR_IGNORE_UNCITED = new QName(NS_STRING_HTTP, ATTR_IGNORE_UNCITED, PFX_WHTTP);
+ public static final QName Q_ATTR_INPUT_SERIALIZATION = new QName(NS_STRING_HTTP, ATTR_INPUT_SERIALIZATION, PFX_WHTTP);
+ public static final QName Q_ATTR_LOCATION = new QName(NS_STRING_HTTP, ATTR_LOCATION, PFX_WHTTP);
+ public static final QName Q_ATTR_METHOD = new QName(NS_STRING_HTTP, ATTR_METHOD, PFX_WHTTP);
+ public static final QName Q_ATTR_METHOD_DEFAULT = new QName(NS_STRING_HTTP, ATTR_METHOD_DEFAULT, PFX_WHTTP);
+ public static final QName Q_ATTR_OUTPUT_SERIALIZATION = new QName(NS_STRING_HTTP, ATTR_OUTPUT_SERIALIZATION, PFX_WHTTP);
+ public static final QName Q_ATTR_QUERY_PARAMETER_SEPARATOR = new QName(NS_STRING_HTTP, ATTR_QUERY_PARAMETER_SEPARATOR, PFX_WHTTP);
+ public static final QName Q_ATTR_QUERY_PARAMETER_SEPARATOR_DEFAULT = new QName(NS_STRING_HTTP, ATTR_QUERY_PARAMETER_SEPARATOR_DEFAULT, PFX_WHTTP);
+
+ // Extension property names
+ public static final String PROP_HTTP_AUTHENTICATION_REALM = "http authentication realm";
+ public static final String PROP_HTTP_AUTHENTICATION_SCHEME = "http authentication scheme";
+ public static final String PROP_HTTP_CONTENT_ENCODING = "http content encoding";
+ public static final String PROP_HTTP_CONTENT_ENCODING_DEFAULT = "http content encoding default";
+ public static final String PROP_HTTP_COOKIES = "http cookies";
+ public static final String PROP_HTTP_ERROR_STATUS_CODE = "http error status code";
+ public static final String PROP_HTTP_FAULT_SERIALIZATION = "http fault serialization";
+ public static final String PROP_HTTP_HEADERS = "http headers";
+ public static final String PROP_HTTP_INPUT_SERIALIZATION = "http input serialization";
+ public static final String PROP_HTTP_LOCATION = "http location";
+ public static final String PROP_HTTP_LOCATION_IGNORE_UNCITED = "http location ignore uncited";
+ public static final String PROP_HTTP_METHOD = "http method";
+ public static final String PROP_HTTP_METHOD_DEFAULT = "http method default";
+ public static final String PROP_HTTP_OUTPUT_SERIALIZATION = "http output serialization";
+ public static final String PROP_HTTP_QUERY_PARAMETER_SEPARATOR = "http query parameter separator";
+ public static final String PROP_HTTP_QUERY_PARAMETER_SEPARATOR_DEFAULT = "http query parameter separator default";
+
+ //{http method} constants
+ public static final String METHOD_GET = "GET";
+ public static final String METHOD_POST = "POST";
+ public static final String METHOD_PUT = "PUT";
+ public static final String METHOD_DELETE = "DELETE";
+
+ //{input/output serialization} constants
+ public static final String SERIAL_APP_URLENCODED = "application/x-www-form-urlencoded";
+ public static final String SERIAL_APP_XML = "application/xml";
+ public static final String QUERY_SEP_AMPERSAND = "&";
+
+}
Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPEndpointExtensions.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPEndpointExtensions.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPEndpointExtensions.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPEndpointExtensions.java Tue Sep 1 05:54:15 2009
@@ -0,0 +1,54 @@
+/**
+ * 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.http;
+
+import org.apache.woden.wsdl20.extensions.ComponentExtensionContext;
+
+/**
+ * Provides access to the extension properties of the Endpoint component
+ * that are in the <code>http://www.w3.org/ns/wsdl/http</code> namespace.
+ * These extension properties can be accessed as <code>ExtensionProperty</code> objects
+ * via the <code>getProperties</code> and <code>getProperty</code> methods
+ * using the property names and Java types shown in the following table.
+ * <p>
+ * <table border="1">
+ * <tr>
+ * <th>Property name</th>
+ * <th>Java type</th>
+ * </tr>
+ * <tr>
+ * <td>http authentication scheme</td>
+ * <td>org.apache.woden.wsdl20.extensions.http.HTTPAuthenticationScheme</td>
+ * </tr>
+ * <tr>
+ * <td>http authentication realm</td>
+ * <td>java.lang.String</td>
+ * </tr>
+ * </table>
+ * <p>
+ * In addition to the <code>getProperties</code> and <code>getProperty</code> methods,
+ * this interface defines accessor methods specific to each HTTP extension property.
+ *
+ * @author Arthur Ryman (ryman@ca.ibm.com, arthur.ryman@gmail.com)
+ *
+ */
+public interface HTTPEndpointExtensions extends ComponentExtensionContext {
+
+ public HTTPAuthenticationScheme getHttpAuthenticationScheme();
+
+ public String getHttpAuthenticationRealm();
+}
Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPErrorStatusCode.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPErrorStatusCode.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPErrorStatusCode.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPErrorStatusCode.java Tue Sep 1 05:54:15 2009
@@ -0,0 +1,56 @@
+/**
+ * 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.http;
+
+
+/**
+ * This class represents the {http error status code} property that forms part of the
+ * HTTP extensions to the WSDL <code>BindingFault</code> component.
+ * This property may contain either an integer representing the error status code used
+ * with this fault or the xs:token #any indicating that no claim is made by the service
+ * about the use of error status codes.
+ * <p>
+ * It provides methods to query whether the property specifies an error status code
+ * (i.e. an integer) and to retrieve the property value.
+ *
+ * @author John Kaputin (jkaputin@apache.org)
+ */
+public class HTTPErrorStatusCode
+{
+ private final String fToken;
+ private final Integer fCode;
+ public static final HTTPErrorStatusCode ANY = new HTTPErrorStatusCode("#any");
+
+ private HTTPErrorStatusCode(String token)
+ {
+ fToken = token;
+ fCode = null;
+ }
+
+ public HTTPErrorStatusCode(Integer errorStatusCode)
+ {
+ fToken = null;
+ fCode = errorStatusCode;
+ }
+
+ public boolean isCodeUsed() {return fCode != null;}
+
+ public Integer getCode() {return fCode;}
+
+ public String toString() {return isCodeUsed() ? fCode.toString() : fToken;}
+
+}
Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPHeader.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPHeader.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPHeader.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPHeader.java Tue Sep 1 05:54:15 2009
@@ -0,0 +1,40 @@
+/**
+ * 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.http;
+
+import org.apache.woden.wsdl20.TypeDefinition;
+import org.apache.woden.wsdl20.WSDLComponent;
+
+/**
+ * This interface represents the HTTPHeader Component that can appear in the
+ * optional {http headers} property of the WSDL 2.0 components BindingFault
+ * and BindingMessageReference.
+ *
+ * @author John Kaputin (jkaputin@apache.org)
+ */
+public interface HTTPHeader
+{
+ public String getName();
+
+ public TypeDefinition getTypeDefinition();
+
+ public Boolean isRequired();
+
+ public WSDLComponent getParent();
+
+ public HTTPHeaderElement toElement();
+}
Added: webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPHeaderElement.java
URL: http://svn.apache.org/viewvc/webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPHeaderElement.java?rev=809835&view=auto
==============================================================================
--- webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPHeaderElement.java (added)
+++ webservices/woden/trunk/java/woden-api/src/main/java/org/apache/woden/wsdl20/extensions/http/HTTPHeaderElement.java Tue Sep 1 05:54:15 2009
@@ -0,0 +1,55 @@
+/**
+ * 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.http;
+
+import javax.xml.namespace.QName;
+
+import org.apache.woden.wsdl20.extensions.AttributeExtensible;
+import org.apache.woden.wsdl20.extensions.ElementExtensible;
+import org.apache.woden.wsdl20.extensions.ExtensionElement;
+import org.apache.woden.wsdl20.xml.DocumentationElement;
+import org.apache.woden.wsdl20.xml.WSDLElement;
+import org.apache.ws.commons.schema.XmlSchemaType;
+
+/**
+ * This interface represents the <whttp:header> extension element that
+ * can appear within a Binding Fault or Binding Message Reference.
+ *
+ * @author John Kaputin (jkaputin@apache.org)
+ */
+public interface HTTPHeaderElement extends ExtensionElement,
+ AttributeExtensible,
+ ElementExtensible
+{
+ public void setName(String name);
+
+ public String getName();
+
+ public void setTypeName(QName qname);
+
+ public QName getTypeName();
+
+ public XmlSchemaType getType();
+
+ public void setParentElement(WSDLElement wsdlEl);
+
+ public WSDLElement getParentElement();
+
+ public void addDocumentationElement(DocumentationElement docEl);
+
+ public DocumentationElement[] getDocumentationElements();
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: woden-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: woden-dev-help@ws.apache.org