You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@chemistry.apache.org by fm...@apache.org on 2011/11/03 01:46:33 UTC

svn commit: r1196897 - in /chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main: java/org/apache/chemistry/opencmis/server/impl/webservices/ webapp/WEB-INF/webspehere/

Author: fmui
Date: Thu Nov  3 00:46:33 2011
New Revision: 1196897

URL: http://svn.apache.org/viewvc?rev=1196897&view=rev
Log:
CMIS-422: WebSphere support for the OpenCMIS server framework

Added:
    chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/AbstractUsernameTokenAuthHandler.java   (with props)
    chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/WebSphereAuthHandler.java   (with props)
    chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/webapp/WEB-INF/webspehere/
    chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/webapp/WEB-INF/webspehere/how-to-setup.txt   (with props)
    chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/webapp/WEB-INF/webspehere/web.xml   (with props)
    chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/webapp/WEB-INF/webspehere/webservices.xml   (with props)
Modified:
    chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/AclService.java
    chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/AuthHandler.java
    chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/DiscoveryService.java
    chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/MultiFilingService.java
    chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/NavigationService.java
    chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/ObjectService.java
    chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/PolicyService.java
    chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/RelationshipService.java
    chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/RepositoryService.java
    chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/VersioningService.java

Added: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/AbstractUsernameTokenAuthHandler.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/AbstractUsernameTokenAuthHandler.java?rev=1196897&view=auto
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/AbstractUsernameTokenAuthHandler.java (added)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/AbstractUsernameTokenAuthHandler.java Thu Nov  3 00:46:33 2011
@@ -0,0 +1,264 @@
+/*
+ * 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.chemistry.opencmis.server.impl.webservices;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.annotation.XmlAccessType;
+import javax.xml.bind.annotation.XmlAccessorType;
+import javax.xml.bind.annotation.XmlAnyAttribute;
+import javax.xml.bind.annotation.XmlAnyElement;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlElementDecl;
+import javax.xml.bind.annotation.XmlID;
+import javax.xml.bind.annotation.XmlRegistry;
+import javax.xml.bind.annotation.XmlSchemaType;
+import javax.xml.bind.annotation.XmlSeeAlso;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlValue;
+import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
+import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
+import javax.xml.namespace.QName;
+
+import org.apache.chemistry.opencmis.commons.server.CallContext;
+
+public class AbstractUsernameTokenAuthHandler {
+
+    protected static final JAXBContext WSSE_CONTEXT;
+    static {
+        JAXBContext jc = null;
+        try {
+            jc = JAXBContext.newInstance(ObjectFactory.class);
+        } catch (JAXBException e) {
+            e.printStackTrace();
+        }
+        WSSE_CONTEXT = jc;
+    }
+
+    protected static final String WSSE_NS = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd";
+    protected static final QName WSSE_SECURITY = new QName(WSSE_NS, "Security");
+    protected static final QName WSSE_USERNAME_TOKEN = new QName(WSSE_NS, "UsernameToken");
+    protected static final QName WSSE_PASSWORD = new QName(WSSE_NS, "Password");
+
+    protected static final Set<QName> HEADERS = new HashSet<QName>();
+    static {
+        HEADERS.add(WSSE_SECURITY);
+    }
+
+    @SuppressWarnings("unchecked")
+    protected Map<String, String> extractUsernamePassword(JAXBElement<SecurityHeaderType> sht) {
+        String username = null;
+        String password = null;
+
+        for (Object uno : sht.getValue().getAny()) {
+            if ((uno instanceof JAXBElement) && ((JAXBElement<?>) uno).getValue() instanceof UsernameTokenType) {
+                UsernameTokenType utt = ((JAXBElement<UsernameTokenType>) uno).getValue();
+                username = utt.getUsername().getValue();
+
+                for (Object po : utt.getAny()) {
+                    if ((po instanceof JAXBElement) && ((JAXBElement<?>) po).getValue() instanceof PasswordString) {
+                        password = ((JAXBElement<PasswordString>) po).getValue().getValue();
+                        break;
+                    }
+                }
+
+                break;
+            }
+        }
+
+        Map<String, String> result = null;
+
+        if (username != null) {
+            result = new HashMap<String, String>();
+            result.put(CallContext.USERNAME, username);
+            result.put(CallContext.PASSWORD, password);
+        }
+
+        return result;
+    }
+
+    // --- JAXB classes ---
+
+    @XmlRegistry
+    public static class ObjectFactory {
+
+        public ObjectFactory() {
+        }
+
+        public SecurityHeaderType createSecurityHeaderType() {
+            return new SecurityHeaderType();
+        }
+
+        public UsernameTokenType createUsernameTokenType() {
+            return new UsernameTokenType();
+        }
+
+        public PasswordString createPasswordString() {
+            return new PasswordString();
+        }
+
+        public AttributedString createAttributedString() {
+            return new AttributedString();
+        }
+
+        @XmlElementDecl(namespace = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd", name = "Security")
+        public JAXBElement<SecurityHeaderType> createSecurity(SecurityHeaderType value) {
+            return new JAXBElement<SecurityHeaderType>(WSSE_SECURITY, SecurityHeaderType.class, null, value);
+        }
+
+        @XmlElementDecl(namespace = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd", name = "UsernameToken")
+        public JAXBElement<UsernameTokenType> createUsernameToken(UsernameTokenType value) {
+            return new JAXBElement<UsernameTokenType>(WSSE_USERNAME_TOKEN, UsernameTokenType.class, null, value);
+        }
+
+        @XmlElementDecl(namespace = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd", name = "Password")
+        public JAXBElement<PasswordString> createPassword(PasswordString value) {
+            return new JAXBElement<PasswordString>(WSSE_PASSWORD, PasswordString.class, null, value);
+        }
+
+    }
+
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "SecurityHeaderType", propOrder = { "any" })
+    public static class SecurityHeaderType {
+
+        @XmlAnyElement(lax = true)
+        protected List<Object> any;
+        @XmlAnyAttribute
+        private final Map<QName, String> otherAttributes = new HashMap<QName, String>();
+
+        public List<Object> getAny() {
+            if (any == null) {
+                any = new ArrayList<Object>();
+            }
+            return this.any;
+        }
+
+        public Map<QName, String> getOtherAttributes() {
+            return otherAttributes;
+        }
+
+    }
+
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "UsernameTokenType", propOrder = { "username", "any" })
+    public static class UsernameTokenType {
+
+        @XmlElement(name = "Username", namespace = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd", required = true)
+        protected AttributedString username;
+        @XmlAnyElement(lax = true)
+        protected List<Object> any;
+        @XmlAttribute(name = "Id", namespace = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd")
+        @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+        @XmlID
+        @XmlSchemaType(name = "ID")
+        protected String id;
+        @XmlAnyAttribute
+        private final Map<QName, String> otherAttributes = new HashMap<QName, String>();
+
+        public AttributedString getUsername() {
+            return username;
+        }
+
+        public void setUsername(AttributedString value) {
+            this.username = value;
+        }
+
+        public List<Object> getAny() {
+            if (any == null) {
+                any = new ArrayList<Object>();
+            }
+            return this.any;
+        }
+
+        public String getId() {
+            return id;
+        }
+
+        public void setId(String value) {
+            this.id = value;
+        }
+
+        public Map<QName, String> getOtherAttributes() {
+            return otherAttributes;
+        }
+    }
+
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "PasswordString")
+    public static class PasswordString extends AttributedString {
+
+        @XmlAttribute(name = "Type")
+        @XmlSchemaType(name = "anyURI")
+        protected String type;
+
+        public String getType() {
+            return type;
+        }
+
+        public void setType(String value) {
+            this.type = value;
+        }
+    }
+
+    @XmlAccessorType(XmlAccessType.FIELD)
+    @XmlType(name = "AttributedString", propOrder = { "value" })
+    @XmlSeeAlso({ PasswordString.class })
+    public static class AttributedString {
+
+        @XmlValue
+        protected String value;
+        @XmlAttribute(name = "Id", namespace = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd")
+        @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
+        @XmlID
+        @XmlSchemaType(name = "ID")
+        protected String id;
+        @XmlAnyAttribute
+        private final Map<QName, String> otherAttributes = new HashMap<QName, String>();
+
+        public String getValue() {
+            return value;
+        }
+
+        public void setValue(String value) {
+            this.value = value;
+        }
+
+        public String getId() {
+            return id;
+        }
+
+        public void setId(String value) {
+            this.id = value;
+        }
+
+        public Map<QName, String> getOtherAttributes() {
+            return otherAttributes;
+        }
+    }
+}

Propchange: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/AbstractUsernameTokenAuthHandler.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/AclService.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/AclService.java?rev=1196897&r1=1196896&r2=1196897&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/AclService.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/AclService.java Thu Nov  3 00:46:33 2011
@@ -42,7 +42,7 @@ import org.apache.chemistry.opencmis.com
 @WebService(endpointInterface = "org.apache.chemistry.opencmis.commons.impl.jaxb.ACLServicePort")
 public class AclService extends AbstractService implements ACLServicePort {
     @Resource
-    WebServiceContext wsContext;
+    public WebServiceContext wsContext;
 
     public CmisACLType applyACL(String repositoryId, String objectId, CmisAccessControlListType addAces,
             CmisAccessControlListType removeAces, EnumACLPropagation aclPropagation, CmisExtensionType extension)

Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/AuthHandler.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/AuthHandler.java?rev=1196897&r1=1196896&r2=1196897&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/AuthHandler.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/AuthHandler.java Thu Nov  3 00:46:33 2011
@@ -18,37 +18,15 @@
  */
 package org.apache.chemistry.opencmis.server.impl.webservices;
 
