diff --git a/source/sample/JavaCmisTest/.classpath b/source/sample/JavaCmisTest/.classpath
new file mode 100755
index 0000000000..35ac4753e0
--- /dev/null
+++ b/source/sample/JavaCmisTest/.classpath
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/source/sample/JavaCmisTest/.project b/source/sample/JavaCmisTest/.project
new file mode 100755
index 0000000000..9f9be4b993
--- /dev/null
+++ b/source/sample/JavaCmisTest/.project
@@ -0,0 +1,19 @@
+
+
+ SimpleAlfrescoCmisServicesUsing
+
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+
+ org.eclipse.jem.workbench.JavaEMFNature
+ org.eclipse.jdt.core.javanature
+ org.eclipse.jem.beaninfo.BeanInfoNature
+
+
diff --git a/source/sample/JavaCmisTest/build.xml b/source/sample/JavaCmisTest/build.xml
new file mode 100755
index 0000000000..14dfc6af86
--- /dev/null
+++ b/source/sample/JavaCmisTest/build.xml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/sample/JavaCmisTest/cmis-test.bat b/source/sample/JavaCmisTest/cmis-test.bat
new file mode 100755
index 0000000000..2d985cf560
--- /dev/null
+++ b/source/sample/JavaCmisTest/cmis-test.bat
@@ -0,0 +1,6 @@
+@echo off
+
+set CLASSPATH=cmis-test.jar
+for %%i in (./lib/*.jar) do call set CLASSPATH=./lib/%%~i;%%CLASSPATH%%
+
+java org.alfresco.cmis.ws.example.SimpleExecutableCmisServicesUtilizer %1 %2 %3
diff --git a/source/sample/JavaCmisTest/cmis-test.sh b/source/sample/JavaCmisTest/cmis-test.sh
new file mode 100755
index 0000000000..684015984a
--- /dev/null
+++ b/source/sample/JavaCmisTest/cmis-test.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+export CLASSPATH=./cmis-test-client.jar
+for jar in ./lib/*.jar; do export CLASSPATH=$CLASSPATH:$jar; done
+
+java org.alfresco.cmis.ws.example.SimpleExecutableCmisServicesUtilizer $1 $2 $3
diff --git a/source/sample/JavaCmisTest/lib/FastInfoset-1.2.2.jar b/source/sample/JavaCmisTest/lib/FastInfoset-1.2.2.jar
new file mode 100755
index 0000000000..8f5e3fbf37
Binary files /dev/null and b/source/sample/JavaCmisTest/lib/FastInfoset-1.2.2.jar differ
diff --git a/source/sample/JavaCmisTest/lib/XmlSchema-1.4.2.jar b/source/sample/JavaCmisTest/lib/XmlSchema-1.4.2.jar
new file mode 100755
index 0000000000..8798353f80
Binary files /dev/null and b/source/sample/JavaCmisTest/lib/XmlSchema-1.4.2.jar differ
diff --git a/source/sample/JavaCmisTest/lib/cmis-types.jar b/source/sample/JavaCmisTest/lib/cmis-types.jar
new file mode 100755
index 0000000000..4a454022d3
Binary files /dev/null and b/source/sample/JavaCmisTest/lib/cmis-types.jar differ
diff --git a/source/sample/JavaCmisTest/lib/commons-logging-1.1.1.jar b/source/sample/JavaCmisTest/lib/commons-logging-1.1.1.jar
new file mode 100755
index 0000000000..1deef144cb
Binary files /dev/null and b/source/sample/JavaCmisTest/lib/commons-logging-1.1.1.jar differ
diff --git a/source/sample/JavaCmisTest/lib/cxf-2.1.2.jar b/source/sample/JavaCmisTest/lib/cxf-2.1.2.jar
new file mode 100755
index 0000000000..a4403ea0bd
Binary files /dev/null and b/source/sample/JavaCmisTest/lib/cxf-2.1.2.jar differ
diff --git a/source/sample/JavaCmisTest/lib/geronimo-activation_1.1_spec-1.0.2.jar b/source/sample/JavaCmisTest/lib/geronimo-activation_1.1_spec-1.0.2.jar
new file mode 100755
index 0000000000..3e75446e47
Binary files /dev/null and b/source/sample/JavaCmisTest/lib/geronimo-activation_1.1_spec-1.0.2.jar differ
diff --git a/source/sample/JavaCmisTest/lib/geronimo-annotation_1.0_spec-1.1.1.jar b/source/sample/JavaCmisTest/lib/geronimo-annotation_1.0_spec-1.1.1.jar
new file mode 100755
index 0000000000..2cdc01be7a
Binary files /dev/null and b/source/sample/JavaCmisTest/lib/geronimo-annotation_1.0_spec-1.1.1.jar differ
diff --git a/source/sample/JavaCmisTest/lib/geronimo-javamail_1.4_spec-1.3.jar b/source/sample/JavaCmisTest/lib/geronimo-javamail_1.4_spec-1.3.jar
new file mode 100755
index 0000000000..fc5bef477a
Binary files /dev/null and b/source/sample/JavaCmisTest/lib/geronimo-javamail_1.4_spec-1.3.jar differ
diff --git a/source/sample/JavaCmisTest/lib/geronimo-jaxws_2.1_spec-1.0.jar b/source/sample/JavaCmisTest/lib/geronimo-jaxws_2.1_spec-1.0.jar
new file mode 100755
index 0000000000..a7d6b956fd
Binary files /dev/null and b/source/sample/JavaCmisTest/lib/geronimo-jaxws_2.1_spec-1.0.jar differ
diff --git a/source/sample/JavaCmisTest/lib/geronimo-servlet_2.5_spec-1.2.jar b/source/sample/JavaCmisTest/lib/geronimo-servlet_2.5_spec-1.2.jar
new file mode 100755
index 0000000000..00a2010036
Binary files /dev/null and b/source/sample/JavaCmisTest/lib/geronimo-servlet_2.5_spec-1.2.jar differ
diff --git a/source/sample/JavaCmisTest/lib/geronimo-stax-api_1.0_spec-1.0.1.jar b/source/sample/JavaCmisTest/lib/geronimo-stax-api_1.0_spec-1.0.1.jar
new file mode 100755
index 0000000000..ab1ee3ba60
Binary files /dev/null and b/source/sample/JavaCmisTest/lib/geronimo-stax-api_1.0_spec-1.0.1.jar differ
diff --git a/source/sample/JavaCmisTest/lib/geronimo-ws-metadata_2.0_spec-1.1.2.jar b/source/sample/JavaCmisTest/lib/geronimo-ws-metadata_2.0_spec-1.1.2.jar
new file mode 100755
index 0000000000..c8a795a103
Binary files /dev/null and b/source/sample/JavaCmisTest/lib/geronimo-ws-metadata_2.0_spec-1.1.2.jar differ
diff --git a/source/sample/JavaCmisTest/lib/jaxb-api-2.1.jar b/source/sample/JavaCmisTest/lib/jaxb-api-2.1.jar
new file mode 100755
index 0000000000..5752f19462
Binary files /dev/null and b/source/sample/JavaCmisTest/lib/jaxb-api-2.1.jar differ
diff --git a/source/sample/JavaCmisTest/lib/jaxb-impl-2.1.7.jar b/source/sample/JavaCmisTest/lib/jaxb-impl-2.1.7.jar
new file mode 100755
index 0000000000..034c158670
Binary files /dev/null and b/source/sample/JavaCmisTest/lib/jaxb-impl-2.1.7.jar differ
diff --git a/source/sample/JavaCmisTest/lib/jaxb-xjc-2.1.7.jar b/source/sample/JavaCmisTest/lib/jaxb-xjc-2.1.7.jar
new file mode 100755
index 0000000000..ba2ec468ed
Binary files /dev/null and b/source/sample/JavaCmisTest/lib/jaxb-xjc-2.1.7.jar differ
diff --git a/source/sample/JavaCmisTest/lib/jetty-6.1.9.jar b/source/sample/JavaCmisTest/lib/jetty-6.1.9.jar
new file mode 100755
index 0000000000..59c11213f6
Binary files /dev/null and b/source/sample/JavaCmisTest/lib/jetty-6.1.9.jar differ
diff --git a/source/sample/JavaCmisTest/lib/jetty-util-6.1.9.jar b/source/sample/JavaCmisTest/lib/jetty-util-6.1.9.jar
new file mode 100755
index 0000000000..aeca351143
Binary files /dev/null and b/source/sample/JavaCmisTest/lib/jetty-util-6.1.9.jar differ
diff --git a/source/sample/JavaCmisTest/lib/neethi-2.0.4.jar b/source/sample/JavaCmisTest/lib/neethi-2.0.4.jar
new file mode 100755
index 0000000000..87da3f0740
Binary files /dev/null and b/source/sample/JavaCmisTest/lib/neethi-2.0.4.jar differ
diff --git a/source/sample/JavaCmisTest/lib/saaj-api-1.3.jar b/source/sample/JavaCmisTest/lib/saaj-api-1.3.jar
new file mode 100755
index 0000000000..a75a492616
Binary files /dev/null and b/source/sample/JavaCmisTest/lib/saaj-api-1.3.jar differ
diff --git a/source/sample/JavaCmisTest/lib/saaj-impl-1.3.jar b/source/sample/JavaCmisTest/lib/saaj-impl-1.3.jar
new file mode 100755
index 0000000000..e1fb59bb0a
Binary files /dev/null and b/source/sample/JavaCmisTest/lib/saaj-impl-1.3.jar differ
diff --git a/source/sample/JavaCmisTest/lib/spring-beans-2.0.8.jar b/source/sample/JavaCmisTest/lib/spring-beans-2.0.8.jar
new file mode 100755
index 0000000000..c82f5e6164
Binary files /dev/null and b/source/sample/JavaCmisTest/lib/spring-beans-2.0.8.jar differ
diff --git a/source/sample/JavaCmisTest/lib/spring-context-2.0.8.jar b/source/sample/JavaCmisTest/lib/spring-context-2.0.8.jar
new file mode 100755
index 0000000000..9a1ca559a3
Binary files /dev/null and b/source/sample/JavaCmisTest/lib/spring-context-2.0.8.jar differ
diff --git a/source/sample/JavaCmisTest/lib/spring-core-2.0.8.jar b/source/sample/JavaCmisTest/lib/spring-core-2.0.8.jar
new file mode 100755
index 0000000000..1e939cc469
Binary files /dev/null and b/source/sample/JavaCmisTest/lib/spring-core-2.0.8.jar differ
diff --git a/source/sample/JavaCmisTest/lib/spring-web-2.0.8.jar b/source/sample/JavaCmisTest/lib/spring-web-2.0.8.jar
new file mode 100755
index 0000000000..7cb2e43b98
Binary files /dev/null and b/source/sample/JavaCmisTest/lib/spring-web-2.0.8.jar differ
diff --git a/source/sample/JavaCmisTest/lib/stax-utils-20060502.jar b/source/sample/JavaCmisTest/lib/stax-utils-20060502.jar
new file mode 100755
index 0000000000..b7da0ae009
Binary files /dev/null and b/source/sample/JavaCmisTest/lib/stax-utils-20060502.jar differ
diff --git a/source/sample/JavaCmisTest/lib/velocity-1.4.jar b/source/sample/JavaCmisTest/lib/velocity-1.4.jar
new file mode 100755
index 0000000000..04ec9d2f85
Binary files /dev/null and b/source/sample/JavaCmisTest/lib/velocity-1.4.jar differ
diff --git a/source/sample/JavaCmisTest/lib/velocity-dep-1.4.jar b/source/sample/JavaCmisTest/lib/velocity-dep-1.4.jar
new file mode 100755
index 0000000000..375712b0e8
Binary files /dev/null and b/source/sample/JavaCmisTest/lib/velocity-dep-1.4.jar differ
diff --git a/source/sample/JavaCmisTest/lib/wsdl4j-1.6.2.jar b/source/sample/JavaCmisTest/lib/wsdl4j-1.6.2.jar
new file mode 100755
index 0000000000..b9ffc36b9f
Binary files /dev/null and b/source/sample/JavaCmisTest/lib/wsdl4j-1.6.2.jar differ
diff --git a/source/sample/JavaCmisTest/lib/wss4j-1.5.4.jar b/source/sample/JavaCmisTest/lib/wss4j-1.5.4.jar
new file mode 100755
index 0000000000..d269862487
Binary files /dev/null and b/source/sample/JavaCmisTest/lib/wss4j-1.5.4.jar differ
diff --git a/source/sample/JavaCmisTest/lib/wstx-asl-3.2.4.jar b/source/sample/JavaCmisTest/lib/wstx-asl-3.2.4.jar
new file mode 100755
index 0000000000..700ccf643e
Binary files /dev/null and b/source/sample/JavaCmisTest/lib/wstx-asl-3.2.4.jar differ
diff --git a/source/sample/JavaCmisTest/lib/xml-resolver-1.2.jar b/source/sample/JavaCmisTest/lib/xml-resolver-1.2.jar
new file mode 100755
index 0000000000..e535bdc073
Binary files /dev/null and b/source/sample/JavaCmisTest/lib/xml-resolver-1.2.jar differ
diff --git a/source/sample/JavaCmisTest/lib/xmlsec-1.3.0.jar b/source/sample/JavaCmisTest/lib/xmlsec-1.3.0.jar
new file mode 100755
index 0000000000..6b69b807ef
Binary files /dev/null and b/source/sample/JavaCmisTest/lib/xmlsec-1.3.0.jar differ
diff --git a/source/sample/JavaCmisTest/readme.txt b/source/sample/JavaCmisTest/readme.txt
new file mode 100755
index 0000000000..04d055f672
--- /dev/null
+++ b/source/sample/JavaCmisTest/readme.txt
@@ -0,0 +1,22 @@
+This simple example connects to the Alfresco CMIS Server and displays the names
+of the folders within the Alfresco root folder called "Company Home".
+
+The example utilizes the Alfresco CMIS Web Services interfaces.
+
+The example is stand-alone and includes all of its dependencies.
+
+Steps to execute the example...
+
+Pre-requisites:
+a) The Alfresco Server must be running for the test client to succeed.
+b) ant is required to build the test client
+
+1) Unpack JavaCmisTest.zip to
+2) Run /ant
+3) Run cmis-test.bat http://:
+
+Note: A cmis-test.sh also exists.
+
+Upon successful completion, a list of folder names is presented.
+
+The source code for the example is also included.
\ No newline at end of file
diff --git a/source/test/java/org/alfresco/repo/cmis/ws/example/ExecutableServicesHelper.java b/source/sample/JavaCmisTest/src/org/alfresco/cmis/ws/example/ExecutableServicesHelper.java
old mode 100644
new mode 100755
similarity index 97%
rename from source/test/java/org/alfresco/repo/cmis/ws/example/ExecutableServicesHelper.java
rename to source/sample/JavaCmisTest/src/org/alfresco/cmis/ws/example/ExecutableServicesHelper.java
index bacf513851..59bca4cda2
--- a/source/test/java/org/alfresco/repo/cmis/ws/example/ExecutableServicesHelper.java
+++ b/source/sample/JavaCmisTest/src/org/alfresco/cmis/ws/example/ExecutableServicesHelper.java
@@ -1,229 +1,229 @@
-/*
- * Copyright (C) 2005-2008 Alfresco Software Limited.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
-
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
-
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
- * As a special exception to the terms and conditions of version 2.0 of
- * the GPL, you may redistribute this Program in connection with Free/Libre
- * and Open Source Software ("FLOSS") applications as described in Alfresco's
- * FLOSS exception. You should have recieved a copy of the text describing
- * the FLOSS exception, and it is also available here:
- * http://www.alfresco.com/legal/licensing"
- */
-package org.alfresco.cmis.ws.example;
-
-import java.io.IOException;
-import java.math.BigInteger;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.security.auth.callback.Callback;
-import javax.security.auth.callback.CallbackHandler;
-import javax.security.auth.callback.UnsupportedCallbackException;
-import javax.xml.namespace.QName;
-import javax.xml.ws.Service;
-
-import org.alfresco.repo.cmis.ws.CmisObjectType;
-import org.alfresco.repo.cmis.ws.CmisQueryType;
-import org.alfresco.repo.cmis.ws.CmisRepositoryEntryType;
-import org.alfresco.repo.cmis.ws.EnumTypesOfFileableObjects;
-import org.alfresco.repo.cmis.ws.GetChildren;
-import org.alfresco.repo.cmis.ws.GetChildrenResponse;
-import org.alfresco.repo.cmis.ws.GetFolderParent;
-import org.alfresco.repo.cmis.ws.GetRepositories;
-import org.alfresco.repo.cmis.ws.GetRepositoryInfo;
-import org.alfresco.repo.cmis.ws.GetTypes;
-import org.alfresco.repo.cmis.ws.NavigationServicePort;
-import org.alfresco.repo.cmis.ws.ObjectFactory;
-import org.alfresco.repo.cmis.ws.RepositoryServicePort;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.cxf.binding.soap.saaj.SAAJOutInterceptor;
-import org.apache.cxf.endpoint.Client;
-import org.apache.cxf.frontend.ClientProxy;
-import org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor;
-import org.apache.ws.security.WSConstants;
-import org.apache.ws.security.WSPasswordCallback;
-import org.apache.ws.security.handler.WSHandlerConstants;
-
-/**
- * This helper-class contain all necessary for SimpleCmisWsTest correct working service-methods
- *
- * @author Dmitry Velichkevich
- */
-public class ExecutableServicesHelper
-{
- private static final QName NAVIGATION_SERVICE_NAME = new QName("http://www.cmis.org/ns/1.0", "NavigationService");
- private static final QName REPOSITORY_SERVICE_NAME = new QName("http://www.cmis.org/ns/1.0", "RepositoryService");
-
- private static final String NAVIGATION_SERVER_URL_POSTFIX = "/alfresco/cmis/NavigationService?wsdl";
- private static final String REPOSITORY_SERVER_URL_POSTFIX = "/alfresco/cmis/RepositoryService?wsdl";
-
- private static final Log LOGGER = LogFactory.getLog(ExecutableServicesHelper.class);
-
- private String username;
- private String password;
- private Service navigationServicesFactory;
- private Service repositoryServicesFactory;
-
- /**
- * @param username - an existent authentication user name
- * @param password - appropriate password for specified user name
- * @param serverAddress - IP address (or domain name) and port for the server to connect
- * @throws Exception - an caught MalformedURLException in time of server connect URL creation
- */
- public ExecutableServicesHelper(String username, String password, String serverAddress) throws Exception
- {
- this.username = username;
- this.password = password;
-
- try
- {
- navigationServicesFactory = Service.create(new URL(serverAddress + NAVIGATION_SERVER_URL_POSTFIX), NAVIGATION_SERVICE_NAME);
- repositoryServicesFactory = Service.create(new URL(serverAddress + REPOSITORY_SERVER_URL_POSTFIX), REPOSITORY_SERVICE_NAME);
- }
- catch (MalformedURLException e)
- {
- throw new Exception("Field to connect to specified URL. Exception Message: " + e.getMessage());
- }
- }
-
- /**
- * This method simplify RepositoryServicePort instance creation
- *
- * @return an instance of RepositoryServicePort
- */
- public RepositoryServicePort receiveAuthorizedRepositoryServicePort()
- {
- RepositoryServicePort result = repositoryServicesFactory.getPort(RepositoryServicePort.class);
-
- createAuthorizationClient(result);
-
- return result;
- }
-
- /**
- * This method simplify NavigationServicePort instance creation
- *
- * @return an instance of NavigationServicePort
- */
- public NavigationServicePort receiveAuthorizedNavigationServicePort()
- {
- NavigationServicePort result = navigationServicesFactory.getPort(NavigationServicePort.class);
-
- createAuthorizationClient(result);
-
- return result;
- }
-
- /**
- * This method simplify configuring of GetChildren CMIS Service query with "ANY" filter, Company Home Object Identificator and FOLDERS_AND_DOCUMENTS
- * entity types.
- *
- * @param servicesPort - NavigationServicePort configured with WSS4J Client instance
- * @return List< DocumentOrFolderObjectType> - list of all children elements of Company Home folder
- * @throws Exception This exception throws when any CMIS Services operations was failed
- */
- public List receiveSpaceContent(NavigationServicePort servicesPort) throws Exception
- {
- GetChildrenResponse response;
-
- response = servicesPort.getChildren(configureGetChildrenServiceQuery());
-
- if ((response != null) && (response.getObject() != null))
- {
- return response.getObject();
- }
- else
- {
- return null;
- }
- }
-
- /**
- * This method simplify receiving of Object Identificator for Company Home Root Folder
- *
- * @param servicesPort - RepositoryServicePort instance that configured with WSS4J Client
- * @return String representation of Object Identificator
- * @throws Exception This exception throws when any CMIS Services operations was failed
- */
- public String receiveCompanyHomeObjectId(RepositoryServicePort servicesPort) throws Exception
- {
- GetRepositoryInfo parameteers = new GetRepositoryInfo();
- parameteers.setRepositoryId(servicesPort.getRepositories().get(0).getRepositoryID());
-
- return servicesPort.getRepositoryInfo(parameteers).getRootFolderId();
- }
-
- /**
- * This method simplify creation of authorized Client instance with specified user name and appropriate password
- *
- * @return - an instance of authorized CMIS Client
- */
- protected Client createAuthorizationClient(Object servicePortInstance)
- {
- Map outInterceptorProperties = configureWss4jProperties();
-
- WSS4JOutInterceptor outInterceptor = new WSS4JOutInterceptor(outInterceptorProperties);
-
- return createAndConfigureClientInstance(servicePortInstance, outInterceptor);
- }
-
- private GetChildren configureGetChildrenServiceQuery() throws Exception
- {
- ObjectFactory objectFactory = new ObjectFactory();
-
- RepositoryServicePort authorizedRepositoryServicePort = receiveAuthorizedRepositoryServicePort();
-
- GetChildren requestParameters = objectFactory.createGetChildren();
- requestParameters.setRepositoryId(authorizedRepositoryServicePort.getRepositories().get(0).getRepositoryID());
- requestParameters.setFilter(objectFactory.createGetChildrenFilter("*"));
- requestParameters.setMaxItems(objectFactory.createGetChildrenMaxItems(BigInteger.valueOf(Long.MAX_VALUE)));
- requestParameters.setFolderId(receiveCompanyHomeObjectId(authorizedRepositoryServicePort));
- requestParameters.setType(objectFactory.createGetChildrenType(EnumTypesOfFileableObjects.ANY));
-
- return requestParameters;
- }
-
- private Client createAndConfigureClientInstance(Object servicePortInstance, WSS4JOutInterceptor outInterceptor)
- {
- Client client = ClientProxy.getClient(servicePortInstance);
- client.getEndpoint().getOutInterceptors().add(new SAAJOutInterceptor());
- client.getEndpoint().getOutInterceptors().add(outInterceptor);
-
- return client;
- }
-
- private Map configureWss4jProperties()
- {
- Map outInterceptorProperties = new HashMap();
- outInterceptorProperties.put(WSHandlerConstants.ACTION, WSHandlerConstants.USERNAME_TOKEN + " " + WSHandlerConstants.TIMESTAMP);
- outInterceptorProperties.put(WSHandlerConstants.USER, username);
- outInterceptorProperties.put(WSHandlerConstants.PASSWORD_TYPE, WSConstants.PW_DIGEST);
-
- outInterceptorProperties.put(WSHandlerConstants.PW_CALLBACK_REF, new CallbackHandler()
- {
- public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException
- {
- ((WSPasswordCallback) callbacks[0]).setPassword(password);
- }
- });
-
- return outInterceptorProperties;
- }
-}
+/*
+ * Copyright (C) 2005-2008 Alfresco Software Limited.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+ * As a special exception to the terms and conditions of version 2.0 of
+ * the GPL, you may redistribute this Program in connection with Free/Libre
+ * and Open Source Software ("FLOSS") applications as described in Alfresco's
+ * FLOSS exception. You should have recieved a copy of the text describing
+ * the FLOSS exception, and it is also available here:
+ * http://www.alfresco.com/legal/licensing"
+ */
+package org.alfresco.cmis.ws.example;
+
+import java.io.IOException;
+import java.math.BigInteger;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.security.auth.callback.Callback;
+import javax.security.auth.callback.CallbackHandler;
+import javax.security.auth.callback.UnsupportedCallbackException;
+import javax.xml.namespace.QName;
+import javax.xml.ws.Service;
+
+import org.alfresco.repo.cmis.ws.CmisObjectType;
+import org.alfresco.repo.cmis.ws.CmisQueryType;
+import org.alfresco.repo.cmis.ws.CmisRepositoryEntryType;
+import org.alfresco.repo.cmis.ws.EnumTypesOfFileableObjects;
+import org.alfresco.repo.cmis.ws.GetChildren;
+import org.alfresco.repo.cmis.ws.GetChildrenResponse;
+import org.alfresco.repo.cmis.ws.GetFolderParent;
+import org.alfresco.repo.cmis.ws.GetRepositories;
+import org.alfresco.repo.cmis.ws.GetRepositoryInfo;
+import org.alfresco.repo.cmis.ws.GetTypes;
+import org.alfresco.repo.cmis.ws.NavigationServicePort;
+import org.alfresco.repo.cmis.ws.ObjectFactory;
+import org.alfresco.repo.cmis.ws.RepositoryServicePort;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.cxf.binding.soap.saaj.SAAJOutInterceptor;
+import org.apache.cxf.endpoint.Client;
+import org.apache.cxf.frontend.ClientProxy;
+import org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor;
+import org.apache.ws.security.WSConstants;
+import org.apache.ws.security.WSPasswordCallback;
+import org.apache.ws.security.handler.WSHandlerConstants;
+
+/**
+ * This helper-class contain all necessary for SimpleCmisWsTest correct working service-methods
+ *
+ * @author Dmitry Velichkevich
+ */
+public class ExecutableServicesHelper
+{
+ private static final QName NAVIGATION_SERVICE_NAME = new QName("http://www.cmis.org/ns/1.0", "NavigationService");
+ private static final QName REPOSITORY_SERVICE_NAME = new QName("http://www.cmis.org/ns/1.0", "RepositoryService");
+
+ private static final String NAVIGATION_SERVER_URL_POSTFIX = "/alfresco/cmis/NavigationService?wsdl";
+ private static final String REPOSITORY_SERVER_URL_POSTFIX = "/alfresco/cmis/RepositoryService?wsdl";
+
+ private static final Log LOGGER = LogFactory.getLog(ExecutableServicesHelper.class);
+
+ private String username;
+ private String password;
+ private Service navigationServicesFactory;
+ private Service repositoryServicesFactory;
+
+ /**
+ * @param username - an existent authentication user name
+ * @param password - appropriate password for specified user name
+ * @param serverAddress - IP address (or domain name) and port for the server to connect
+ * @throws Exception - an caught MalformedURLException in time of server connect URL creation
+ */
+ public ExecutableServicesHelper(String username, String password, String serverAddress) throws Exception
+ {
+ this.username = username;
+ this.password = password;
+
+ try
+ {
+ navigationServicesFactory = Service.create(new URL(serverAddress + NAVIGATION_SERVER_URL_POSTFIX), NAVIGATION_SERVICE_NAME);
+ repositoryServicesFactory = Service.create(new URL(serverAddress + REPOSITORY_SERVER_URL_POSTFIX), REPOSITORY_SERVICE_NAME);
+ }
+ catch (MalformedURLException e)
+ {
+ throw new Exception("Field to connect to specified URL. Exception Message: " + e.getMessage());
+ }
+ }
+
+ /**
+ * This method simplify RepositoryServicePort instance creation
+ *
+ * @return an instance of RepositoryServicePort
+ */
+ public RepositoryServicePort receiveAuthorizedRepositoryServicePort()
+ {
+ RepositoryServicePort result = repositoryServicesFactory.getPort(RepositoryServicePort.class);
+
+ createAuthorizationClient(result);
+
+ return result;
+ }
+
+ /**
+ * This method simplify NavigationServicePort instance creation
+ *
+ * @return an instance of NavigationServicePort
+ */
+ public NavigationServicePort receiveAuthorizedNavigationServicePort()
+ {
+ NavigationServicePort result = navigationServicesFactory.getPort(NavigationServicePort.class);
+
+ createAuthorizationClient(result);
+
+ return result;
+ }
+
+ /**
+ * This method simplify configuring of GetChildren CMIS Service query with "ANY" filter, Company Home Object Identificator and FOLDERS_AND_DOCUMENTS
+ * entity types.
+ *
+ * @param servicesPort - NavigationServicePort configured with WSS4J Client instance
+ * @return List< DocumentOrFolderObjectType> - list of all children elements of Company Home folder
+ * @throws Exception This exception throws when any CMIS Services operations was failed
+ */
+ public List receiveSpaceContent(NavigationServicePort servicesPort) throws Exception
+ {
+ GetChildrenResponse response;
+
+ response = servicesPort.getChildren(configureGetChildrenServiceQuery());
+
+ if ((response != null) && (response.getObject() != null))
+ {
+ return response.getObject();
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+ /**
+ * This method simplify receiving of Object Identificator for Company Home Root Folder
+ *
+ * @param servicesPort - RepositoryServicePort instance that configured with WSS4J Client
+ * @return String representation of Object Identificator
+ * @throws Exception This exception throws when any CMIS Services operations was failed
+ */
+ public String receiveCompanyHomeObjectId(RepositoryServicePort servicesPort) throws Exception
+ {
+ GetRepositoryInfo parameteers = new GetRepositoryInfo();
+ parameteers.setRepositoryId(servicesPort.getRepositories().get(0).getRepositoryID());
+
+ return servicesPort.getRepositoryInfo(parameteers).getRootFolderId();
+ }
+
+ /**
+ * This method simplify creation of authorized Client instance with specified user name and appropriate password
+ *
+ * @return - an instance of authorized CMIS Client
+ */
+ protected Client createAuthorizationClient(Object servicePortInstance)
+ {
+ Map outInterceptorProperties = configureWss4jProperties();
+
+ WSS4JOutInterceptor outInterceptor = new WSS4JOutInterceptor(outInterceptorProperties);
+
+ return createAndConfigureClientInstance(servicePortInstance, outInterceptor);
+ }
+
+ private GetChildren configureGetChildrenServiceQuery() throws Exception
+ {
+ ObjectFactory objectFactory = new ObjectFactory();
+
+ RepositoryServicePort authorizedRepositoryServicePort = receiveAuthorizedRepositoryServicePort();
+
+ GetChildren requestParameters = objectFactory.createGetChildren();
+ requestParameters.setRepositoryId(authorizedRepositoryServicePort.getRepositories().get(0).getRepositoryID());
+ requestParameters.setFilter(objectFactory.createGetChildrenFilter("*"));
+ requestParameters.setMaxItems(objectFactory.createGetChildrenMaxItems(BigInteger.valueOf(Long.MAX_VALUE)));
+ requestParameters.setFolderId(receiveCompanyHomeObjectId(authorizedRepositoryServicePort));
+ requestParameters.setType(objectFactory.createGetChildrenType(EnumTypesOfFileableObjects.ANY));
+
+ return requestParameters;
+ }
+
+ private Client createAndConfigureClientInstance(Object servicePortInstance, WSS4JOutInterceptor outInterceptor)
+ {
+ Client client = ClientProxy.getClient(servicePortInstance);
+ client.getEndpoint().getOutInterceptors().add(new SAAJOutInterceptor());
+ client.getEndpoint().getOutInterceptors().add(outInterceptor);
+
+ return client;
+ }
+
+ private Map configureWss4jProperties()
+ {
+ Map outInterceptorProperties = new HashMap();
+ outInterceptorProperties.put(WSHandlerConstants.ACTION, WSHandlerConstants.USERNAME_TOKEN + " " + WSHandlerConstants.TIMESTAMP);
+ outInterceptorProperties.put(WSHandlerConstants.USER, username);
+ outInterceptorProperties.put(WSHandlerConstants.PASSWORD_TYPE, WSConstants.PW_DIGEST);
+
+ outInterceptorProperties.put(WSHandlerConstants.PW_CALLBACK_REF, new CallbackHandler()
+ {
+ public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException
+ {
+ ((WSPasswordCallback) callbacks[0]).setPassword(password);
+ }
+ });
+
+ return outInterceptorProperties;
+ }
+}
diff --git a/source/test/java/org/alfresco/repo/cmis/ws/example/SimpleExecutableCmisServicesUtilizer.java b/source/sample/JavaCmisTest/src/org/alfresco/cmis/ws/example/SimpleExecutableCmisServicesUtilizer.java
old mode 100644
new mode 100755
similarity index 97%
rename from source/test/java/org/alfresco/repo/cmis/ws/example/SimpleExecutableCmisServicesUtilizer.java
rename to source/sample/JavaCmisTest/src/org/alfresco/cmis/ws/example/SimpleExecutableCmisServicesUtilizer.java
index bacc9a9f32..247ae59bda
--- a/source/test/java/org/alfresco/repo/cmis/ws/example/SimpleExecutableCmisServicesUtilizer.java
+++ b/source/sample/JavaCmisTest/src/org/alfresco/cmis/ws/example/SimpleExecutableCmisServicesUtilizer.java
@@ -1,123 +1,123 @@
-/*
- * Copyright (C) 2005-2008 Alfresco Software Limited.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
-
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
-
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
- * As a special exception to the terms and conditions of version 2.0 of
- * the GPL, you may redistribute this Program in connection with Free/Libre
- * and Open Source Software ("FLOSS") applications as described in Alfresco's
- * FLOSS exception. You should have recieved a copy of the text describing
- * the FLOSS exception, and it is also available here:
- * http://www.alfresco.com/legal/licensing"
- */
-package org.alfresco.cmis.ws.example;
-
-import java.util.List;
-
-import org.alfresco.repo.cmis.ws.CmisObjectType;
-import org.alfresco.repo.cmis.ws.CmisPropertiesType;
-import org.alfresco.repo.cmis.ws.CmisProperty;
-import org.alfresco.repo.cmis.ws.CmisPropertyString;
-
-/**
- * This class executes simple processing for prompting server address and user name and password for authentication this user on specified server. After successful connection this
- * class print contents of Company Home.
- *
- * This class expects next command-line parameters:
- *
- * - Server Address - with form: (IP_ADDRESS|DOMAIN_NAME):PORT;
- * - Username - login name of the existent user;
- * - Password - appropriate password for specified user.
- *
- * Example: 192.168.0.1:8080 admin admin - authenticate an user as admin on http://192.168.0.1:8080/alfresco/
- * server
- *
- * @author Dmitry Velichkevich
- */
-public class SimpleExecutableCmisServicesUtilizer
-{
- /**
- * Executable entry point - represents main life cycle
- *
- * @param args - not used
- * @see SimpleCmisWsTest description
- */
- public static void main(String[] args)
- {
- String username = null;
- String password = null;
- String serverUrl = null;
-
- if (args.length != 3)
- {
- System.out.println("Usage: cmis-test.bat server_url username password");
- System.out.println("Example : cmis-test.bat http://localhost:8080 admin admin");
- return;
- }
- else
- {
- serverUrl = args[0];
- username = args[1];
- password = args[2];
- }
-
- ExecutableServicesHelper servicesHelper;
-
- try
- {
- servicesHelper = new ExecutableServicesHelper(username, password, serverUrl);
- }
- catch (Exception e)
- {
- System.out.println("Can't connect to specified server. Message: " + e.getMessage());
- return;
- }
-
- List response;
-
- try
- {
- response = servicesHelper.receiveSpaceContent(servicesHelper.receiveAuthorizedNavigationServicePort());
- }
- catch (Exception e)
- {
- System.out.println("Can't receive content of Company Home caused: " + e.getMessage());
- e.printStackTrace();
- return;
- }
-
- System.out.println("Outing Company Home contents:");
- for (CmisObjectType item : response)
- {
- boolean thisIsFolder = ((CmisPropertyString) getCmisProperty(item.getProperties(), "BaseType")).getValue().contains("folder");
- String itemName = ((CmisPropertyString) getCmisProperty(item.getProperties(), "Name")).getValue();
-
- System.out.println(((thisIsFolder) ? ("[") : ("")) + itemName + ((thisIsFolder) ? ("]") : ("")));
- }
- }
-
- private static CmisProperty getCmisProperty(CmisPropertiesType properties, String cmisPropertyName)
- {
- for (CmisProperty cmisProperty : properties.getProperty())
- {
- if (cmisProperty.getName().equalsIgnoreCase(cmisPropertyName))
- {
- return cmisProperty;
- }
- }
-
- return null;
- }
-}
+/*
+ * Copyright (C) 2005-2008 Alfresco Software Limited.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+ * As a special exception to the terms and conditions of version 2.0 of
+ * the GPL, you may redistribute this Program in connection with Free/Libre
+ * and Open Source Software ("FLOSS") applications as described in Alfresco's
+ * FLOSS exception. You should have recieved a copy of the text describing
+ * the FLOSS exception, and it is also available here:
+ * http://www.alfresco.com/legal/licensing"
+ */
+package org.alfresco.cmis.ws.example;
+
+import java.util.List;
+
+import org.alfresco.repo.cmis.ws.CmisObjectType;
+import org.alfresco.repo.cmis.ws.CmisPropertiesType;
+import org.alfresco.repo.cmis.ws.CmisProperty;
+import org.alfresco.repo.cmis.ws.CmisPropertyString;
+
+/**
+ * This class executes simple processing for prompting server address and user name and password for authentication this user on specified server. After successful connection this
+ * class print contents of Company Home.
+ *
+ * This class expects next command-line parameters:
+ *
+ * - Server Address - with form: (IP_ADDRESS|DOMAIN_NAME):PORT;
+ * - Username - login name of the existent user;
+ * - Password - appropriate password for specified user.
+ *
+ * Example: 192.168.0.1:8080 admin admin - authenticate an user as admin on http://192.168.0.1:8080/alfresco/
+ * server
+ *
+ * @author Dmitry Velichkevich
+ */
+public class SimpleExecutableCmisServicesUtilizer
+{
+ /**
+ * Executable entry point - represents main life cycle
+ *
+ * @param args - not used
+ * @see SimpleCmisWsTest description
+ */
+ public static void main(String[] args)
+ {
+ String username = null;
+ String password = null;
+ String serverUrl = null;
+
+ if (args.length != 3)
+ {
+ System.out.println("Usage: cmis-test.bat server_url username password");
+ System.out.println("Example : cmis-test.bat http://localhost:8080 admin admin");
+ return;
+ }
+ else
+ {
+ serverUrl = args[0];
+ username = args[1];
+ password = args[2];
+ }
+
+ ExecutableServicesHelper servicesHelper;
+
+ try
+ {
+ servicesHelper = new ExecutableServicesHelper(username, password, serverUrl);
+ }
+ catch (Exception e)
+ {
+ System.out.println("Can't connect to specified server. Message: " + e.getMessage());
+ return;
+ }
+
+ List response;
+
+ try
+ {
+ response = servicesHelper.receiveSpaceContent(servicesHelper.receiveAuthorizedNavigationServicePort());
+ }
+ catch (Exception e)
+ {
+ System.out.println("Can't receive content of Company Home caused: " + e.getMessage());
+ e.printStackTrace();
+ return;
+ }
+
+ System.out.println("Outing Company Home contents:");
+ for (CmisObjectType item : response)
+ {
+ boolean thisIsFolder = ((CmisPropertyString) getCmisProperty(item.getProperties(), "BaseType")).getValue().contains("folder");
+ String itemName = ((CmisPropertyString) getCmisProperty(item.getProperties(), "Name")).getValue();
+
+ System.out.println(((thisIsFolder) ? ("[") : ("")) + itemName + ((thisIsFolder) ? ("]") : ("")));
+ }
+ }
+
+ private static CmisProperty getCmisProperty(CmisPropertiesType properties, String cmisPropertyName)
+ {
+ for (CmisProperty cmisProperty : properties.getProperty())
+ {
+ if (cmisProperty.getName().equalsIgnoreCase(cmisPropertyName))
+ {
+ return cmisProperty;
+ }
+ }
+
+ return null;
+ }
+}
diff --git a/source/sample/WcfCmisTest/CmisTest.exe b/source/sample/WcfCmisTest/CmisTest.exe
new file mode 100755
index 0000000000..c3a7cdfae7
Binary files /dev/null and b/source/sample/WcfCmisTest/CmisTest.exe differ
diff --git a/source/sample/WcfCmisTest/CmisTest.exe.config b/source/sample/WcfCmisTest/CmisTest.exe.config
new file mode 100755
index 0000000000..37fb6a4f9b
--- /dev/null
+++ b/source/sample/WcfCmisTest/CmisTest.exe.config
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/sample/WcfCmisTest/src/CmisTest.csproj b/source/sample/WcfCmisTest/src/CmisTest.csproj
new file mode 100755
index 0000000000..f09df85176
--- /dev/null
+++ b/source/sample/WcfCmisTest/src/CmisTest.csproj
@@ -0,0 +1,117 @@
+
+
+
+ Debug
+ AnyCPU
+ 9.0.21022
+ 2.0
+ {AA3B7140-D34D-430B-BAF8-29E8220263CA}
+ Exe
+ Properties
+ CmisTest
+ CmisTest
+ v3.5
+ 512
+ publish\
+ true
+ Disk
+ false
+ Foreground
+ 7
+ Days
+ false
+ false
+ true
+ 0
+ 1.0.0.%2a
+ false
+ false
+ true
+
+
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+ 3.5
+
+
+ 3.0
+
+
+ 3.0
+
+
+
+ 3.5
+
+
+
+ 3.5
+
+
+ 3.5
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ False
+ .NET Framework 2.0 %28x86%29
+ false
+
+
+ False
+ .NET Framework 3.0 %28x86%29
+ false
+
+
+ False
+ .NET Framework 3.5
+ true
+
+
+ False
+ Windows Installer 3.1
+ true
+
+
+
+
+
\ No newline at end of file
diff --git a/source/sample/WcfCmisTest/src/NavigationService.cs b/source/sample/WcfCmisTest/src/NavigationService.cs
new file mode 100755
index 0000000000..e9e386dfa0
--- /dev/null
+++ b/source/sample/WcfCmisTest/src/NavigationService.cs
@@ -0,0 +1,581 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:2.0.50727.1433
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+[assembly: System.Runtime.Serialization.ContractNamespaceAttribute("http://www.cmis.org/ns/1.0", ClrNamespace="www.cmis.org.ns._1._01")]
+
+
+
+[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
+[System.ServiceModel.ServiceContractAttribute(Namespace="http://www.cmis.org/ns/1.0", ConfigurationName="NavigationServicePort")]
+public interface NavigationServicePort
+{
+
+ // CODEGEN: Parameter 'documentAndFolderCollection' requires additional schema information that cannot be captured using the parameter mode. The specific attribute is 'System.Xml.Serialization.XmlArrayItemAttribute'.
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="InvalidArgumentException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="FilterNotValidException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="RuntimeException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="PermissionDeniedException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="OperationNotSupportedException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="ConcurrencyException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="FolderNotValidException")]
+ [System.ServiceModel.XmlSerializerFormatAttribute()]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(repositoryInfoType))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(objectTypeDefinitionType))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(objectTypeBase))]
+ [return: System.ServiceModel.MessageParameterAttribute(Name="documentAndFolderCollection")]
+ getDescendantsResponse getDescendants(getDescendants request);
+
+ // CODEGEN: Parameter 'documentCollection' requires additional schema information that cannot be captured using the parameter mode. The specific attribute is 'System.Xml.Serialization.XmlArrayItemAttribute'.
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="InvalidArgumentException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="FilterNotValidException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="RuntimeException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="PermissionDeniedException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="OperationNotSupportedException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="ConcurrencyException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="FolderNotValidException")]
+ [System.ServiceModel.XmlSerializerFormatAttribute()]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(repositoryInfoType))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(objectTypeDefinitionType))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(objectTypeBase))]
+ [return: System.ServiceModel.MessageParameterAttribute(Name="documentCollection")]
+ getCheckedoutDocsResponse getCheckedoutDocs(getCheckedoutDocs request);
+
+ // CODEGEN: Parameter 'folderCollection' requires additional schema information that cannot be captured using the parameter mode. The specific attribute is 'System.Xml.Serialization.XmlArrayItemAttribute'.
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="InvalidArgumentException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="FilterNotValidException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="RuntimeException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="ObjectNotFoundException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="PermissionDeniedException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="OperationNotSupportedException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="ConcurrencyException")]
+ [System.ServiceModel.XmlSerializerFormatAttribute()]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(repositoryInfoType))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(objectTypeDefinitionType))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(objectTypeBase))]
+ [return: System.ServiceModel.MessageParameterAttribute(Name="folderCollection")]
+ getDocumentParentsResponse getDocumentParents(getDocumentParents request);
+
+ // CODEGEN: Parameter 'documentAndFolderCollection' requires additional schema information that cannot be captured using the parameter mode. The specific attribute is 'System.Xml.Serialization.XmlArrayItemAttribute'.
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="InvalidArgumentException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="FilterNotValidException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="RuntimeException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="PermissionDeniedException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="OperationNotSupportedException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="ConcurrencyException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="FolderNotValidException")]
+ [System.ServiceModel.XmlSerializerFormatAttribute()]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(repositoryInfoType))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(objectTypeDefinitionType))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(objectTypeBase))]
+ [return: System.ServiceModel.MessageParameterAttribute(Name="documentAndFolderCollection")]
+ getChildrenResponse getChildren(getChildren request);
+
+ // CODEGEN: Parameter 'folderCollection' requires additional schema information that cannot be captured using the parameter mode. The specific attribute is 'System.Xml.Serialization.XmlArrayItemAttribute'.
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="InvalidArgumentException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="FilterNotValidException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="RuntimeException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="PermissionDeniedException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="OperationNotSupportedException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="ConcurrencyException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="FolderNotValidException")]
+ [System.ServiceModel.XmlSerializerFormatAttribute()]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(repositoryInfoType))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(objectTypeDefinitionType))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(objectTypeBase))]
+ [return: System.ServiceModel.MessageParameterAttribute(Name="folderCollection")]
+ getFolderParentResponse getFolderParent(getFolderParent request);
+
+ // CODEGEN: Parameter 'documentCollection' requires additional schema information that cannot be captured using the parameter mode. The specific attribute is 'System.Xml.Serialization.XmlArrayItemAttribute'.
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="InvalidArgumentException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="FilterNotValidException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="RuntimeException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="PermissionDeniedException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="OperationNotSupportedException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="ConcurrencyException")]
+ [System.ServiceModel.XmlSerializerFormatAttribute()]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(repositoryInfoType))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(objectTypeDefinitionType))]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(objectTypeBase))]
+ [return: System.ServiceModel.MessageParameterAttribute(Name="documentCollection")]
+ getUnfiledDocsResponse getUnfiledDocs(getUnfiledDocs request);
+}
+
+///
+[System.CodeDom.Compiler.GeneratedCodeAttribute("svcutil", "3.0.4506.648")]
+[System.SerializableAttribute()]
+[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.cmis.org/ns/1.0")]
+public enum typesOfObjectsEnum
+{
+
+ ///
+ FoldersAndDocumets,
+
+ ///
+ Folders,
+
+ ///
+ Documents,
+}
+
+[System.Diagnostics.DebuggerStepThroughAttribute()]
+[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
+[System.ServiceModel.MessageContractAttribute(WrapperName="getDescendants", WrapperNamespace="http://www.cmis.org/ns/1.0", IsWrapped=true)]
+public partial class getDescendants
+{
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.cmis.org/ns/1.0", Order=0)]
+ public string folderId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.cmis.org/ns/1.0", Order=1)]
+ public typesOfObjectsEnum type;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.cmis.org/ns/1.0", Order=2)]
+ public object depth;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.cmis.org/ns/1.0", Order=3)]
+ public string filter;
+
+ public getDescendants()
+ {
+ }
+
+ public getDescendants(string folderId, typesOfObjectsEnum type, object depth, string filter)
+ {
+ this.folderId = folderId;
+ this.type = type;
+ this.depth = depth;
+ this.filter = filter;
+ }
+}
+
+[System.Diagnostics.DebuggerStepThroughAttribute()]
+[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
+[System.ServiceModel.MessageContractAttribute(WrapperName="getDescendantsResponse", WrapperNamespace="http://www.cmis.org/ns/1.0", IsWrapped=true)]
+public partial class getDescendantsResponse
+{
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.cmis.org/ns/1.0", Order=0)]
+ [System.Xml.Serialization.XmlArrayItemAttribute("object", IsNullable=false)]
+ public documentOrFolderObjectType[] documentAndFolderCollection;
+
+ public getDescendantsResponse()
+ {
+ }
+
+ public getDescendantsResponse(documentOrFolderObjectType[] documentAndFolderCollection)
+ {
+ this.documentAndFolderCollection = documentAndFolderCollection;
+ }
+}
+
+[System.Diagnostics.DebuggerStepThroughAttribute()]
+[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
+[System.ServiceModel.MessageContractAttribute(WrapperName="getCheckedoutDocs", WrapperNamespace="http://www.cmis.org/ns/1.0", IsWrapped=true)]
+public partial class getCheckedoutDocs
+{
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.cmis.org/ns/1.0", Order=0)]
+ public string filter;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.cmis.org/ns/1.0", Order=1)]
+ [System.Xml.Serialization.XmlElementAttribute(DataType="integer")]
+ public string maxItems;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.cmis.org/ns/1.0", Order=2)]
+ [System.Xml.Serialization.XmlElementAttribute(DataType="integer")]
+ public string skipCount;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.cmis.org/ns/1.0", Order=3)]
+ public string folderID;
+
+ public getCheckedoutDocs()
+ {
+ }
+
+ public getCheckedoutDocs(string filter, string maxItems, string skipCount, string folderID)
+ {
+ this.filter = filter;
+ this.maxItems = maxItems;
+ this.skipCount = skipCount;
+ this.folderID = folderID;
+ }
+}
+
+[System.Diagnostics.DebuggerStepThroughAttribute()]
+[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
+[System.ServiceModel.MessageContractAttribute(WrapperName="getCheckedoutDocsResponse", WrapperNamespace="http://www.cmis.org/ns/1.0", IsWrapped=true)]
+public partial class getCheckedoutDocsResponse
+{
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.cmis.org/ns/1.0", Order=0)]
+ [System.Xml.Serialization.XmlArrayItemAttribute("object", IsNullable=false)]
+ public documentObjectType[] documentCollection;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.cmis.org/ns/1.0", Order=1)]
+ public bool hasMoreItems;
+
+ public getCheckedoutDocsResponse()
+ {
+ }
+
+ public getCheckedoutDocsResponse(documentObjectType[] documentCollection, bool hasMoreItems)
+ {
+ this.documentCollection = documentCollection;
+ this.hasMoreItems = hasMoreItems;
+ }
+}
+
+[System.Diagnostics.DebuggerStepThroughAttribute()]
+[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
+[System.ServiceModel.MessageContractAttribute(WrapperName="getDocumentParents", WrapperNamespace="http://www.cmis.org/ns/1.0", IsWrapped=true)]
+public partial class getDocumentParents
+{
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.cmis.org/ns/1.0", Order=0)]
+ public string documentId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.cmis.org/ns/1.0", Order=1)]
+ public string filter;
+
+ public getDocumentParents()
+ {
+ }
+
+ public getDocumentParents(string documentId, string filter)
+ {
+ this.documentId = documentId;
+ this.filter = filter;
+ }
+}
+
+[System.Diagnostics.DebuggerStepThroughAttribute()]
+[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
+[System.ServiceModel.MessageContractAttribute(WrapperName="getDocumentParentsResponse", WrapperNamespace="http://www.cmis.org/ns/1.0", IsWrapped=true)]
+public partial class getDocumentParentsResponse
+{
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.cmis.org/ns/1.0", Order=0)]
+ [System.Xml.Serialization.XmlArrayItemAttribute("object", IsNullable=false)]
+ public folderObjectType[] folderCollection;
+
+ public getDocumentParentsResponse()
+ {
+ }
+
+ public getDocumentParentsResponse(folderObjectType[] folderCollection)
+ {
+ this.folderCollection = folderCollection;
+ }
+}
+
+[System.Diagnostics.DebuggerStepThroughAttribute()]
+[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
+[System.ServiceModel.MessageContractAttribute(WrapperName="getChildren", WrapperNamespace="http://www.cmis.org/ns/1.0", IsWrapped=true)]
+public partial class getChildren
+{
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.cmis.org/ns/1.0", Order=0)]
+ public string folderId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.cmis.org/ns/1.0", Order=1)]
+ public typesOfObjectsEnum type;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.cmis.org/ns/1.0", Order=2)]
+ public string filter;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.cmis.org/ns/1.0", Order=3)]
+ [System.Xml.Serialization.XmlElementAttribute(DataType="integer")]
+ public string maxItems;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.cmis.org/ns/1.0", Order=4)]
+ [System.Xml.Serialization.XmlElementAttribute(DataType="integer")]
+ public string skipCount;
+
+ public getChildren()
+ {
+ }
+
+ public getChildren(string folderId, typesOfObjectsEnum type, string filter, string maxItems, string skipCount)
+ {
+ this.folderId = folderId;
+ this.type = type;
+ this.filter = filter;
+ this.maxItems = maxItems;
+ this.skipCount = skipCount;
+ }
+}
+
+[System.Diagnostics.DebuggerStepThroughAttribute()]
+[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
+[System.ServiceModel.MessageContractAttribute(WrapperName="getChildrenResponse", WrapperNamespace="http://www.cmis.org/ns/1.0", IsWrapped=true)]
+public partial class getChildrenResponse
+{
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.cmis.org/ns/1.0", Order=0)]
+ [System.Xml.Serialization.XmlArrayItemAttribute("object", IsNullable=false)]
+ public documentOrFolderObjectType[] documentAndFolderCollection;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.cmis.org/ns/1.0", Order=1)]
+ public bool hasMoreItems;
+
+ public getChildrenResponse()
+ {
+ }
+
+ public getChildrenResponse(documentOrFolderObjectType[] documentAndFolderCollection, bool hasMoreItems)
+ {
+ this.documentAndFolderCollection = documentAndFolderCollection;
+ this.hasMoreItems = hasMoreItems;
+ }
+}
+
+[System.Diagnostics.DebuggerStepThroughAttribute()]
+[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
+[System.ServiceModel.MessageContractAttribute(WrapperName="getFolderParent", WrapperNamespace="http://www.cmis.org/ns/1.0", IsWrapped=true)]
+public partial class getFolderParent
+{
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.cmis.org/ns/1.0", Order=0)]
+ public string folderId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.cmis.org/ns/1.0", Order=1)]
+ public string filter;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.cmis.org/ns/1.0", Order=2)]
+ public bool returnToRoot;
+
+ public getFolderParent()
+ {
+ }
+
+ public getFolderParent(string folderId, string filter, bool returnToRoot)
+ {
+ this.folderId = folderId;
+ this.filter = filter;
+ this.returnToRoot = returnToRoot;
+ }
+}
+
+[System.Diagnostics.DebuggerStepThroughAttribute()]
+[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
+[System.ServiceModel.MessageContractAttribute(WrapperName="getFolderParentResponse", WrapperNamespace="http://www.cmis.org/ns/1.0", IsWrapped=true)]
+public partial class getFolderParentResponse
+{
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.cmis.org/ns/1.0", Order=0)]
+ [System.Xml.Serialization.XmlArrayItemAttribute("object", IsNullable=false)]
+ public folderObjectType[] folderCollection;
+
+ public getFolderParentResponse()
+ {
+ }
+
+ public getFolderParentResponse(folderObjectType[] folderCollection)
+ {
+ this.folderCollection = folderCollection;
+ }
+}
+
+[System.Diagnostics.DebuggerStepThroughAttribute()]
+[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
+[System.ServiceModel.MessageContractAttribute(WrapperName="getUnfiledDocs", WrapperNamespace="http://www.cmis.org/ns/1.0", IsWrapped=true)]
+public partial class getUnfiledDocs
+{
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.cmis.org/ns/1.0", Order=0)]
+ public string filter;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.cmis.org/ns/1.0", Order=1)]
+ [System.Xml.Serialization.XmlElementAttribute(DataType="integer")]
+ public string maxDocuments;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.cmis.org/ns/1.0", Order=2)]
+ [System.Xml.Serialization.XmlElementAttribute(DataType="integer")]
+ public string skipCount;
+
+ public getUnfiledDocs()
+ {
+ }
+
+ public getUnfiledDocs(string filter, string maxDocuments, string skipCount)
+ {
+ this.filter = filter;
+ this.maxDocuments = maxDocuments;
+ this.skipCount = skipCount;
+ }
+}
+
+[System.Diagnostics.DebuggerStepThroughAttribute()]
+[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
+[System.ServiceModel.MessageContractAttribute(WrapperName="getUnfiledDocsResponse", WrapperNamespace="http://www.cmis.org/ns/1.0", IsWrapped=true)]
+public partial class getUnfiledDocsResponse
+{
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.cmis.org/ns/1.0", Order=0)]
+ [System.Xml.Serialization.XmlArrayItemAttribute("object", IsNullable=false)]
+ public documentObjectType[] documentCollection;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.cmis.org/ns/1.0", Order=1)]
+ public bool hasMoreItems;
+
+ public getUnfiledDocsResponse()
+ {
+ }
+
+ public getUnfiledDocsResponse(documentObjectType[] documentCollection, bool hasMoreItems)
+ {
+ this.documentCollection = documentCollection;
+ this.hasMoreItems = hasMoreItems;
+ }
+}
+
+[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
+public interface NavigationServicePortChannel : NavigationServicePort, System.ServiceModel.IClientChannel
+{
+}
+
+[System.Diagnostics.DebuggerStepThroughAttribute()]
+[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
+public partial class NavigationServicePortClient : System.ServiceModel.ClientBase, NavigationServicePort
+{
+
+ public NavigationServicePortClient()
+ {
+ }
+
+ public NavigationServicePortClient(string endpointConfigurationName) :
+ base(endpointConfigurationName)
+ {
+ }
+
+ public NavigationServicePortClient(string endpointConfigurationName, string remoteAddress) :
+ base(endpointConfigurationName, remoteAddress)
+ {
+ }
+
+ public NavigationServicePortClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) :
+ base(endpointConfigurationName, remoteAddress)
+ {
+ }
+
+ public NavigationServicePortClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) :
+ base(binding, remoteAddress)
+ {
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ getDescendantsResponse NavigationServicePort.getDescendants(getDescendants request)
+ {
+ return base.Channel.getDescendants(request);
+ }
+
+ public documentOrFolderObjectType[] getDescendants(string folderId, typesOfObjectsEnum type, object depth, string filter)
+ {
+ getDescendants inValue = new getDescendants();
+ inValue.folderId = folderId;
+ inValue.type = type;
+ inValue.depth = depth;
+ inValue.filter = filter;
+ getDescendantsResponse retVal = ((NavigationServicePort)(this)).getDescendants(inValue);
+ return retVal.documentAndFolderCollection;
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ getCheckedoutDocsResponse NavigationServicePort.getCheckedoutDocs(getCheckedoutDocs request)
+ {
+ return base.Channel.getCheckedoutDocs(request);
+ }
+
+ public documentObjectType[] getCheckedoutDocs(string filter, string maxItems, string skipCount, string folderID, out bool hasMoreItems)
+ {
+ getCheckedoutDocs inValue = new getCheckedoutDocs();
+ inValue.filter = filter;
+ inValue.maxItems = maxItems;
+ inValue.skipCount = skipCount;
+ inValue.folderID = folderID;
+ getCheckedoutDocsResponse retVal = ((NavigationServicePort)(this)).getCheckedoutDocs(inValue);
+ hasMoreItems = retVal.hasMoreItems;
+ return retVal.documentCollection;
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ getDocumentParentsResponse NavigationServicePort.getDocumentParents(getDocumentParents request)
+ {
+ return base.Channel.getDocumentParents(request);
+ }
+
+ public folderObjectType[] getDocumentParents(string documentId, string filter)
+ {
+ getDocumentParents inValue = new getDocumentParents();
+ inValue.documentId = documentId;
+ inValue.filter = filter;
+ getDocumentParentsResponse retVal = ((NavigationServicePort)(this)).getDocumentParents(inValue);
+ return retVal.folderCollection;
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ getChildrenResponse NavigationServicePort.getChildren(getChildren request)
+ {
+ return base.Channel.getChildren(request);
+ }
+
+ public documentOrFolderObjectType[] getChildren(string folderId, typesOfObjectsEnum type, string filter, string maxItems, string skipCount, out bool hasMoreItems)
+ {
+ getChildren inValue = new getChildren();
+ inValue.folderId = folderId;
+ inValue.type = type;
+ inValue.filter = filter;
+ inValue.maxItems = maxItems;
+ inValue.skipCount = skipCount;
+ getChildrenResponse retVal = ((NavigationServicePort)(this)).getChildren(inValue);
+ hasMoreItems = retVal.hasMoreItems;
+ return retVal.documentAndFolderCollection;
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ getFolderParentResponse NavigationServicePort.getFolderParent(getFolderParent request)
+ {
+ return base.Channel.getFolderParent(request);
+ }
+
+ public folderObjectType[] getFolderParent(string folderId, string filter, bool returnToRoot)
+ {
+ getFolderParent inValue = new getFolderParent();
+ inValue.folderId = folderId;
+ inValue.filter = filter;
+ inValue.returnToRoot = returnToRoot;
+ getFolderParentResponse retVal = ((NavigationServicePort)(this)).getFolderParent(inValue);
+ return retVal.folderCollection;
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ getUnfiledDocsResponse NavigationServicePort.getUnfiledDocs(getUnfiledDocs request)
+ {
+ return base.Channel.getUnfiledDocs(request);
+ }
+
+ public documentObjectType[] getUnfiledDocs(string filter, string maxDocuments, string skipCount, out bool hasMoreItems)
+ {
+ getUnfiledDocs inValue = new getUnfiledDocs();
+ inValue.filter = filter;
+ inValue.maxDocuments = maxDocuments;
+ inValue.skipCount = skipCount;
+ getUnfiledDocsResponse retVal = ((NavigationServicePort)(this)).getUnfiledDocs(inValue);
+ hasMoreItems = retVal.hasMoreItems;
+ return retVal.documentCollection;
+ }
+}
+
diff --git a/source/sample/WcfCmisTest/src/ObjectService.cs b/source/sample/WcfCmisTest/src/ObjectService.cs
new file mode 100755
index 0000000000..0c528c8866
--- /dev/null
+++ b/source/sample/WcfCmisTest/src/ObjectService.cs
@@ -0,0 +1,643 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:2.0.50727.1433
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+[assembly: System.Runtime.Serialization.ContractNamespaceAttribute("http://www.cmis.org/ns/1.0", ClrNamespace="www.cmis.org.ns._1._01")]
+
+
+
+[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
+[System.ServiceModel.ServiceContractAttribute(Namespace="http://www.cmis.org/ns/1.0", ConfigurationName="ObjectServicePort")]
+public interface ObjectServicePort
+{
+
+ // CODEGEN: Parameter 'failedToDelete' requires additional schema information that cannot be captured using the parameter mode. The specific attribute is 'System.Xml.Serialization.XmlArrayItemAttribute'.
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="InvalidArgumentException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="RuntimeException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="PermissionDeniedException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="OperationNotSupportedException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="ConcurrencyException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="FolderNotValidException")]
+ [System.ServiceModel.XmlSerializerFormatAttribute()]
+ [return: System.ServiceModel.MessageParameterAttribute(Name="failedToDelete")]
+ deleteTreeResponse deleteTree(deleteTree request);
+
+ // CODEGEN: Parameter 'allowableActionCollection' requires additional schema information that cannot be captured using the parameter mode. The specific attribute is 'System.Xml.Serialization.XmlArrayItemAttribute'.
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="InvalidArgumentException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="RuntimeException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="ObjectNotFoundException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="PermissionDeniedException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="OperationNotSupportedException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="ConcurrencyException")]
+ [System.ServiceModel.XmlSerializerFormatAttribute()]
+ [return: System.ServiceModel.MessageParameterAttribute(Name="allowableActionCollection")]
+ getAllowableActionsResponse getAllowableActions(getAllowableActions request);
+
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="InvalidArgumentException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="ConstraintViolationException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="RuntimeException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="ObjectNotFoundException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="PermissionDeniedException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="OperationNotSupportedException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="NotInFolderException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="ConcurrencyException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="FolderNotValidException")]
+ [System.ServiceModel.XmlSerializerFormatAttribute()]
+ void moveObject(string objectId, string folderId, string sourceFolderId);
+
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="StorageException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="InvalidArgumentException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="ConstraintViolationException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="RuntimeException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="StreamNotSupportedException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="ObjectNotFoundException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="PermissionDeniedException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="OperationNotSupportedException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="ConcurrencyException")]
+ [System.ServiceModel.XmlSerializerFormatAttribute()]
+ void deleteContentStream(string documentId);
+
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="InvalidArgumentException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="ConstraintViolationException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="RuntimeException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="PermissionDeniedException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="OperationNotSupportedException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="TypeNotFoundException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="ConcurrencyException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="FolderNotValidException")]
+ [System.ServiceModel.XmlSerializerFormatAttribute()]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(objectTypeBase))]
+ [return: System.ServiceModel.MessageParameterAttribute(Name="objectId")]
+ string createFolder(string typeId, folderObjectType propertyCollection, string folderId);
+
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="InvalidArgumentException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="RuntimeException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="ObjectNotFoundException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="PermissionDeniedException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="OperationNotSupportedException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="ConcurrencyException")]
+ [System.ServiceModel.XmlSerializerFormatAttribute()]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(objectTypeBase))]
+ void updateProperties(string objectId, string changeToken, documentFolderOrRelationshipObjectType @object);
+
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="StorageException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="InvalidArgumentException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="ConstraintViolationException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="RuntimeException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="StreamNotSupportedException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="PermissionDeniedException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="OperationNotSupportedException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="TypeNotFoundException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="ConcurrencyException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="FolderNotValidException")]
+ [System.ServiceModel.XmlSerializerFormatAttribute()]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(objectTypeBase))]
+ [return: System.ServiceModel.MessageParameterAttribute(Name="objectId")]
+ string createDocument(string typeId, documentObjectType propertyCollection, string folderId, contentStream contentStream, versioningStateEnum versioningState);
+
+ // CODEGEN: Parameter 'stream' requires additional schema information that cannot be captured using the parameter mode. The specific attribute is 'System.Xml.Serialization.XmlElementAttribute'.
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="StorageException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="InvalidArgumentException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="RuntimeException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="StreamNotSupportedException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="ObjectNotFoundException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="PermissionDeniedException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="OperationNotSupportedException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="OffsetException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="ConcurrencyException")]
+ [System.ServiceModel.XmlSerializerFormatAttribute()]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(objectTypeBase))]
+ [return: System.ServiceModel.MessageParameterAttribute(Name="stream")]
+ getContentStreamResponse getContentStream(getContentStream request);
+
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="InvalidArgumentException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="ConstraintViolationException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="RuntimeException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="ObjectNotFoundException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="PermissionDeniedException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="OperationNotSupportedException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="TypeNotFoundException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="ConcurrencyException")]
+ [System.ServiceModel.XmlSerializerFormatAttribute()]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(objectTypeBase))]
+ [return: System.ServiceModel.MessageParameterAttribute(Name="objectId")]
+ string createRelationship(string typeId, relationshipObjectType propertyCollection, string sourceObjectId, string targetObjectId);
+
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="StorageException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="InvalidArgumentException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="ConstraintViolationException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="RuntimeException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="StreamNotSupportedException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="ObjectNotFoundException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="AlreadyExistsException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="PermissionDeniedException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="OperationNotSupportedException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="ConcurrencyException")]
+ [System.ServiceModel.XmlSerializerFormatAttribute()]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(objectTypeBase))]
+ void setContentStream(string documentId, bool overwriteFlag, contentStream contentStream);
+
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="InvalidArgumentException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="ConstraintViolationException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="RuntimeException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="ObjectNotFoundException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="PermissionDeniedException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="OperationNotSupportedException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="ConcurrencyException")]
+ [System.ServiceModel.XmlSerializerFormatAttribute()]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(objectTypeBase))]
+ void deleteObject(string objectId);
+
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="InvalidArgumentException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="FilterNotValidException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="RuntimeException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="ObjectNotFoundException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="PermissionDeniedException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="OperationNotSupportedException")]
+ [System.ServiceModel.FaultContractAttribute(typeof(object), Action="", Name="ConcurrencyException")]
+ [System.ServiceModel.XmlSerializerFormatAttribute()]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(objectTypeBase))]
+ [return: System.ServiceModel.MessageParameterAttribute(Name="object")]
+ documentFolderOrRelationshipObjectType getProperties(string objectId, versionEnum returnVersion, string filter);
+}
+
+///
+[System.CodeDom.Compiler.GeneratedCodeAttribute("svcutil", "3.0.4506.648")]
+[System.SerializableAttribute()]
+[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.cmis.org/ns/1.0")]
+public enum deleteWithMultiFilingEnum
+{
+
+ ///
+ unfile,
+
+ ///
+ deleteSingleFiledDocs,
+
+ ///
+ delete,
+}
+
+[System.Diagnostics.DebuggerStepThroughAttribute()]
+[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
+[System.ServiceModel.MessageContractAttribute(WrapperName="deleteTree", WrapperNamespace="http://www.cmis.org/ns/1.0", IsWrapped=true)]
+public partial class deleteTree
+{
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.cmis.org/ns/1.0", Order=0)]
+ public string folderId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.cmis.org/ns/1.0", Order=1)]
+ public deleteWithMultiFilingEnum unfileMultiFiledDocuments;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.cmis.org/ns/1.0", Order=2)]
+ public bool continueOnFailure;
+
+ public deleteTree()
+ {
+ }
+
+ public deleteTree(string folderId, deleteWithMultiFilingEnum unfileMultiFiledDocuments, bool continueOnFailure)
+ {
+ this.folderId = folderId;
+ this.unfileMultiFiledDocuments = unfileMultiFiledDocuments;
+ this.continueOnFailure = continueOnFailure;
+ }
+}
+
+[System.Diagnostics.DebuggerStepThroughAttribute()]
+[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
+[System.ServiceModel.MessageContractAttribute(WrapperName="deleteTreeResponse", WrapperNamespace="http://www.cmis.org/ns/1.0", IsWrapped=true)]
+public partial class deleteTreeResponse
+{
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.cmis.org/ns/1.0", Order=0)]
+ [System.Xml.Serialization.XmlArrayItemAttribute("objectId", IsNullable=false)]
+ public string[] failedToDelete;
+
+ public deleteTreeResponse()
+ {
+ }
+
+ public deleteTreeResponse(string[] failedToDelete)
+ {
+ this.failedToDelete = failedToDelete;
+ }
+}
+
+///
+[System.CodeDom.Compiler.GeneratedCodeAttribute("svcutil", "3.0.4506.648")]
+[System.SerializableAttribute()]
+[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.cmis.org/ns/1.0")]
+public enum allowableActionsEnum
+{
+
+ ///
+ viewContent,
+
+ ///
+ updateProperties,
+
+ ///
+ setContent,
+
+ ///
+ removeFromFolder,
+
+ ///
+ move,
+
+ ///
+ getRelationships,
+
+ ///
+ getProperties,
+
+ ///
+ getParents,
+
+ ///
+ getChilderen,
+
+ ///
+ getAllVersions,
+
+ ///
+ deleteVersion,
+
+ ///
+ deleteContent,
+
+ ///
+ delete,
+
+ ///
+ checkOut,
+
+ ///
+ checkIn,
+
+ ///
+ cancelCheckOut,
+
+ ///
+ addToFolder,
+}
+
+[System.Diagnostics.DebuggerStepThroughAttribute()]
+[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
+[System.ServiceModel.MessageContractAttribute(WrapperName="getAllowableActions", WrapperNamespace="http://www.cmis.org/ns/1.0", IsWrapped=true)]
+public partial class getAllowableActions
+{
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.cmis.org/ns/1.0", Order=0)]
+ public string objectId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.cmis.org/ns/1.0", Order=1)]
+ public string asUser;
+
+ public getAllowableActions()
+ {
+ }
+
+ public getAllowableActions(string objectId, string asUser)
+ {
+ this.objectId = objectId;
+ this.asUser = asUser;
+ }
+}
+
+[System.Diagnostics.DebuggerStepThroughAttribute()]
+[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
+[System.ServiceModel.MessageContractAttribute(WrapperName="getAllowableActionsResponse", WrapperNamespace="http://www.cmis.org/ns/1.0", IsWrapped=true)]
+public partial class getAllowableActionsResponse
+{
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.cmis.org/ns/1.0", Order=0)]
+ [System.Xml.Serialization.XmlArrayItemAttribute("action", IsNullable=false)]
+ public allowableActionsEnum[] allowableActionCollection;
+
+ public getAllowableActionsResponse()
+ {
+ }
+
+ public getAllowableActionsResponse(allowableActionsEnum[] allowableActionCollection)
+ {
+ this.allowableActionCollection = allowableActionCollection;
+ }
+}
+
+///
+[System.CodeDom.Compiler.GeneratedCodeAttribute("svcutil", "3.0.4506.648")]
+[System.SerializableAttribute()]
+[System.Diagnostics.DebuggerStepThroughAttribute()]
+[System.ComponentModel.DesignerCategoryAttribute("code")]
+[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.cmis.org/ns/1.0")]
+public partial class contentStream
+{
+
+ private string mimeTypeField;
+
+ private string nameField;
+
+ private string uriField;
+
+ private byte[] streamField;
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=0)]
+ public string mimeType
+ {
+ get
+ {
+ return this.mimeTypeField;
+ }
+ set
+ {
+ this.mimeTypeField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=1)]
+ public string name
+ {
+ get
+ {
+ return this.nameField;
+ }
+ set
+ {
+ this.nameField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=2)]
+ public string uri
+ {
+ get
+ {
+ return this.uriField;
+ }
+ set
+ {
+ this.uriField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary", Order=3)]
+ public byte[] stream
+ {
+ get
+ {
+ return this.streamField;
+ }
+ set
+ {
+ this.streamField = value;
+ }
+ }
+}
+
+///
+[System.CodeDom.Compiler.GeneratedCodeAttribute("svcutil", "3.0.4506.648")]
+[System.SerializableAttribute()]
+[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.cmis.org/ns/1.0")]
+public enum versioningStateEnum
+{
+
+ ///
+ checkedOut,
+
+ ///
+ checkedInMinor,
+
+ ///
+ checkedInMajor,
+}
+
+[System.Diagnostics.DebuggerStepThroughAttribute()]
+[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
+[System.ServiceModel.MessageContractAttribute(WrapperName="getContentStream", WrapperNamespace="http://www.cmis.org/ns/1.0", IsWrapped=true)]
+public partial class getContentStream
+{
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.cmis.org/ns/1.0", Order=0)]
+ public string documentId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.cmis.org/ns/1.0", Order=1)]
+ [System.Xml.Serialization.XmlElementAttribute(DataType="integer")]
+ public string offset;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.cmis.org/ns/1.0", Order=2)]
+ [System.Xml.Serialization.XmlElementAttribute(DataType="integer")]
+ public string length;
+
+ public getContentStream()
+ {
+ }
+
+ public getContentStream(string documentId, string offset, string length)
+ {
+ this.documentId = documentId;
+ this.offset = offset;
+ this.length = length;
+ }
+}
+
+[System.Diagnostics.DebuggerStepThroughAttribute()]
+[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
+[System.ServiceModel.MessageContractAttribute(WrapperName="getContentStreamResponse", WrapperNamespace="http://www.cmis.org/ns/1.0", IsWrapped=true)]
+public partial class getContentStreamResponse
+{
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.cmis.org/ns/1.0", Order=0)]
+ [System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")]
+ public byte[] stream;
+
+ public getContentStreamResponse()
+ {
+ }
+
+ public getContentStreamResponse(byte[] stream)
+ {
+ this.stream = stream;
+ }
+}
+
+///
+[System.CodeDom.Compiler.GeneratedCodeAttribute("svcutil", "3.0.4506.648")]
+[System.SerializableAttribute()]
+[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.cmis.org/ns/1.0")]
+public enum versionEnum
+{
+
+ ///
+ @this,
+
+ ///
+ latestMajor,
+
+ ///
+ latest,
+}
+
+[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
+public interface ObjectServicePortChannel : ObjectServicePort, System.ServiceModel.IClientChannel
+{
+}
+
+[System.Diagnostics.DebuggerStepThroughAttribute()]
+[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
+public partial class ObjectServicePortClient : System.ServiceModel.ClientBase, ObjectServicePort
+{
+
+ public ObjectServicePortClient()
+ {
+ }
+
+ public ObjectServicePortClient(string endpointConfigurationName) :
+ base(endpointConfigurationName)
+ {
+ }
+
+ public ObjectServicePortClient(string endpointConfigurationName, string remoteAddress) :
+ base(endpointConfigurationName, remoteAddress)
+ {
+ }
+
+ public ObjectServicePortClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) :
+ base(endpointConfigurationName, remoteAddress)
+ {
+ }
+
+ public ObjectServicePortClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) :
+ base(binding, remoteAddress)
+ {
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ deleteTreeResponse ObjectServicePort.deleteTree(deleteTree request)
+ {
+ return base.Channel.deleteTree(request);
+ }
+
+ public string[] deleteTree(string folderId, deleteWithMultiFilingEnum unfileMultiFiledDocuments, bool continueOnFailure)
+ {
+ deleteTree inValue = new deleteTree();
+ inValue.folderId = folderId;
+ inValue.unfileMultiFiledDocuments = unfileMultiFiledDocuments;
+ inValue.continueOnFailure = continueOnFailure;
+ deleteTreeResponse retVal = ((ObjectServicePort)(this)).deleteTree(inValue);
+ return retVal.failedToDelete;
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ getAllowableActionsResponse ObjectServicePort.getAllowableActions(getAllowableActions request)
+ {
+ return base.Channel.getAllowableActions(request);
+ }
+
+ public allowableActionsEnum[] getAllowableActions(string objectId, string asUser)
+ {
+ getAllowableActions inValue = new getAllowableActions();
+ inValue.objectId = objectId;
+ inValue.asUser = asUser;
+ getAllowableActionsResponse retVal = ((ObjectServicePort)(this)).getAllowableActions(inValue);
+ return retVal.allowableActionCollection;
+ }
+
+ public void moveObject(string objectId, string folderId, string sourceFolderId)
+ {
+ base.Channel.moveObject(objectId, folderId, sourceFolderId);
+ }
+
+ public void deleteContentStream(string documentId)
+ {
+ base.Channel.deleteContentStream(documentId);
+ }
+
+ public string createFolder(string typeId, folderObjectType propertyCollection, string folderId)
+ {
+ return base.Channel.createFolder(typeId, propertyCollection, folderId);
+ }
+
+ public void updateProperties(string objectId, string changeToken, documentFolderOrRelationshipObjectType @object)
+ {
+ base.Channel.updateProperties(objectId, changeToken, @object);
+ }
+
+ public string createDocument(string typeId, documentObjectType propertyCollection, string folderId, contentStream contentStream, versioningStateEnum versioningState)
+ {
+ return base.Channel.createDocument(typeId, propertyCollection, folderId, contentStream, versioningState);
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ getContentStreamResponse ObjectServicePort.getContentStream(getContentStream request)
+ {
+ return base.Channel.getContentStream(request);
+ }
+
+ public byte[] getContentStream(string documentId, string offset, string length)
+ {
+ getContentStream inValue = new getContentStream();
+ inValue.documentId = documentId;
+ inValue.offset = offset;
+ inValue.length = length;
+ getContentStreamResponse retVal = ((ObjectServicePort)(this)).getContentStream(inValue);
+ return retVal.stream;
+ }
+
+ public string createRelationship(string typeId, relationshipObjectType propertyCollection, string sourceObjectId, string targetObjectId)
+ {
+ return base.Channel.createRelationship(typeId, propertyCollection, sourceObjectId, targetObjectId);
+ }
+
+ public void setContentStream(string documentId, bool overwriteFlag, contentStream contentStream)
+ {
+ base.Channel.setContentStream(documentId, overwriteFlag, contentStream);
+ }
+
+ public void deleteObject(string objectId)
+ {
+ base.Channel.deleteObject(objectId);
+ }
+
+ public documentFolderOrRelationshipObjectType getProperties(string objectId, versionEnum returnVersion, string filter)
+ {
+ return base.Channel.getProperties(objectId, returnVersion, filter);
+ }
+}
+namespace www.cmis.org.ns._1._01
+{
+ using System.Runtime.Serialization;
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "3.0.0.0")]
+ [System.Runtime.Serialization.CollectionDataContractAttribute(Name="failedToDelete", Namespace="http://www.cmis.org/ns/1.0", ItemName="objectId")]
+ public class failedToDelete : System.Collections.Generic.List
+ {
+ }
+
+
+}
diff --git a/source/sample/WcfCmisTest/src/Program.cs b/source/sample/WcfCmisTest/src/Program.cs
new file mode 100755
index 0000000000..5effcd2f45
--- /dev/null
+++ b/source/sample/WcfCmisTest/src/Program.cs
@@ -0,0 +1,118 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Web.Services;
+using System.Web.Services.Protocols;
+using System.Net;
+using System.ServiceModel;
+using System.ServiceModel.Security;
+using System.ServiceModel.Security.Tokens;
+using System.Security.Cryptography.X509Certificates;
+using System.Net.Security;
+using System.ServiceModel.Channels;
+using www.cmis.org.ns._1._01;
+
+namespace CmisTest
+{
+ class Program
+ {
+
+ static void Main(string[] args)
+ {
+ ServicePointManager.ServerCertificateValidationCallback = delegate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
+ {
+ return true;
+ };
+
+ RepositoryServicePortClient repositoryService = new RepositoryServicePortClient();
+ repositoryService.ClientCredentials.UserName.UserName = "admin";
+ repositoryService.ClientCredentials.UserName.Password = "admin";
+
+ NavigationServicePortClient navigationService = new NavigationServicePortClient();
+ navigationService.ClientCredentials.UserName.UserName = "admin";
+ navigationService.ClientCredentials.UserName.Password = "admin";
+
+ ObjectServicePortClient objectService = new ObjectServicePortClient();
+ objectService.ClientCredentials.UserName.UserName = "admin";
+ objectService.ClientCredentials.UserName.Password = "admin";
+
+ folderObjectType rootFolder = repositoryService.getRootFolder("*");
+ Console.WriteLine("Root folder OID = {0}\n", rootFolder.objectID);
+
+ try
+ {
+ repositoryService.getRootFolder("a");
+ }
+ catch (FaultException e)
+ {
+ Console.WriteLine(e.Message);
+ }
+
+
+ try
+ {
+ objectService.getProperties(rootFolder + "1", versionEnum.@this, "*");
+ }
+ catch (FaultException e)
+ {
+ Console.WriteLine(e.Message);
+ }
+
+ bool hasMoreItems;
+ documentOrFolderObjectType[] rootFolderListing = navigationService.getChildren(rootFolder.objectID, typesOfObjectsEnum.FoldersAndDocumets, "*", null, null,
+ out hasMoreItems);
+
+ string guestFolderOID = null;
+
+ Console.WriteLine("Root folder listing: ");
+ foreach (documentOrFolderObjectType docFolder in rootFolderListing)
+ {
+ if (docFolder.name == "Guest Home")
+ {
+ guestFolderOID = docFolder.objectID;
+ }
+
+ Console.WriteLine(docFolder.name);
+ }
+
+ if (guestFolderOID != null)
+ {
+ Console.Write("\nGet children for bad OID, error : ");
+ try
+ {
+ navigationService.getChildren(guestFolderOID + 1, typesOfObjectsEnum.FoldersAndDocumets, "*", null, null,
+ out hasMoreItems);
+ }
+ catch (FaultException e)
+ {
+ Console.WriteLine(e.Message);
+ }
+
+ documentOrFolderObjectType[] guestFolderListing =
+ navigationService.getChildren(guestFolderOID, typesOfObjectsEnum.FoldersAndDocumets, "*", null, null,
+ out hasMoreItems);
+
+ string alfrescoTutOID = null;
+
+ Console.WriteLine("\nGuest folder listing: ");
+ foreach (documentOrFolderObjectType docFolder in guestFolderListing)
+ {
+ if (docFolder.name == "Alfresco-Tutorial.pdf")
+ {
+ alfrescoTutOID = docFolder.objectID;
+ }
+
+ Console.WriteLine(docFolder.name);
+ }
+
+ if (alfrescoTutOID != null)
+ {
+ byte[] bytes = objectService.getContentStream(alfrescoTutOID, null, "100");
+ Console.WriteLine("\nAlfresco-Tutorial.pdf retrieved");
+ }
+ }
+
+ }
+ }
+}
diff --git a/source/sample/WcfCmisTest/src/Properties/AssemblyInfo.cs b/source/sample/WcfCmisTest/src/Properties/AssemblyInfo.cs
new file mode 100755
index 0000000000..1bdce80863
--- /dev/null
+++ b/source/sample/WcfCmisTest/src/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("CmisTest")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("UTL")]
+[assembly: AssemblyProduct("CmisTest")]
+[assembly: AssemblyCopyright("Copyright © UTL 2008")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("43cb4231-e775-417e-bc2c-4fd2d6ed15ea")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/source/sample/WcfCmisTest/src/RepositoryService.cs b/source/sample/WcfCmisTest/src/RepositoryService.cs
new file mode 100755
index 0000000000..dbc4128537
--- /dev/null
+++ b/source/sample/WcfCmisTest/src/RepositoryService.cs
@@ -0,0 +1,1996 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:2.0.50727.1433
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+[assembly: System.Runtime.Serialization.ContractNamespaceAttribute("http://www.cmis.org/ns/1.0", ClrNamespace="www.cmis.org.ns._1._01")]
+
+
+
+[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
+[System.ServiceModel.ServiceContractAttribute(Namespace="http://www.cmis.org/ns/1.0", ConfigurationName="RepositoryServicePort")]
+public interface RepositoryServicePort
+{
+
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(www.cmis.org.ns._1._01.basicFault), Action="", Name="InvalidArgumentFault")]
+ [System.ServiceModel.FaultContractAttribute(typeof(www.cmis.org.ns._1._01.basicFault), Action="", Name="PermissionDeniedFault")]
+ [System.ServiceModel.FaultContractAttribute(typeof(www.cmis.org.ns._1._01.basicFault), Action="", Name="OperationNotSupportedFault")]
+ [System.ServiceModel.FaultContractAttribute(typeof(www.cmis.org.ns._1._01.basicFault), Action="", Name="ConcurrencyFault")]
+ [System.ServiceModel.FaultContractAttribute(typeof(www.cmis.org.ns._1._01.basicFault), Action="", Name="RuntimeFault")]
+ [System.ServiceModel.XmlSerializerFormatAttribute()]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(objectTypeBase))]
+ [return: System.ServiceModel.MessageParameterAttribute(Name="repositoryInfo")]
+ repositoryInfoType getRepositoryInfo();
+
+ // CODEGEN: Parameter 'types' requires additional schema information that cannot be captured using the parameter mode. The specific attribute is 'System.Xml.Serialization.XmlArrayItemAttribute'.
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(www.cmis.org.ns._1._01.basicFault), Action="", Name="InvalidArgumentFault")]
+ [System.ServiceModel.FaultContractAttribute(typeof(www.cmis.org.ns._1._01.basicFault), Action="", Name="PermissionDeniedFault")]
+ [System.ServiceModel.FaultContractAttribute(typeof(www.cmis.org.ns._1._01.basicFault), Action="", Name="OperationNotSupportedFault")]
+ [System.ServiceModel.FaultContractAttribute(typeof(www.cmis.org.ns._1._01.basicFault), Action="", Name="ConcurrencyFault")]
+ [System.ServiceModel.FaultContractAttribute(typeof(www.cmis.org.ns._1._01.basicFault), Action="", Name="RuntimeFault")]
+ [System.ServiceModel.XmlSerializerFormatAttribute()]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(objectTypeBase))]
+ [return: System.ServiceModel.MessageParameterAttribute(Name="types")]
+ getTypesResponse getTypes(getTypesRequest request);
+
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(www.cmis.org.ns._1._01.basicFault), Action="", Name="InvalidArgumentFault")]
+ [System.ServiceModel.FaultContractAttribute(typeof(www.cmis.org.ns._1._01.basicFault), Action="", Name="PermissionDeniedFault")]
+ [System.ServiceModel.FaultContractAttribute(typeof(www.cmis.org.ns._1._01.basicFault), Action="", Name="OperationNotSupportedFault")]
+ [System.ServiceModel.FaultContractAttribute(typeof(www.cmis.org.ns._1._01.basicFault), Action="", Name="ConcurrencyFault")]
+ [System.ServiceModel.FaultContractAttribute(typeof(www.cmis.org.ns._1._01.basicFault), Action="", Name="RuntimeFault")]
+ [System.ServiceModel.FaultContractAttribute(typeof(www.cmis.org.ns._1._01.basicFault), Action="", Name="TypeNotFoundFault")]
+ [System.ServiceModel.XmlSerializerFormatAttribute()]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(objectTypeBase))]
+ [return: System.ServiceModel.MessageParameterAttribute(Name="type")]
+ objectTypeDefinitionType getTypeDefinition(out bool canCreateInstances, string typeId, bool includeInheritedProperties);
+
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(www.cmis.org.ns._1._01.basicFault), Action="", Name="InvalidArgumentFault")]
+ [System.ServiceModel.FaultContractAttribute(typeof(www.cmis.org.ns._1._01.basicFault), Action="", Name="PermissionDeniedFault")]
+ [System.ServiceModel.FaultContractAttribute(typeof(www.cmis.org.ns._1._01.basicFault), Action="", Name="OperationNotSupportedFault")]
+ [System.ServiceModel.FaultContractAttribute(typeof(www.cmis.org.ns._1._01.basicFault), Action="", Name="ConcurrencyFault")]
+ [System.ServiceModel.FaultContractAttribute(typeof(www.cmis.org.ns._1._01.basicFault), Action="", Name="RuntimeFault")]
+ [System.ServiceModel.FaultContractAttribute(typeof(www.cmis.org.ns._1._01.basicFault), Action="", Name="FilterNotValidFault")]
+ [System.ServiceModel.XmlSerializerFormatAttribute()]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(objectTypeBase))]
+ [return: System.ServiceModel.MessageParameterAttribute(Name="rootFolder")]
+ folderObjectType getRootFolder(string filter);
+}
+
+///
+[System.CodeDom.Compiler.GeneratedCodeAttribute("svcutil", "3.0.4506.648")]
+[System.SerializableAttribute()]
+[System.Diagnostics.DebuggerStepThroughAttribute()]
+[System.ComponentModel.DesignerCategoryAttribute("code")]
+[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.cmis.org/ns/1.0")]
+public partial class repositoryInfoType
+{
+
+ private string repositoryIdField;
+
+ private string repositoryNameField;
+
+ private string repositoryDescriptionField;
+
+ private string rootFolderIdField;
+
+ private string vendorNameField;
+
+ private string productNameField;
+
+ private string productVersionField;
+
+ private string repositorySpecificInformationField;
+
+ private capabilitiesType capabilitiesField;
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=0)]
+ public string repositoryId
+ {
+ get
+ {
+ return this.repositoryIdField;
+ }
+ set
+ {
+ this.repositoryIdField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=1)]
+ public string repositoryName
+ {
+ get
+ {
+ return this.repositoryNameField;
+ }
+ set
+ {
+ this.repositoryNameField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=2)]
+ public string repositoryDescription
+ {
+ get
+ {
+ return this.repositoryDescriptionField;
+ }
+ set
+ {
+ this.repositoryDescriptionField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=3)]
+ public string rootFolderId
+ {
+ get
+ {
+ return this.rootFolderIdField;
+ }
+ set
+ {
+ this.rootFolderIdField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=4)]
+ public string vendorName
+ {
+ get
+ {
+ return this.vendorNameField;
+ }
+ set
+ {
+ this.vendorNameField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=5)]
+ public string productName
+ {
+ get
+ {
+ return this.productNameField;
+ }
+ set
+ {
+ this.productNameField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=6)]
+ public string productVersion
+ {
+ get
+ {
+ return this.productVersionField;
+ }
+ set
+ {
+ this.productVersionField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=7)]
+ public string repositorySpecificInformation
+ {
+ get
+ {
+ return this.repositorySpecificInformationField;
+ }
+ set
+ {
+ this.repositorySpecificInformationField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=8)]
+ public capabilitiesType capabilities
+ {
+ get
+ {
+ return this.capabilitiesField;
+ }
+ set
+ {
+ this.capabilitiesField = value;
+ }
+ }
+}
+
+///
+[System.CodeDom.Compiler.GeneratedCodeAttribute("svcutil", "3.0.4506.648")]
+[System.SerializableAttribute()]
+[System.Diagnostics.DebuggerStepThroughAttribute()]
+[System.ComponentModel.DesignerCategoryAttribute("code")]
+[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.cmis.org/ns/1.0")]
+public partial class capabilitiesType
+{
+
+ private bool capabilityMultifilingField;
+
+ private bool capabilityUpdatePWCField;
+
+ private bool capabilityAllVersionsSearchableField;
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=0)]
+ public bool capabilityMultifiling
+ {
+ get
+ {
+ return this.capabilityMultifilingField;
+ }
+ set
+ {
+ this.capabilityMultifilingField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=1)]
+ public bool capabilityUpdatePWC
+ {
+ get
+ {
+ return this.capabilityUpdatePWCField;
+ }
+ set
+ {
+ this.capabilityUpdatePWCField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=2)]
+ public bool capabilityAllVersionsSearchable
+ {
+ get
+ {
+ return this.capabilityAllVersionsSearchableField;
+ }
+ set
+ {
+ this.capabilityAllVersionsSearchableField = value;
+ }
+ }
+}
+
+///
+[System.Xml.Serialization.XmlIncludeAttribute(typeof(relationshipObjectType))]
+[System.Xml.Serialization.XmlIncludeAttribute(typeof(folderObjectType))]
+[System.Xml.Serialization.XmlIncludeAttribute(typeof(documentObjectType))]
+[System.Xml.Serialization.XmlIncludeAttribute(typeof(documentOrFolderObjectType))]
+[System.Xml.Serialization.XmlIncludeAttribute(typeof(documentFolderOrRelationshipObjectType))]
+[System.CodeDom.Compiler.GeneratedCodeAttribute("svcutil", "3.0.4506.648")]
+[System.SerializableAttribute()]
+[System.Diagnostics.DebuggerStepThroughAttribute()]
+[System.ComponentModel.DesignerCategoryAttribute("code")]
+[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.cmis.org/ns/1.0")]
+public abstract partial class objectTypeBase
+{
+
+ private string objectIDField;
+
+ private string uriField;
+
+ private string objectTypeIDField;
+
+ private string baseObjectTypeField;
+
+ private string createdByField;
+
+ private System.DateTime creationDateField;
+
+ private bool creationDateFieldSpecified;
+
+ private string lastModifiedByField;
+
+ private System.DateTime lastModificationDateField;
+
+ private bool lastModificationDateFieldSpecified;
+
+ private string changeTokenField;
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=0)]
+ public string objectID
+ {
+ get
+ {
+ return this.objectIDField;
+ }
+ set
+ {
+ this.objectIDField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(DataType="anyURI", Order=1)]
+ public string uri
+ {
+ get
+ {
+ return this.uriField;
+ }
+ set
+ {
+ this.uriField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=2)]
+ public string objectTypeID
+ {
+ get
+ {
+ return this.objectTypeIDField;
+ }
+ set
+ {
+ this.objectTypeIDField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=3)]
+ public string baseObjectType
+ {
+ get
+ {
+ return this.baseObjectTypeField;
+ }
+ set
+ {
+ this.baseObjectTypeField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=4)]
+ public string createdBy
+ {
+ get
+ {
+ return this.createdByField;
+ }
+ set
+ {
+ this.createdByField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=5)]
+ public System.DateTime creationDate
+ {
+ get
+ {
+ return this.creationDateField;
+ }
+ set
+ {
+ this.creationDateField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool creationDateSpecified
+ {
+ get
+ {
+ return this.creationDateFieldSpecified;
+ }
+ set
+ {
+ this.creationDateFieldSpecified = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=6)]
+ public string lastModifiedBy
+ {
+ get
+ {
+ return this.lastModifiedByField;
+ }
+ set
+ {
+ this.lastModifiedByField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=7)]
+ public System.DateTime lastModificationDate
+ {
+ get
+ {
+ return this.lastModificationDateField;
+ }
+ set
+ {
+ this.lastModificationDateField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool lastModificationDateSpecified
+ {
+ get
+ {
+ return this.lastModificationDateFieldSpecified;
+ }
+ set
+ {
+ this.lastModificationDateFieldSpecified = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=8)]
+ public string changeToken
+ {
+ get
+ {
+ return this.changeTokenField;
+ }
+ set
+ {
+ this.changeTokenField = value;
+ }
+ }
+}
+
+///
+[System.CodeDom.Compiler.GeneratedCodeAttribute("svcutil", "3.0.4506.648")]
+[System.SerializableAttribute()]
+[System.Diagnostics.DebuggerStepThroughAttribute()]
+[System.ComponentModel.DesignerCategoryAttribute("code")]
+[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.cmis.org/ns/1.0")]
+public partial class relationshipObjectType : objectTypeBase
+{
+
+ private string sourceOIDField;
+
+ private string targetOIDField;
+
+ private property[] propertyField;
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=0)]
+ public string sourceOID
+ {
+ get
+ {
+ return this.sourceOIDField;
+ }
+ set
+ {
+ this.sourceOIDField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=1)]
+ public string targetOID
+ {
+ get
+ {
+ return this.targetOIDField;
+ }
+ set
+ {
+ this.targetOIDField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute("property", Order=2)]
+ public property[] property
+ {
+ get
+ {
+ return this.propertyField;
+ }
+ set
+ {
+ this.propertyField = value;
+ }
+ }
+}
+
+///
+[System.CodeDom.Compiler.GeneratedCodeAttribute("svcutil", "3.0.4506.648")]
+[System.SerializableAttribute()]
+[System.Diagnostics.DebuggerStepThroughAttribute()]
+[System.ComponentModel.DesignerCategoryAttribute("code")]
+[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://www.cmis.org/ns/1.0")]
+public partial class property
+{
+
+ private string nameField;
+
+ private string indexField;
+
+ private string[] textField;
+
+ ///
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string name
+ {
+ get
+ {
+ return this.nameField;
+ }
+ set
+ {
+ this.nameField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string index
+ {
+ get
+ {
+ return this.indexField;
+ }
+ set
+ {
+ this.indexField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlTextAttribute()]
+ public string[] Text
+ {
+ get
+ {
+ return this.textField;
+ }
+ set
+ {
+ this.textField = value;
+ }
+ }
+}
+
+///
+[System.CodeDom.Compiler.GeneratedCodeAttribute("svcutil", "3.0.4506.648")]
+[System.SerializableAttribute()]
+[System.Diagnostics.DebuggerStepThroughAttribute()]
+[System.ComponentModel.DesignerCategoryAttribute("code")]
+[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.cmis.org/ns/1.0")]
+public partial class folderObjectType : objectTypeBase
+{
+
+ private string nameField;
+
+ private string parentField;
+
+ private documentOrFolderObjectType[] childrenField;
+
+ private property[] propertyField;
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=0)]
+ public string name
+ {
+ get
+ {
+ return this.nameField;
+ }
+ set
+ {
+ this.nameField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=1)]
+ public string parent
+ {
+ get
+ {
+ return this.parentField;
+ }
+ set
+ {
+ this.parentField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlArrayAttribute(Order=2)]
+ [System.Xml.Serialization.XmlArrayItemAttribute("object", IsNullable=false)]
+ public documentOrFolderObjectType[] children
+ {
+ get
+ {
+ return this.childrenField;
+ }
+ set
+ {
+ this.childrenField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute("property", Order=3)]
+ public property[] property
+ {
+ get
+ {
+ return this.propertyField;
+ }
+ set
+ {
+ this.propertyField = value;
+ }
+ }
+}
+
+///
+[System.Xml.Serialization.XmlIncludeAttribute(typeof(documentFolderOrRelationshipObjectType))]
+[System.CodeDom.Compiler.GeneratedCodeAttribute("svcutil", "3.0.4506.648")]
+[System.SerializableAttribute()]
+[System.Diagnostics.DebuggerStepThroughAttribute()]
+[System.ComponentModel.DesignerCategoryAttribute("code")]
+[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.cmis.org/ns/1.0")]
+public partial class documentOrFolderObjectType : documentObjectType
+{
+
+ private string parentField;
+
+ private documentOrFolderObjectType[] childrenField;
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=0)]
+ public string parent
+ {
+ get
+ {
+ return this.parentField;
+ }
+ set
+ {
+ this.parentField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlArrayAttribute(Order=1)]
+ [System.Xml.Serialization.XmlArrayItemAttribute("object", IsNullable=false)]
+ public documentOrFolderObjectType[] children
+ {
+ get
+ {
+ return this.childrenField;
+ }
+ set
+ {
+ this.childrenField = value;
+ }
+ }
+}
+
+///
+[System.Xml.Serialization.XmlIncludeAttribute(typeof(documentOrFolderObjectType))]
+[System.Xml.Serialization.XmlIncludeAttribute(typeof(documentFolderOrRelationshipObjectType))]
+[System.CodeDom.Compiler.GeneratedCodeAttribute("svcutil", "3.0.4506.648")]
+[System.SerializableAttribute()]
+[System.Diagnostics.DebuggerStepThroughAttribute()]
+[System.ComponentModel.DesignerCategoryAttribute("code")]
+[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.cmis.org/ns/1.0")]
+public partial class documentObjectType : objectTypeBase
+{
+
+ private string nameField;
+
+ private bool isImmutableField;
+
+ private bool isImmutableFieldSpecified;
+
+ private bool isLatestVersionField;
+
+ private bool isLatestVersionFieldSpecified;
+
+ private bool isMajorVersionField;
+
+ private bool isMajorVersionFieldSpecified;
+
+ private bool isLatestMajorVersionField;
+
+ private bool isLatestMajorVersionFieldSpecified;
+
+ private bool versionSeriesIsCheckedOutField;
+
+ private bool versionSeriesIsCheckedOutFieldSpecified;
+
+ private string versionSeriesCheckedOutByField;
+
+ private string versionSeriesCheckedOutOIDField;
+
+ private string checkinCommentField;
+
+ private string contentStreamLengthField;
+
+ private string contentStreamMimeTypeField;
+
+ private string contentStreamFilenameField;
+
+ private string contentStreamURIField;
+
+ private property[] propertyField;
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=0)]
+ public string name
+ {
+ get
+ {
+ return this.nameField;
+ }
+ set
+ {
+ this.nameField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=1)]
+ public bool isImmutable
+ {
+ get
+ {
+ return this.isImmutableField;
+ }
+ set
+ {
+ this.isImmutableField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool isImmutableSpecified
+ {
+ get
+ {
+ return this.isImmutableFieldSpecified;
+ }
+ set
+ {
+ this.isImmutableFieldSpecified = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=2)]
+ public bool isLatestVersion
+ {
+ get
+ {
+ return this.isLatestVersionField;
+ }
+ set
+ {
+ this.isLatestVersionField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool isLatestVersionSpecified
+ {
+ get
+ {
+ return this.isLatestVersionFieldSpecified;
+ }
+ set
+ {
+ this.isLatestVersionFieldSpecified = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=3)]
+ public bool isMajorVersion
+ {
+ get
+ {
+ return this.isMajorVersionField;
+ }
+ set
+ {
+ this.isMajorVersionField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool isMajorVersionSpecified
+ {
+ get
+ {
+ return this.isMajorVersionFieldSpecified;
+ }
+ set
+ {
+ this.isMajorVersionFieldSpecified = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=4)]
+ public bool isLatestMajorVersion
+ {
+ get
+ {
+ return this.isLatestMajorVersionField;
+ }
+ set
+ {
+ this.isLatestMajorVersionField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool isLatestMajorVersionSpecified
+ {
+ get
+ {
+ return this.isLatestMajorVersionFieldSpecified;
+ }
+ set
+ {
+ this.isLatestMajorVersionFieldSpecified = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=5)]
+ public bool versionSeriesIsCheckedOut
+ {
+ get
+ {
+ return this.versionSeriesIsCheckedOutField;
+ }
+ set
+ {
+ this.versionSeriesIsCheckedOutField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool versionSeriesIsCheckedOutSpecified
+ {
+ get
+ {
+ return this.versionSeriesIsCheckedOutFieldSpecified;
+ }
+ set
+ {
+ this.versionSeriesIsCheckedOutFieldSpecified = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=6)]
+ public string versionSeriesCheckedOutBy
+ {
+ get
+ {
+ return this.versionSeriesCheckedOutByField;
+ }
+ set
+ {
+ this.versionSeriesCheckedOutByField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=7)]
+ public string versionSeriesCheckedOutOID
+ {
+ get
+ {
+ return this.versionSeriesCheckedOutOIDField;
+ }
+ set
+ {
+ this.versionSeriesCheckedOutOIDField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=8)]
+ public string checkinComment
+ {
+ get
+ {
+ return this.checkinCommentField;
+ }
+ set
+ {
+ this.checkinCommentField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(DataType="integer", Order=9)]
+ public string contentStreamLength
+ {
+ get
+ {
+ return this.contentStreamLengthField;
+ }
+ set
+ {
+ this.contentStreamLengthField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=10)]
+ public string contentStreamMimeType
+ {
+ get
+ {
+ return this.contentStreamMimeTypeField;
+ }
+ set
+ {
+ this.contentStreamMimeTypeField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=11)]
+ public string contentStreamFilename
+ {
+ get
+ {
+ return this.contentStreamFilenameField;
+ }
+ set
+ {
+ this.contentStreamFilenameField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(DataType="anyURI", Order=12)]
+ public string contentStreamURI
+ {
+ get
+ {
+ return this.contentStreamURIField;
+ }
+ set
+ {
+ this.contentStreamURIField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute("property", Order=13)]
+ public property[] property
+ {
+ get
+ {
+ return this.propertyField;
+ }
+ set
+ {
+ this.propertyField = value;
+ }
+ }
+}
+
+///
+[System.CodeDom.Compiler.GeneratedCodeAttribute("svcutil", "3.0.4506.648")]
+[System.SerializableAttribute()]
+[System.Diagnostics.DebuggerStepThroughAttribute()]
+[System.ComponentModel.DesignerCategoryAttribute("code")]
+[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.cmis.org/ns/1.0")]
+public partial class documentFolderOrRelationshipObjectType : documentOrFolderObjectType
+{
+
+ private string sourceOIDField;
+
+ private string targetOIDField;
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=0)]
+ public string sourceOID
+ {
+ get
+ {
+ return this.sourceOIDField;
+ }
+ set
+ {
+ this.sourceOIDField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=1)]
+ public string targetOID
+ {
+ get
+ {
+ return this.targetOIDField;
+ }
+ set
+ {
+ this.targetOIDField = value;
+ }
+ }
+}
+
+///
+[System.CodeDom.Compiler.GeneratedCodeAttribute("svcutil", "3.0.4506.648")]
+[System.SerializableAttribute()]
+[System.Diagnostics.DebuggerStepThroughAttribute()]
+[System.ComponentModel.DesignerCategoryAttribute("code")]
+[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.cmis.org/ns/1.0")]
+public partial class choiceType
+{
+
+ private string indexField;
+
+ private string keyField;
+
+ private string valueField;
+
+ ///
+ [System.Xml.Serialization.XmlAttributeAttribute(DataType="integer")]
+ public string index
+ {
+ get
+ {
+ return this.indexField;
+ }
+ set
+ {
+ this.indexField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string key
+ {
+ get
+ {
+ return this.keyField;
+ }
+ set
+ {
+ this.keyField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlTextAttribute()]
+ public string Value
+ {
+ get
+ {
+ return this.valueField;
+ }
+ set
+ {
+ this.valueField = value;
+ }
+ }
+}
+
+///
+[System.CodeDom.Compiler.GeneratedCodeAttribute("svcutil", "3.0.4506.648")]
+[System.SerializableAttribute()]
+[System.Diagnostics.DebuggerStepThroughAttribute()]
+[System.ComponentModel.DesignerCategoryAttribute("code")]
+[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.cmis.org/ns/1.0")]
+public partial class propertyAttributesType
+{
+
+ private string propertyNameField;
+
+ private string displayNameField;
+
+ private string descriptionField;
+
+ private string propertyTypeField;
+
+ private cardinalityEnum cardinalityField;
+
+ private string maximumLengthField;
+
+ private choiceType[] choiceField;
+
+ private bool requiredField;
+
+ private string defaultValueField;
+
+ private updatabilityEnum updatabilityField;
+
+ private bool queryableField;
+
+ private bool orderableField;
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=0)]
+ public string propertyName
+ {
+ get
+ {
+ return this.propertyNameField;
+ }
+ set
+ {
+ this.propertyNameField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=1)]
+ public string displayName
+ {
+ get
+ {
+ return this.displayNameField;
+ }
+ set
+ {
+ this.displayNameField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=2)]
+ public string description
+ {
+ get
+ {
+ return this.descriptionField;
+ }
+ set
+ {
+ this.descriptionField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=3)]
+ public string propertyType
+ {
+ get
+ {
+ return this.propertyTypeField;
+ }
+ set
+ {
+ this.propertyTypeField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=4)]
+ public cardinalityEnum cardinality
+ {
+ get
+ {
+ return this.cardinalityField;
+ }
+ set
+ {
+ this.cardinalityField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(DataType="integer", Order=5)]
+ public string maximumLength
+ {
+ get
+ {
+ return this.maximumLengthField;
+ }
+ set
+ {
+ this.maximumLengthField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute("choice", Order=6)]
+ public choiceType[] choice
+ {
+ get
+ {
+ return this.choiceField;
+ }
+ set
+ {
+ this.choiceField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=7)]
+ public bool required
+ {
+ get
+ {
+ return this.requiredField;
+ }
+ set
+ {
+ this.requiredField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=8)]
+ public string defaultValue
+ {
+ get
+ {
+ return this.defaultValueField;
+ }
+ set
+ {
+ this.defaultValueField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=9)]
+ public updatabilityEnum updatability
+ {
+ get
+ {
+ return this.updatabilityField;
+ }
+ set
+ {
+ this.updatabilityField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=10)]
+ public bool queryable
+ {
+ get
+ {
+ return this.queryableField;
+ }
+ set
+ {
+ this.queryableField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=11)]
+ public bool orderable
+ {
+ get
+ {
+ return this.orderableField;
+ }
+ set
+ {
+ this.orderableField = value;
+ }
+ }
+}
+
+///
+[System.CodeDom.Compiler.GeneratedCodeAttribute("svcutil", "3.0.4506.648")]
+[System.SerializableAttribute()]
+[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.cmis.org/ns/1.0")]
+public enum cardinalityEnum
+{
+
+ ///
+ singleValued,
+
+ ///
+ multiValued,
+}
+
+///
+[System.CodeDom.Compiler.GeneratedCodeAttribute("svcutil", "3.0.4506.648")]
+[System.SerializableAttribute()]
+[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.cmis.org/ns/1.0")]
+public enum updatabilityEnum
+{
+
+ ///
+ readOnly,
+
+ ///
+ readWrite,
+
+ ///
+ readWriteWhenCheckedOut,
+}
+
+///
+[System.CodeDom.Compiler.GeneratedCodeAttribute("svcutil", "3.0.4506.648")]
+[System.SerializableAttribute()]
+[System.Diagnostics.DebuggerStepThroughAttribute()]
+[System.ComponentModel.DesignerCategoryAttribute("code")]
+[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.cmis.org/ns/1.0")]
+public partial class objectTypeDefinitionType
+{
+
+ private string objectTypeIDField;
+
+ private string objectTypeNameField;
+
+ private string displayNameField;
+
+ private string parentTypeNameField;
+
+ private string rootTypeNameField;
+
+ private string descriptionField;
+
+ private bool queryableField;
+
+ private bool queryableFieldSpecified;
+
+ private bool versionableField;
+
+ private bool versionableFieldSpecified;
+
+ private string[] constraintsField;
+
+ private propertyAttributesType[] propertyField;
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=0)]
+ public string objectTypeID
+ {
+ get
+ {
+ return this.objectTypeIDField;
+ }
+ set
+ {
+ this.objectTypeIDField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=1)]
+ public string objectTypeName
+ {
+ get
+ {
+ return this.objectTypeNameField;
+ }
+ set
+ {
+ this.objectTypeNameField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=2)]
+ public string displayName
+ {
+ get
+ {
+ return this.displayNameField;
+ }
+ set
+ {
+ this.displayNameField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=3)]
+ public string parentTypeName
+ {
+ get
+ {
+ return this.parentTypeNameField;
+ }
+ set
+ {
+ this.parentTypeNameField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=4)]
+ public string rootTypeName
+ {
+ get
+ {
+ return this.rootTypeNameField;
+ }
+ set
+ {
+ this.rootTypeNameField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=5)]
+ public string description
+ {
+ get
+ {
+ return this.descriptionField;
+ }
+ set
+ {
+ this.descriptionField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=6)]
+ public bool queryable
+ {
+ get
+ {
+ return this.queryableField;
+ }
+ set
+ {
+ this.queryableField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool queryableSpecified
+ {
+ get
+ {
+ return this.queryableFieldSpecified;
+ }
+ set
+ {
+ this.queryableFieldSpecified = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute(Order=7)]
+ public bool versionable
+ {
+ get
+ {
+ return this.versionableField;
+ }
+ set
+ {
+ this.versionableField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool versionableSpecified
+ {
+ get
+ {
+ return this.versionableFieldSpecified;
+ }
+ set
+ {
+ this.versionableFieldSpecified = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute("constraints", Order=8)]
+ public string[] constraints
+ {
+ get
+ {
+ return this.constraintsField;
+ }
+ set
+ {
+ this.constraintsField = value;
+ }
+ }
+
+ ///
+ [System.Xml.Serialization.XmlElementAttribute("property", Order=9)]
+ public propertyAttributesType[] property
+ {
+ get
+ {
+ return this.propertyField;
+ }
+ set
+ {
+ this.propertyField = value;
+ }
+ }
+}
+
+///
+[System.CodeDom.Compiler.GeneratedCodeAttribute("svcutil", "3.0.4506.648")]
+[System.SerializableAttribute()]
+[System.Xml.Serialization.XmlTypeAttribute(Namespace="http://www.cmis.org/ns/1.0")]
+public enum getTypesEnum
+{
+
+ ///
+ Document,
+
+ ///
+ Folder,
+
+ ///
+ Relationship,
+
+ ///
+ All,
+}
+
+[System.Diagnostics.DebuggerStepThroughAttribute()]
+[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
+[System.ServiceModel.MessageContractAttribute(WrapperName="getTypes", WrapperNamespace="http://www.cmis.org/ns/1.0", IsWrapped=true)]
+public partial class getTypesRequest
+{
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.cmis.org/ns/1.0", Order=0)]
+ public getTypesEnum type;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.cmis.org/ns/1.0", Order=1)]
+ public bool returnPropertyDefinitions;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.cmis.org/ns/1.0", Order=2)]
+ [System.Xml.Serialization.XmlElementAttribute(DataType="integer")]
+ public string maxItems;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.cmis.org/ns/1.0", Order=3)]
+ [System.Xml.Serialization.XmlElementAttribute(DataType="integer")]
+ public string skipCount;
+
+ public getTypesRequest()
+ {
+ }
+
+ public getTypesRequest(getTypesEnum type, bool returnPropertyDefinitions, string maxItems, string skipCount)
+ {
+ this.type = type;
+ this.returnPropertyDefinitions = returnPropertyDefinitions;
+ this.maxItems = maxItems;
+ this.skipCount = skipCount;
+ }
+}
+
+[System.Diagnostics.DebuggerStepThroughAttribute()]
+[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
+[System.ServiceModel.MessageContractAttribute(WrapperName="getTypesResponse", WrapperNamespace="http://www.cmis.org/ns/1.0", IsWrapped=true)]
+public partial class getTypesResponse
+{
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.cmis.org/ns/1.0", Order=0)]
+ [System.Xml.Serialization.XmlArrayItemAttribute("type", IsNullable=false)]
+ public objectTypeDefinitionType[] types;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://www.cmis.org/ns/1.0", Order=1)]
+ public bool hasMoreItems;
+
+ public getTypesResponse()
+ {
+ }
+
+ public getTypesResponse(objectTypeDefinitionType[] types, bool hasMoreItems)
+ {
+ this.types = types;
+ this.hasMoreItems = hasMoreItems;
+ }
+}
+
+[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
+public interface RepositoryServicePortChannel : RepositoryServicePort, System.ServiceModel.IClientChannel
+{
+}
+
+[System.Diagnostics.DebuggerStepThroughAttribute()]
+[System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "3.0.0.0")]
+public partial class RepositoryServicePortClient : System.ServiceModel.ClientBase, RepositoryServicePort
+{
+
+ public RepositoryServicePortClient()
+ {
+ }
+
+ public RepositoryServicePortClient(string endpointConfigurationName) :
+ base(endpointConfigurationName)
+ {
+ }
+
+ public RepositoryServicePortClient(string endpointConfigurationName, string remoteAddress) :
+ base(endpointConfigurationName, remoteAddress)
+ {
+ }
+
+ public RepositoryServicePortClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) :
+ base(endpointConfigurationName, remoteAddress)
+ {
+ }
+
+ public RepositoryServicePortClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) :
+ base(binding, remoteAddress)
+ {
+ }
+
+ public repositoryInfoType getRepositoryInfo()
+ {
+ return base.Channel.getRepositoryInfo();
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ getTypesResponse RepositoryServicePort.getTypes(getTypesRequest request)
+ {
+ return base.Channel.getTypes(request);
+ }
+
+ public objectTypeDefinitionType[] getTypes(getTypesEnum type, bool returnPropertyDefinitions, string maxItems, string skipCount, out bool hasMoreItems)
+ {
+ getTypesRequest inValue = new getTypesRequest();
+ inValue.type = type;
+ inValue.returnPropertyDefinitions = returnPropertyDefinitions;
+ inValue.maxItems = maxItems;
+ inValue.skipCount = skipCount;
+ getTypesResponse retVal = ((RepositoryServicePort)(this)).getTypes(inValue);
+ hasMoreItems = retVal.hasMoreItems;
+ return retVal.types;
+ }
+
+ public objectTypeDefinitionType getTypeDefinition(out bool canCreateInstances, string typeId, bool includeInheritedProperties)
+ {
+ return base.Channel.getTypeDefinition(out canCreateInstances, typeId, includeInheritedProperties);
+ }
+
+ public folderObjectType getRootFolder(string filter)
+ {
+ return base.Channel.getRootFolder(filter);
+ }
+}
+namespace www.cmis.org.ns._1._01
+{
+ using System.Runtime.Serialization;
+
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "3.0.0.0")]
+ [System.Runtime.Serialization.DataContractAttribute(Name="repositoryInfoType", Namespace="http://www.cmis.org/ns/1.0")]
+ public partial class repositoryInfoType : object, System.Runtime.Serialization.IExtensibleDataObject
+ {
+
+ private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+
+ private string repositoryIdField;
+
+ private string repositoryNameField;
+
+ private string repositoryDescriptionField;
+
+ private string rootFolderIdField;
+
+ private string vendorNameField;
+
+ private string productNameField;
+
+ private string productVersionField;
+
+ private string repositorySpecificInformationField;
+
+ private www.cmis.org.ns._1._01.capabilitiesType capabilitiesField;
+
+ public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+ {
+ get
+ {
+ return this.extensionDataField;
+ }
+ set
+ {
+ this.extensionDataField = value;
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true, EmitDefaultValue=false)]
+ public string repositoryId
+ {
+ get
+ {
+ return this.repositoryIdField;
+ }
+ set
+ {
+ this.repositoryIdField = value;
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true, EmitDefaultValue=false)]
+ public string repositoryName
+ {
+ get
+ {
+ return this.repositoryNameField;
+ }
+ set
+ {
+ this.repositoryNameField = value;
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true, EmitDefaultValue=false, Order=2)]
+ public string repositoryDescription
+ {
+ get
+ {
+ return this.repositoryDescriptionField;
+ }
+ set
+ {
+ this.repositoryDescriptionField = value;
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true, EmitDefaultValue=false, Order=3)]
+ public string rootFolderId
+ {
+ get
+ {
+ return this.rootFolderIdField;
+ }
+ set
+ {
+ this.rootFolderIdField = value;
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true, EmitDefaultValue=false, Order=4)]
+ public string vendorName
+ {
+ get
+ {
+ return this.vendorNameField;
+ }
+ set
+ {
+ this.vendorNameField = value;
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true, EmitDefaultValue=false, Order=5)]
+ public string productName
+ {
+ get
+ {
+ return this.productNameField;
+ }
+ set
+ {
+ this.productNameField = value;
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true, EmitDefaultValue=false, Order=6)]
+ public string productVersion
+ {
+ get
+ {
+ return this.productVersionField;
+ }
+ set
+ {
+ this.productVersionField = value;
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true, EmitDefaultValue=false, Order=7)]
+ public string repositorySpecificInformation
+ {
+ get
+ {
+ return this.repositorySpecificInformationField;
+ }
+ set
+ {
+ this.repositorySpecificInformationField = value;
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true, EmitDefaultValue=false, Order=8)]
+ public www.cmis.org.ns._1._01.capabilitiesType capabilities
+ {
+ get
+ {
+ return this.capabilitiesField;
+ }
+ set
+ {
+ this.capabilitiesField = value;
+ }
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "3.0.0.0")]
+ [System.Runtime.Serialization.DataContractAttribute(Name="capabilitiesType", Namespace="http://www.cmis.org/ns/1.0")]
+ public partial class capabilitiesType : object, System.Runtime.Serialization.IExtensibleDataObject
+ {
+
+ private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+
+ private bool capabilityMultifilingField;
+
+ private bool capabilityUpdatePWCField;
+
+ private bool capabilityAllVersionsSearchableField;
+
+ public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+ {
+ get
+ {
+ return this.extensionDataField;
+ }
+ set
+ {
+ this.extensionDataField = value;
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
+ public bool capabilityMultifiling
+ {
+ get
+ {
+ return this.capabilityMultifilingField;
+ }
+ set
+ {
+ this.capabilityMultifilingField = value;
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true)]
+ public bool capabilityUpdatePWC
+ {
+ get
+ {
+ return this.capabilityUpdatePWCField;
+ }
+ set
+ {
+ this.capabilityUpdatePWCField = value;
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute(IsRequired=true, Order=2)]
+ public bool capabilityAllVersionsSearchable
+ {
+ get
+ {
+ return this.capabilityAllVersionsSearchableField;
+ }
+ set
+ {
+ this.capabilityAllVersionsSearchableField = value;
+ }
+ }
+ }
+
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "3.0.0.0")]
+ [System.Runtime.Serialization.DataContractAttribute(Name="getTypesEnum", Namespace="http://www.cmis.org/ns/1.0")]
+ public enum getTypesEnum : int
+ {
+
+ [System.Runtime.Serialization.EnumMemberAttribute()]
+ Document = 0,
+
+ [System.Runtime.Serialization.EnumMemberAttribute()]
+ Folder = 1,
+
+ [System.Runtime.Serialization.EnumMemberAttribute()]
+ Relationship = 2,
+
+ [System.Runtime.Serialization.EnumMemberAttribute()]
+ All = 3,
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Runtime.Serialization", "3.0.0.0")]
+ [System.Runtime.Serialization.DataContractAttribute(Name="basicFault", Namespace="http://www.cmis.org/ns/1.0")]
+ public partial class basicFault : object, System.Runtime.Serialization.IExtensibleDataObject
+ {
+
+ private System.Runtime.Serialization.ExtensionDataObject extensionDataField;
+
+ private long errorCodeField;
+
+ private string errorMessageField;
+
+ public System.Runtime.Serialization.ExtensionDataObject ExtensionData
+ {
+ get
+ {
+ return this.extensionDataField;
+ }
+ set
+ {
+ this.extensionDataField = value;
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute()]
+ public long errorCode
+ {
+ get
+ {
+ return this.errorCodeField;
+ }
+ set
+ {
+ this.errorCodeField = value;
+ }
+ }
+
+ [System.Runtime.Serialization.DataMemberAttribute(EmitDefaultValue=false)]
+ public string errorMessage
+ {
+ get
+ {
+ return this.errorMessageField;
+ }
+ set
+ {
+ this.errorMessageField = value;
+ }
+ }
+ }
+}
diff --git a/source/sample/WcfCmisTest/src/app.config b/source/sample/WcfCmisTest/src/app.config
new file mode 100755
index 0000000000..37fb6a4f9b
--- /dev/null
+++ b/source/sample/WcfCmisTest/src/app.config
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/source/test/JavaCmisTest.zip b/source/test/JavaCmisTest.zip
deleted file mode 100644
index 3a2d1379b8..0000000000
Binary files a/source/test/JavaCmisTest.zip and /dev/null differ
diff --git a/source/test/WcfCmisTest.zip b/source/test/WcfCmisTest.zip
deleted file mode 100644
index 4b1be8cc10..0000000000
Binary files a/source/test/WcfCmisTest.zip and /dev/null differ