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 &lt;whttp:header&gt; 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