-import java.util.ArrayList;
 import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
-import javax.xml.bind.JAXBContext;
 import javax.xml.bind.JAXBElement;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlAnyAttribute;
-import javax.xml.bind.annotation.XmlAnyElement;
-import javax.xml.bind.annotation.XmlAttribute;
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementDecl;
-import javax.xml.bind.annotation.XmlID;
-import javax.xml.bind.annotation.XmlRegistry;
-import javax.xml.bind.annotation.XmlSchemaType;
-import javax.xml.bind.annotation.XmlSeeAlso;
-import javax.xml.bind.annotation.XmlType;
-import javax.xml.bind.annotation.XmlValue;
-import javax.xml.bind.annotation.adapters.CollapsedStringAdapter;
-import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 import javax.xml.namespace.QName;
 import javax.xml.ws.handler.MessageContext;
 import javax.xml.ws.handler.MessageContext.Scope;
 
-import org.apache.chemistry.opencmis.commons.server.CallContext;
-
 import com.sun.xml.ws.api.handler.MessageHandler;
 import com.sun.xml.ws.api.handler.MessageHandlerContext;
 import com.sun.xml.ws.api.message.Header;
@@ -58,28 +36,7 @@ import com.sun.xml.ws.api.message.Messag
 /**
  * This class tries to extract a user name and a password from a UsernameToken.
  */
-public class AuthHandler implements MessageHandler<MessageHandlerContext> {
-
-    private static final String WSSE_NS = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd";
-    private static final QName WSSE_SECURITY = new QName(WSSE_NS, "Security");
-    private static final QName WSSE_USERNAME_TOKEN = new QName(WSSE_NS, "UsernameToken");
-    private static final QName WSSE_PASSWORD = new QName(WSSE_NS, "Password");
-
-    private static final JAXBContext WSSE_CONTEXT;
-    static {
-        JAXBContext jc = null;
-        try {
-            jc = JAXBContext.newInstance(ObjectFactory.class);
-        } catch (JAXBException e) {
-            e.printStackTrace();
-        }
-        WSSE_CONTEXT = jc;
-    }
-
-    private static final Set<QName> HEADERS = new HashSet<QName>();
-    static {
-        HEADERS.add(WSSE_SECURITY);
-    }
+public class AuthHandler extends AbstractUsernameTokenAuthHandler implements MessageHandler<MessageHandlerContext> {
 
     public Set<QName> getHeaders() {
         return HEADERS;
@@ -92,7 +49,6 @@ public class AuthHandler implements Mess
         return true;
     }
 
-    @SuppressWarnings("unchecked")
     public boolean handleMessage(MessageHandlerContext context) {
         Boolean outboundProperty = (Boolean) context.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY);
         if (outboundProperty.booleanValue()) {
@@ -100,8 +56,7 @@ public class AuthHandler implements Mess
             return true;
         }
 
-        String username = null;
-        String password = null;
+        Map<String, String> callContextMap = null;
 
         try {
             // read the header
@@ -111,193 +66,19 @@ public class AuthHandler implements Mess
 
             JAXBElement<SecurityHeaderType> sht = securityHeader.readAsJAXB(WSSE_CONTEXT.createUnmarshaller());
 
-            for (Object uno : sht.getValue().getAny()) {
-                if ((uno instanceof JAXBElement) && ((JAXBElement<?>) uno).getValue() instanceof UsernameTokenType) {
-                    UsernameTokenType utt = ((JAXBElement<UsernameTokenType>) uno).getValue();
-                    username = utt.getUsername().getValue();
-
-                    for (Object po : utt.getAny()) {
-                        if ((po instanceof JAXBElement) && ((JAXBElement<?>) po).getValue() instanceof PasswordString) {
-                            password = ((JAXBElement<PasswordString>) po).getValue().getValue();
-                            break;
-                        }
-                    }
-
-                    break;
-                }
-            }
+            callContextMap = extractUsernamePassword(sht);
         } catch (Exception e) {
             // something went wrong, e.g. a part of the SOAP header wasn't set
         }
 
         // add user and password to context
-        Map<String, String> callContextMap = new HashMap<String, String>();
-        callContextMap.put(CallContext.USERNAME, username);
-        callContextMap.put(CallContext.PASSWORD, password);
+        if (callContextMap == null) {
+            callContextMap = new HashMap<String, String>();
+        }
 
         context.put(AbstractService.CALL_CONTEXT_MAP, callContextMap);
         context.setScope(AbstractService.CALL_CONTEXT_MAP, Scope.APPLICATION);
 
         return true;
     }
-
-    // --- JAXB classes ---
-
-    @XmlRegistry
-    public static class ObjectFactory {
-
-        public ObjectFactory() {
-        }
-
-        public SecurityHeaderType createSecurityHeaderType() {
-            return new SecurityHeaderType();
-        }
-
-        public UsernameTokenType createUsernameTokenType() {
-            return new UsernameTokenType();
-        }
-
-        public PasswordString createPasswordString() {
-            return new PasswordString();
-        }
-
-        public AttributedString createAttributedString() {
-            return new AttributedString();
-        }
-
-        @XmlElementDecl(namespace = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd", name = "Security")
-        public JAXBElement<SecurityHeaderType> createSecurity(SecurityHeaderType value) {
-            return new JAXBElement<SecurityHeaderType>(WSSE_SECURITY, SecurityHeaderType.class, null, value);
-        }
-
-        @XmlElementDecl(namespace = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd", name = "UsernameToken")
-        public JAXBElement<UsernameTokenType> createUsernameToken(UsernameTokenType value) {
-            return new JAXBElement<UsernameTokenType>(WSSE_USERNAME_TOKEN, UsernameTokenType.class, null, value);
-        }
-
-        @XmlElementDecl(namespace = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd", name = "Password")
-        public JAXBElement<PasswordString> createPassword(PasswordString value) {
-            return new JAXBElement<PasswordString>(WSSE_PASSWORD, PasswordString.class, null, value);
-        }
-
-    }
-
-    @XmlAccessorType(XmlAccessType.FIELD)
-    @XmlType(name = "SecurityHeaderType", propOrder = { "any" })
-    public static class SecurityHeaderType {
-
-        @XmlAnyElement(lax = true)
-        protected List<Object> any;
-        @XmlAnyAttribute
-        private final Map<QName, String> otherAttributes = new HashMap<QName, String>();
-
-        public List<Object> getAny() {
-            if (any == null) {
-                any = new ArrayList<Object>();
-            }
-            return this.any;
-        }
-
-        public Map<QName, String> getOtherAttributes() {
-            return otherAttributes;
-        }
-
-    }
-
-    @XmlAccessorType(XmlAccessType.FIELD)
-    @XmlType(name = "UsernameTokenType", propOrder = { "username", "any" })
-    public static class UsernameTokenType {
-
-        @XmlElement(name = "Username", namespace = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd", required = true)
-        protected AttributedString username;
-        @XmlAnyElement(lax = true)
-        protected List<Object> any;
-        @XmlAttribute(name = "Id", namespace = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd")
-        @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
-        @XmlID
-        @XmlSchemaType(name = "ID")
-        protected String id;
-        @XmlAnyAttribute
-        private final Map<QName, String> otherAttributes = new HashMap<QName, String>();
-
-        public AttributedString getUsername() {
-            return username;
-        }
-
-        public void setUsername(AttributedString value) {
-            this.username = value;
-        }
-
-        public List<Object> getAny() {
-            if (any == null) {
-                any = new ArrayList<Object>();
-            }
-            return this.any;
-        }
-
-        public String getId() {
-            return id;
-        }
-
-        public void setId(String value) {
-            this.id = value;
-        }
-
-        public Map<QName, String> getOtherAttributes() {
-            return otherAttributes;
-        }
-    }
-
-    @XmlAccessorType(XmlAccessType.FIELD)
-    @XmlType(name = "PasswordString")
-    public static class PasswordString extends AttributedString {
-
-        @XmlAttribute(name = "Type")
-        @XmlSchemaType(name = "anyURI")
-        protected String type;
-
-        public String getType() {
-            return type;
-        }
-
-        public void setType(String value) {
-            this.type = value;
-        }
-    }
-
-    @XmlAccessorType(XmlAccessType.FIELD)
-    @XmlType(name = "AttributedString", propOrder = { "value" })
-    @XmlSeeAlso({ PasswordString.class })
-    public static class AttributedString {
-
-        @XmlValue
-        protected String value;
-        @XmlAttribute(name = "Id", namespace = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd")
-        @XmlJavaTypeAdapter(CollapsedStringAdapter.class)
-        @XmlID
-        @XmlSchemaType(name = "ID")
-        protected String id;
-        @XmlAnyAttribute
-        private final Map<QName, String> otherAttributes = new HashMap<QName, String>();
-
-        public String getValue() {
-            return value;
-        }
-
-        public void setValue(String value) {
-            this.value = value;
-        }
-
-        public String getId() {
-            return id;
-        }
-
-        public void setId(String value) {
-            this.id = value;
-        }
-
-        public Map<QName, String> getOtherAttributes() {
-            return otherAttributes;
-        }
-    }
 }

Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/DiscoveryService.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/DiscoveryService.java?rev=1196897&r1=1196896&r2=1196897&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/DiscoveryService.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/DiscoveryService.java Thu Nov  3 00:46:33 2011
@@ -46,7 +46,7 @@ import org.apache.chemistry.opencmis.com
 @WebService(endpointInterface = "org.apache.chemistry.opencmis.commons.impl.jaxb.DiscoveryServicePort")
 public class DiscoveryService extends AbstractService implements DiscoveryServicePort {
     @Resource
-    WebServiceContext wsContext;
+    public WebServiceContext wsContext;
 
     public void getContentChanges(String repositoryId, Holder<String> changeLogToken, Boolean includeProperties,
             String filter, Boolean includePolicyIds, Boolean includeAcl, BigInteger maxItems,

Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/MultiFilingService.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/MultiFilingService.java?rev=1196897&r1=1196896&r2=1196897&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/MultiFilingService.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/MultiFilingService.java Thu Nov  3 00:46:33 2011
@@ -40,7 +40,7 @@ import org.apache.chemistry.opencmis.com
 @WebService(endpointInterface = "org.apache.chemistry.opencmis.commons.impl.jaxb.MultiFilingServicePort")
 public class MultiFilingService extends AbstractService implements MultiFilingServicePort {
     @Resource
-    WebServiceContext wsContext;
+    public WebServiceContext wsContext;
 
     public void addObjectToFolder(String repositoryId, String objectId, String folderId, Boolean allVersions,
             Holder<CmisExtensionType> extension) throws CmisException {

Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/NavigationService.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/NavigationService.java?rev=1196897&r1=1196896&r2=1196897&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/NavigationService.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/NavigationService.java Thu Nov  3 00:46:33 2011
@@ -50,7 +50,7 @@ import org.apache.chemistry.opencmis.com
 @WebService(endpointInterface = "org.apache.chemistry.opencmis.commons.impl.jaxb.NavigationServicePort")
 public class NavigationService extends AbstractService implements NavigationServicePort {
     @Resource
-    WebServiceContext wsContext;
+    public WebServiceContext wsContext;
 
     public CmisObjectListType getCheckedOutDocs(String repositoryId, String folderId, String filter, String orderBy,
             Boolean includeAllowableActions, EnumIncludeRelationships includeRelationships, String renditionFilter,

Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/ObjectService.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/ObjectService.java?rev=1196897&r1=1196896&r2=1196897&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/ObjectService.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/ObjectService.java Thu Nov  3 00:46:33 2011
@@ -64,7 +64,7 @@ import com.sun.xml.ws.developer.Streamin
 @WebService(endpointInterface = "org.apache.chemistry.opencmis.commons.impl.jaxb.ObjectServicePort")
 public class ObjectService extends AbstractService implements ObjectServicePort {
     @Resource
-    WebServiceContext wsContext;
+    public WebServiceContext wsContext;
 
     public void createDocument(String repositoryId, CmisPropertiesType properties, String folderId,
             CmisContentStreamType contentStream, EnumVersioningState versioningState, List<String> policies,

Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/PolicyService.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/PolicyService.java?rev=1196897&r1=1196896&r2=1196897&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/PolicyService.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/PolicyService.java Thu Nov  3 00:46:33 2011
@@ -46,7 +46,7 @@ import org.apache.chemistry.opencmis.com
 @WebService(endpointInterface = "org.apache.chemistry.opencmis.commons.impl.jaxb.PolicyServicePort")
 public class PolicyService extends AbstractService implements PolicyServicePort {
     @Resource
-    WebServiceContext wsContext;
+    public WebServiceContext wsContext;
 
     public void applyPolicy(String repositoryId, String policyId, String objectId, Holder<CmisExtensionType> extension)
             throws CmisException {

Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/RelationshipService.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/RelationshipService.java?rev=1196897&r1=1196896&r2=1196897&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/RelationshipService.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/RelationshipService.java Thu Nov  3 00:46:33 2011
@@ -42,7 +42,7 @@ import org.apache.chemistry.opencmis.com
 @WebService(endpointInterface = "org.apache.chemistry.opencmis.commons.impl.jaxb.RelationshipServicePort")
 public class RelationshipService extends AbstractService implements RelationshipServicePort {
     @Resource
-    WebServiceContext wsContext;
+    public WebServiceContext wsContext;
 
     public CmisObjectListType getObjectRelationships(String repositoryId, String objectId,
             Boolean includeSubRelationshipTypes, EnumRelationshipDirection relationshipDirection, String typeId,

Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/RepositoryService.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/RepositoryService.java?rev=1196897&r1=1196896&r2=1196897&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/RepositoryService.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/RepositoryService.java Thu Nov  3 00:46:33 2011
@@ -48,7 +48,7 @@ import org.apache.chemistry.opencmis.com
 @WebService(endpointInterface = "org.apache.chemistry.opencmis.commons.impl.jaxb.RepositoryServicePort")
 public class RepositoryService extends AbstractService implements RepositoryServicePort {
     @Resource
-    WebServiceContext wsContext;
+    public WebServiceContext wsContext;
 
     public List<CmisRepositoryEntryType> getRepositories(CmisExtensionType extension) throws CmisException {
         CmisService service = null;

Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/VersioningService.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/VersioningService.java?rev=1196897&r1=1196896&r2=1196897&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/VersioningService.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/VersioningService.java Thu Nov  3 00:46:33 2011
@@ -56,7 +56,7 @@ import com.sun.xml.ws.developer.Streamin
 @WebService(endpointInterface = "org.apache.chemistry.opencmis.commons.impl.jaxb.VersioningServicePort")
 public class VersioningService extends AbstractService implements VersioningServicePort {
     @Resource
-    WebServiceContext wsContext;
+    public WebServiceContext wsContext;
 
     public void cancelCheckOut(String repositoryId, String objectId, Holder<CmisExtensionType> extension)
             throws CmisException {

Added: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/WebSphereAuthHandler.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/WebSphereAuthHandler.java?rev=1196897&view=auto
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/WebSphereAuthHandler.java (added)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/WebSphereAuthHandler.java Thu Nov  3 00:46:33 2011
@@ -0,0 +1,98 @@
+/*
+ * 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.chemistry.opencmis.server.impl.webservices;
+
+import java.io.StringReader;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import javax.xml.bind.JAXBElement;
+import javax.xml.bind.Unmarshaller;
+import javax.xml.namespace.QName;
+import javax.xml.ws.handler.MessageContext;
+import javax.xml.ws.handler.MessageContext.Scope;
+import javax.xml.ws.handler.soap.SOAPHandler;
+import javax.xml.ws.handler.soap.SOAPMessageContext;
+
+public class WebSphereAuthHandler extends AbstractUsernameTokenAuthHandler implements SOAPHandler<SOAPMessageContext> {
+
+    public Set<QName> getHeaders() {
+        return HEADERS;
+    }
+
+    public void close(MessageContext context) {
+    }
+
+    public boolean handleFault(SOAPMessageContext context) {
+        return true;
+    }
+
+    @SuppressWarnings("unchecked")
+    public boolean handleMessage(SOAPMessageContext context) {
+        Boolean outboundProperty = (Boolean) context.get(MessageContext.MESSAGE_OUTBOUND_PROPERTY);
+        if (outboundProperty.booleanValue()) {
+            // we are only looking at inbound messages
+            return true;
+        }
+
+        Map<String, String> callContextMap = null;
+
+        Map<QName, List<String>> requestHeaders = (Map<QName, List<String>>) context
+                .get("jaxws.binding.soap.headers.inbound");
+
+        if (requestHeaders != null) {
+            List<String> secHeaders = requestHeaders.get(WSSE_SECURITY);
+            if (secHeaders != null && secHeaders.size() > 0) {
+                try {
+                    Unmarshaller unmarshaller = WSSE_CONTEXT.createUnmarshaller();
+
+                    for (String h : secHeaders) {
+                        try {
+                            JAXBElement<SecurityHeaderType> sht = (JAXBElement<SecurityHeaderType>) unmarshaller
+                                    .unmarshal(new StringReader(h));
+
+                            callContextMap = extractUsernamePassword(sht);
+                            if (callContextMap != null) {
+                                break;
+                            }
+
+                        } catch (Exception e) {
+                            // unmarshalling failed, maybe another header -
+                            // ignore
+                        }
+                    }
+                } catch (Exception e) {
+                    // JAXB problem - ignore
+                }
+            }
+        }
+
+        // add user and password to context
+        if (callContextMap == null) {
+            callContextMap = new HashMap<String, String>();
+        }
+
+        context.put(AbstractService.CALL_CONTEXT_MAP, callContextMap);
+        context.setScope(AbstractService.CALL_CONTEXT_MAP, Scope.APPLICATION);
+
+        return true;
+    }
+}

Propchange: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/webservices/WebSphereAuthHandler.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/webapp/WEB-INF/webspehere/how-to-setup.txt
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/webapp/WEB-INF/webspehere/how-to-setup.txt?rev=1196897&view=auto
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/webapp/WEB-INF/webspehere/how-to-setup.txt (added)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/webapp/WEB-INF/webspehere/how-to-setup.txt Thu Nov  3 00:46:33 2011
@@ -0,0 +1,2 @@
+In order to use the OpenCMIS server framework on WebSphere 7.0.0.5 or later,
+copy the files web.xml and webservices.xml from /WEB-INF/websphere to /WEB-INF.
\ No newline at end of file

Propchange: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/webapp/WEB-INF/webspehere/how-to-setup.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Added: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/webapp/WEB-INF/webspehere/web.xml
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/webapp/WEB-INF/webspehere/web.xml?rev=1196897&view=auto
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/webapp/WEB-INF/webspehere/web.xml (added)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/webapp/WEB-INF/webspehere/web.xml Thu Nov  3 00:46:33 2011
@@ -0,0 +1,228 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  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.  
+-->
+<web-app version="2.5"
+    xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
+
+    <display-name>OpenCMIS Server</display-name>
+
+    <welcome-file-list>
+        <welcome-file>index.jsp</welcome-file>
+        <welcome-file>index.html</welcome-file>
+    </welcome-file-list>
+
+    <listener>
+        <listener-class>org.apache.chemistry.opencmis.server.impl.CmisRepositoryContextListener</listener-class>
+    </listener>
+    
+        <!--
+    <listener>
+        <listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class>
+    </listener>
+        -->
+    <!-- 
+         A servlet filter that logs all requests in files. Useful for monitoring and debugging.
+         Use it with care! It can generate a huge amount of files and will slow down performance
+         significantly.
+    -->
+    <!--
+    <filter>
+           <filter-name>LoggingFilter</filter-name>
+          <filter-class>org.apache.chemistry.opencmis.server.support.filter.LoggingFilter</filter-class>
+           <init-param>
+              <param-name>LogDir</param-name>
+              <param-value></param-value>
+           </init-param>
+           <init-param>
+              <param-name>PrettyPrint</param-name>
+              <param-value>true</param-value>
+           </init-param>
+           <init-param>
+              <param-name>LogHeader</param-name>
+              <param-value>true</param-value>
+           </init-param>
+           <init-param>
+              <param-name>Indent</param-name>
+              <param-value>4</param-value>
+           </init-param>
+    </filter>
+    
+    <filter-mapping>
+           <filter-name>LoggingFilter</filter-name>
+           <servlet-name>cmisatom</servlet-name> 
+    </filter-mapping>
+    -->
+
+    <!--
+    <servlet>
+        <servlet-name>cmisws</servlet-name>
+        <servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
+        <load-on-startup>1</load-on-startup>
+    </servlet>
+    -->
+
+    <servlet>
+        <servlet-name>NavigationService</servlet-name>
+        <servlet-class>org.apache.chemistry.opencmis.server.impl.webservices.NavigationService</servlet-class>
+        <load-on-startup>1</load-on-startup>
+    </servlet>
+
+    <servlet>
+        <servlet-name>PolicyService</servlet-name>
+        <servlet-class>org.apache.chemistry.opencmis.server.impl.webservices.PolicyService</servlet-class>
+        <load-on-startup>1</load-on-startup>
+    </servlet>
+
+    <servlet>
+        <servlet-name>DiscoveryService</servlet-name>
+        <servlet-class>org.apache.chemistry.opencmis.server.impl.webservices.DiscoveryService</servlet-class>
+        <load-on-startup>1</load-on-startup>
+    </servlet>
+
+    <servlet>
+        <servlet-name>MultiFilingService</servlet-name>
+        <servlet-class>org.apache.chemistry.opencmis.server.impl.webservices.MultiFilingService</servlet-class>
+        <load-on-startup>1</load-on-startup>
+    </servlet>
+
+    <servlet>
+        <servlet-name>RepositoryService</servlet-name>
+        <servlet-class>org.apache.chemistry.opencmis.server.impl.webservices.RepositoryService</servlet-class>
+        <load-on-startup>1</load-on-startup>
+    </servlet>
+    
+    <servlet>
+        <servlet-name>RelationshipService</servlet-name>
+        <servlet-class>org.apache.chemistry.opencmis.server.impl.webservices.RelationshipService</servlet-class>
+        <load-on-startup>1</load-on-startup>
+    </servlet>
+    
+    <servlet>
+        <servlet-name>VersioningService</servlet-name>
+        <servlet-class>org.apache.chemistry.opencmis.server.impl.webservices.VersioningService</servlet-class>
+        <load-on-startup>1</load-on-startup>
+    </servlet>
+    
+    <servlet>
+        <servlet-name>ObjectService</servlet-name>
+        <servlet-class>org.apache.chemistry.opencmis.server.impl.webservices.ObjectService</servlet-class>
+        <load-on-startup>1</load-on-startup>
+    </servlet>
+    
+    <servlet>
+        <servlet-name>ACLService</servlet-name>
+        <servlet-class>org.apache.chemistry.opencmis.server.impl.webservices.AclService</servlet-class>
+        <load-on-startup>1</load-on-startup>
+    </servlet>
+    
+
+    <servlet>
+        <servlet-name>cmisatom</servlet-name>
+        <servlet-class>org.apache.chemistry.opencmis.server.impl.atompub.CmisAtomPubServlet</servlet-class>
+        <init-param>
+            <param-name>callContextHandler</param-name>
+            <param-value>org.apache.chemistry.opencmis.server.shared.BasicAuthCallContextHandler</param-value>
+        </init-param>
+        <load-on-startup>2</load-on-startup>
+    </servlet>
+    
+    <!-- Browser Binding is deactivated until the implementation is complete. -->
+    <!--
+    <servlet>
+        <servlet-name>cmisbrowser</servlet-name>
+        <servlet-class>org.apache.chemistry.opencmis.server.impl.browser.CmisBrowserBindingServlet</servlet-class>
+        <init-param>
+            <param-name>callContextHandler</param-name>
+            <param-value>org.apache.chemistry.opencmis.server.shared.BasicAuthCallContextHandler</param-value>
+        </init-param>
+        <load-on-startup>2</load-on-startup>
+    </servlet>
+    -->
+
+    <!--
+    <servlet-mapping>
+        <servlet-name>cmisws</servlet-name>
+        <url-pattern>/services/*</url-pattern>
+    </servlet-mapping>
+    -->
+    
+    <servlet-mapping>
+        <servlet-name>NavigationService</servlet-name>
+        <url-pattern>/services/NavigationService</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>PolicyService</servlet-name>
+        <url-pattern>/services/PolicyService</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>DiscoveryService</servlet-name>
+        <url-pattern>/services/DiscoveryService</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>MultiFilingService</servlet-name>
+        <url-pattern>/services/MultiFilingService</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>RepositoryService</servlet-name>
+        <url-pattern>/services/RepositoryService</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>RelationshipService</servlet-name>
+        <url-pattern>/services/RelationshipService</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>VersioningService</servlet-name>
+        <url-pattern>/services/VersioningService</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>ObjectService</servlet-name>
+        <url-pattern>/services/ObjectService</url-pattern>
+    </servlet-mapping>
+
+    <servlet-mapping>
+        <servlet-name>ACLService</servlet-name>
+        <url-pattern>/services/ACLService</url-pattern>
+    </servlet-mapping>
+
+
+    <servlet-mapping>
+        <servlet-name>cmisatom</servlet-name>
+        <url-pattern>/atom/*</url-pattern>
+    </servlet-mapping>
+
+    <!-- Browser Binding is deactivated until the implementation is complete. -->
+    <!--
+    <servlet-mapping>
+        <servlet-name>cmisbrowser</servlet-name>
+        <url-pattern>/browser/*</url-pattern>
+    </servlet-mapping>
+    -->
+
+    <session-config>
+        <session-timeout>60</session-timeout>
+    </session-config>
+</web-app>

Propchange: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/webapp/WEB-INF/webspehere/web.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/webapp/WEB-INF/webspehere/webservices.xml
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/webapp/WEB-INF/webspehere/webservices.xml?rev=1196897&view=auto
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/webapp/WEB-INF/webspehere/webservices.xml (added)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/webapp/WEB-INF/webspehere/webservices.xml Thu Nov  3 00:46:33 2011
@@ -0,0 +1,183 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  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. 
+-->
+<webservices xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/javaee_web_services_1_2.xsd" version="1.2">
+    <webservice-description>
+        <webservice-description-name>OpenCMIS Server</webservice-description-name>
+        <wsdl-file>WEB-INF/wsdl/CMISWS-Service.wsdl</wsdl-file>
+        <port-component>
+            <port-component-name>NavigationServicePort</port-component-name>
+            <wsdl-service xmlns:cmis="http://docs.oasis-open.org/ns/cmis/ws/200908/">cmis:NavigationService</wsdl-service>
+            <wsdl-port xmlns:cmis="http://docs.oasis-open.org/ns/cmis/ws/200908/">cmis:NavigationServicePort</wsdl-port>
+            <enable-mtom>true</enable-mtom>
+            <service-endpoint-interface>org.apache.chemistry.opencmis.commons.impl.jaxb.NavigationServicePort</service-endpoint-interface>
+            <service-impl-bean>
+                <servlet-link>NavigationService</servlet-link>
+            </service-impl-bean>
+            <handler-chains>
+                <handler-chain>
+                    <handler>
+                        <handler-name>authHandler</handler-name>
+                        <handler-class>org.apache.chemistry.opencmis.server.impl.webservices.WebSphereAuthHandler</handler-class>
+                    </handler>
+                </handler-chain>
+            </handler-chains>                
+        </port-component>
+        <port-component>
+            <port-component-name>PolicyServicePort</port-component-name>
+            <wsdl-service xmlns:cmis="http://docs.oasis-open.org/ns/cmis/ws/200908/">cmis:PolicyService</wsdl-service>
+            <wsdl-port xmlns:cmis="http://docs.oasis-open.org/ns/cmis/ws/200908/">cmis:PolicyServicePort</wsdl-port>
+            <enable-mtom>true</enable-mtom>
+            <service-endpoint-interface>org.apache.chemistry.opencmis.commons.impl.jaxb.PolicyServicePort</service-endpoint-interface>
+            <service-impl-bean>
+                <servlet-link>PolicyService</servlet-link>
+            </service-impl-bean>
+            <handler-chains>
+                <handler-chain>
+                    <handler>
+                        <handler-name>authHandler</handler-name>
+                        <handler-class>org.apache.chemistry.opencmis.server.impl.webservices.WebSphereAuthHandler</handler-class>
+                    </handler>
+                </handler-chain>
+            </handler-chains>  
+        </port-component>
+        <port-component>
+            <port-component-name>DiscoveryServicePort</port-component-name>
+            <wsdl-service xmlns:cmis="http://docs.oasis-open.org/ns/cmis/ws/200908/">cmis:DiscoveryService</wsdl-service>
+            <wsdl-port xmlns:cmis="http://docs.oasis-open.org/ns/cmis/ws/200908/">cmis:DiscoveryServicePort</wsdl-port>
+            <enable-mtom>true</enable-mtom>
+            <service-endpoint-interface>org.apache.chemistry.opencmis.commons.impl.jaxb.DiscoveryServicePort</service-endpoint-interface>
+            <service-impl-bean>
+                <servlet-link>DiscoveryService</servlet-link>
+            </service-impl-bean>
+            <handler>
+                <handler-name>WebSphere CMIS Authentication Handler</handler-name>
+                <handler-class>org.apache.chemistry.opencmis.server.impl.webservices.WebSphereAuthHandler</handler-class>
+            </handler>
+        </port-component>
+        <port-component>
+            <port-component-name>MultiFilingServicePort</port-component-name>
+            <wsdl-service xmlns:cmis="http://docs.oasis-open.org/ns/cmis/ws/200908/">cmis:MultiFilingService</wsdl-service>
+            <wsdl-port xmlns:cmis="http://docs.oasis-open.org/ns/cmis/ws/200908/">cmis:MultiFilingServicePort</wsdl-port>
+            <enable-mtom>true</enable-mtom>
+            <service-endpoint-interface>org.apache.chemistry.opencmis.commons.impl.jaxb.MultiFilingServicePort</service-endpoint-interface>
+            <service-impl-bean>
+                <servlet-link>MultiFilingService</servlet-link>
+            </service-impl-bean>
+            <handler-chains>
+                <handler-chain>
+                    <handler>
+                        <handler-name>authHandler</handler-name>
+                        <handler-class>org.apache.chemistry.opencmis.server.impl.webservices.WebSphereAuthHandler</handler-class>
+                    </handler>
+                </handler-chain>
+            </handler-chains>  
+        </port-component>
+        <port-component>
+            <port-component-name>RepositoryServicePort</port-component-name>
+            <wsdl-service xmlns:cmis="http://docs.oasis-open.org/ns/cmis/ws/200908/">cmis:RepositoryService</wsdl-service>
+            <wsdl-port xmlns:cmis="http://docs.oasis-open.org/ns/cmis/ws/200908/">cmis:RepositoryServicePort</wsdl-port>
+            <enable-mtom>true</enable-mtom>
+            <service-endpoint-interface>org.apache.chemistry.opencmis.commons.impl.jaxb.RepositoryServicePort</service-endpoint-interface>
+            <service-impl-bean>
+                <servlet-link>RepositoryService</servlet-link>
+            </service-impl-bean>
+            <handler-chains>
+                <handler-chain>
+                    <handler>
+                        <handler-name>authHandler</handler-name>
+                        <handler-class>org.apache.chemistry.opencmis.server.impl.webservices.WebSphereAuthHandler</handler-class>
+                    </handler>
+                </handler-chain>
+            </handler-chains>  
+        </port-component>
+        <port-component>
+            <port-component-name>RelationshipServicePort</port-component-name>
+            <wsdl-service xmlns:cmis="http://docs.oasis-open.org/ns/cmis/ws/200908/">cmis:RelationshipService</wsdl-service>
+            <wsdl-port xmlns:cmis="http://docs.oasis-open.org/ns/cmis/ws/200908/">cmis:RelationshipServicePort</wsdl-port>
+            <enable-mtom>true</enable-mtom>
+            <service-endpoint-interface>org.apache.chemistry.opencmis.commons.impl.jaxb.RelationshipServicePort</service-endpoint-interface>
+            <service-impl-bean>
+                <servlet-link>RelationshipService</servlet-link>
+            </service-impl-bean>
+            <handler-chains>
+                <handler-chain>
+                    <handler>
+                        <handler-name>authHandler</handler-name>
+                        <handler-class>org.apache.chemistry.opencmis.server.impl.webservices.WebSphereAuthHandler</handler-class>
+                    </handler>
+                </handler-chain>
+            </handler-chains>  
+        </port-component>
+        <port-component>
+            <port-component-name>VersioningServicePort</port-component-name>
+            <wsdl-service xmlns:cmis="http://docs.oasis-open.org/ns/cmis/ws/200908/">cmis:VersioningService</wsdl-service>
+            <wsdl-port xmlns:cmis="http://docs.oasis-open.org/ns/cmis/ws/200908/">cmis:VersioningServicePort</wsdl-port>
+            <enable-mtom>true</enable-mtom>
+            <service-endpoint-interface>org.apache.chemistry.opencmis.commons.impl.jaxb.VersioningServicePort</service-endpoint-interface>
+            <service-impl-bean>
+                <servlet-link>VersioningService</servlet-link>
+            </service-impl-bean>
+            <handler-chains>
+                <handler-chain>
+                    <handler>
+                        <handler-name>authHandler</handler-name>
+                        <handler-class>org.apache.chemistry.opencmis.server.impl.webservices.WebSphereAuthHandler</handler-class>
+                    </handler>
+                </handler-chain>
+            </handler-chains>  
+        </port-component>
+        <port-component>
+            <port-component-name>ObjectServicePort</port-component-name>
+            <wsdl-service xmlns:cmis="http://docs.oasis-open.org/ns/cmis/ws/200908/">cmis:ObjectService</wsdl-service>
+            <wsdl-port xmlns:cmis="http://docs.oasis-open.org/ns/cmis/ws/200908/">cmis:ObjectServicePort</wsdl-port>
+            <enable-mtom>true</enable-mtom>
+            <service-endpoint-interface>org.apache.chemistry.opencmis.commons.impl.jaxb.ObjectServicePort</service-endpoint-interface>
+            <service-impl-bean>
+                <servlet-link>ObjectService</servlet-link>
+            </service-impl-bean>
+            <handler-chains>
+                <handler-chain>
+                    <handler>
+                        <handler-name>authHandler</handler-name>
+                        <handler-class>org.apache.chemistry.opencmis.server.impl.webservices.WebSphereAuthHandler</handler-class>
+                    </handler>
+                </handler-chain>
+            </handler-chains>  
+        </port-component>
+        <port-component>
+            <port-component-name>ACLServicePort</port-component-name>
+            <wsdl-service xmlns:cmis="http://docs.oasis-open.org/ns/cmis/ws/200908/">cmis:ACLService</wsdl-service>
+            <wsdl-port xmlns:cmis="http://docs.oasis-open.org/ns/cmis/ws/200908/">cmis:ACLServicePort</wsdl-port>
+            <enable-mtom>true</enable-mtom>
+            <service-endpoint-interface>org.apache.chemistry.opencmis.commons.impl.jaxb.ACLServicePort</service-endpoint-interface>
+            <service-impl-bean>
+                <servlet-link>ACLService</servlet-link>
+            </service-impl-bean>
+            <handler-chains>
+                <handler-chain>
+                    <handler>
+                        <handler-name>authHandler</handler-name>
+                        <handler-class>org.apache.chemistry.opencmis.server.impl.webservices.WebSphereAuthHandler</handler-class>
+                    </handler>
+                </handler-chain>
+            </handler-chains>  
+        </port-component>
+    </webservice-description>
+</webservices>
\ No newline at end of file

Propchange: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/webapp/WEB-INF/webspehere/webservices.xml
------------------------------------------------------------------------------
    svn:eol-style = native