initial DotCMIS check in
git-svn-id: https://svn.apache.org/repos/asf/incubator/chemistry/dotcmis/trunk@1061233 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/DEPENDENCIES b/DEPENDENCIES
new file mode 100644
index 0000000..e25fc4e
--- /dev/null
+++ b/DEPENDENCIES
@@ -0,0 +1,3 @@
+DotCMIS requires .NET Framework 3.5 or higher.
+
+The DotCMIS unit tests require NUnit 2.5.
diff --git a/DotCMIS.sln b/DotCMIS.sln
new file mode 100644
index 0000000..1b740cb
--- /dev/null
+++ b/DotCMIS.sln
@@ -0,0 +1,45 @@
+
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotCMIS", "DotCMIS\DotCMIS.csproj", "{529EF90F-A34C-4426-A4F9-65113AC23841}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DotCMISUnitTest", "DotCMISUnitTest\DotCMISUnitTest.csproj", "{B4343D5F-BA78-4925-99C5-A0FFD80F862C}"
+EndProject
+Global
+ GlobalSection(TestCaseManagementSettings) = postSolution
+ CategoryFile = DotCMIS.vsmdi
+ EndGlobalSection
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Debug|Mixed Platforms = Debug|Mixed Platforms
+ Debug|x86 = Debug|x86
+ Release|Any CPU = Release|Any CPU
+ Release|Mixed Platforms = Release|Mixed Platforms
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {529EF90F-A34C-4426-A4F9-65113AC23841}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {529EF90F-A34C-4426-A4F9-65113AC23841}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {529EF90F-A34C-4426-A4F9-65113AC23841}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {529EF90F-A34C-4426-A4F9-65113AC23841}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+ {529EF90F-A34C-4426-A4F9-65113AC23841}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {529EF90F-A34C-4426-A4F9-65113AC23841}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {529EF90F-A34C-4426-A4F9-65113AC23841}.Release|Any CPU.Build.0 = Release|Any CPU
+ {529EF90F-A34C-4426-A4F9-65113AC23841}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {529EF90F-A34C-4426-A4F9-65113AC23841}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+ {529EF90F-A34C-4426-A4F9-65113AC23841}.Release|x86.ActiveCfg = Release|Any CPU
+ {B4343D5F-BA78-4925-99C5-A0FFD80F862C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {B4343D5F-BA78-4925-99C5-A0FFD80F862C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {B4343D5F-BA78-4925-99C5-A0FFD80F862C}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {B4343D5F-BA78-4925-99C5-A0FFD80F862C}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+ {B4343D5F-BA78-4925-99C5-A0FFD80F862C}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {B4343D5F-BA78-4925-99C5-A0FFD80F862C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {B4343D5F-BA78-4925-99C5-A0FFD80F862C}.Release|Any CPU.Build.0 = Release|Any CPU
+ {B4343D5F-BA78-4925-99C5-A0FFD80F862C}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {B4343D5F-BA78-4925-99C5-A0FFD80F862C}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+ {B4343D5F-BA78-4925-99C5-A0FFD80F862C}.Release|x86.ActiveCfg = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/DotCMIS.suo b/DotCMIS.suo
new file mode 100644
index 0000000..1fde0eb
--- /dev/null
+++ b/DotCMIS.suo
Binary files differ
diff --git a/DotCMIS/DotCMIS.csproj b/DotCMIS/DotCMIS.csproj
new file mode 100644
index 0000000..8c7534a
--- /dev/null
+++ b/DotCMIS/DotCMIS.csproj
@@ -0,0 +1,159 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProductVersion>8.0.30703</ProductVersion>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{529EF90F-A34C-4426-A4F9-65113AC23841}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>DotCMIS</RootNamespace>
+ <AssemblyName>DotCMIS</AssemblyName>
+ <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="System" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Runtime.Serialization" />
+ <Reference Include="System.ServiceModel" />
+ <Reference Include="System.Web" />
+ <Reference Include="System.Xml.Linq" />
+ <Reference Include="System.Data.DataSetExtensions" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="binding\atompub\atompub-parser.cs" />
+ <Compile Include="binding\atompub\atompub.cs" />
+ <Compile Include="binding\atompub\atompub-linkcache.cs" />
+ <Compile Include="binding\atompub\atompub-writer.cs" />
+ <Compile Include="binding\binding-caches.cs" />
+ <Compile Include="binding\binding-impl.cs" />
+ <Compile Include="binding\binding-intf.cs" />
+ <Compile Include="binding\http.cs" />
+ <Compile Include="binding\services.cs" />
+ <Compile Include="binding\converter.cs" />
+ <Compile Include="binding\webservices\webservices.cs" />
+ <Compile Include="client\client-intf.cs" />
+ <Compile Include="client\client-impl.cs" />
+ <Compile Include="const.cs" />
+ <Compile Include="data\data-impl.cs" />
+ <Compile Include="data\data-intf.cs" />
+ <Compile Include="enums.cs" />
+ <Compile Include="exceptions.cs" />
+ <Compile Include="data\extensions.cs" />
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ <Compile Include="Service References\CMISWebServicesReference\Reference.cs">
+ <AutoGen>True</AutoGen>
+ <DesignTime>True</DesignTime>
+ <DependentUpon>Reference.svcmap</DependentUpon>
+ </Compile>
+ </ItemGroup>
+ <ItemGroup />
+ <ItemGroup>
+ <WCFMetadata Include="Service References\" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="app.config" />
+ <None Include="Service References\CMISWebServicesReference\CMIS-Core.xsd">
+ <SubType>Designer</SubType>
+ </None>
+ <None Include="Service References\CMISWebServicesReference\CMIS-Messaging.xsd">
+ <SubType>Designer</SubType>
+ </None>
+ <None Include="Service References\CMISWebServicesReference\CMISWebServices.wsdl" />
+ <None Include="Service References\CMISWebServicesReference\DotCMIS.CMISWebServicesReference.cmisACLType.datasource">
+ <DependentUpon>Reference.svcmap</DependentUpon>
+ </None>
+ <None Include="Service References\CMISWebServicesReference\DotCMIS.CMISWebServicesReference.cmisAllowableActionsType.datasource">
+ <DependentUpon>Reference.svcmap</DependentUpon>
+ </None>
+ <None Include="Service References\CMISWebServicesReference\DotCMIS.CMISWebServicesReference.cmisContentStreamType.datasource">
+ <DependentUpon>Reference.svcmap</DependentUpon>
+ </None>
+ <None Include="Service References\CMISWebServicesReference\DotCMIS.CMISWebServicesReference.cmisExtensionType.datasource">
+ <DependentUpon>Reference.svcmap</DependentUpon>
+ </None>
+ <None Include="Service References\CMISWebServicesReference\DotCMIS.CMISWebServicesReference.cmisObjectInFolderContainerType.datasource">
+ <DependentUpon>Reference.svcmap</DependentUpon>
+ </None>
+ <None Include="Service References\CMISWebServicesReference\DotCMIS.CMISWebServicesReference.cmisObjectInFolderListType.datasource">
+ <DependentUpon>Reference.svcmap</DependentUpon>
+ </None>
+ <None Include="Service References\CMISWebServicesReference\DotCMIS.CMISWebServicesReference.cmisObjectListType.datasource">
+ <DependentUpon>Reference.svcmap</DependentUpon>
+ </None>
+ <None Include="Service References\CMISWebServicesReference\DotCMIS.CMISWebServicesReference.cmisObjectParentsType.datasource">
+ <DependentUpon>Reference.svcmap</DependentUpon>
+ </None>
+ <None Include="Service References\CMISWebServicesReference\DotCMIS.CMISWebServicesReference.cmisObjectType.datasource">
+ <DependentUpon>Reference.svcmap</DependentUpon>
+ </None>
+ <None Include="Service References\CMISWebServicesReference\DotCMIS.CMISWebServicesReference.cmisPropertiesType.datasource">
+ <DependentUpon>Reference.svcmap</DependentUpon>
+ </None>
+ <None Include="Service References\CMISWebServicesReference\DotCMIS.CMISWebServicesReference.cmisRenditionType.datasource">
+ <DependentUpon>Reference.svcmap</DependentUpon>
+ </None>
+ <None Include="Service References\CMISWebServicesReference\DotCMIS.CMISWebServicesReference.cmisRepositoryEntryType.datasource">
+ <DependentUpon>Reference.svcmap</DependentUpon>
+ </None>
+ <None Include="Service References\CMISWebServicesReference\DotCMIS.CMISWebServicesReference.cmisRepositoryInfoType.datasource">
+ <DependentUpon>Reference.svcmap</DependentUpon>
+ </None>
+ <None Include="Service References\CMISWebServicesReference\DotCMIS.CMISWebServicesReference.cmisTypeContainer.datasource">
+ <DependentUpon>Reference.svcmap</DependentUpon>
+ </None>
+ <None Include="Service References\CMISWebServicesReference\DotCMIS.CMISWebServicesReference.cmisTypeDefinitionListType.datasource">
+ <DependentUpon>Reference.svcmap</DependentUpon>
+ </None>
+ <None Include="Service References\CMISWebServicesReference\DotCMIS.CMISWebServicesReference.cmisTypeDefinitionType.datasource">
+ <DependentUpon>Reference.svcmap</DependentUpon>
+ </None>
+ <None Include="Service References\CMISWebServicesReference\DotCMIS.CMISWebServicesReference.deleteTreeResponseFailedToDelete.datasource">
+ <DependentUpon>Reference.svcmap</DependentUpon>
+ </None>
+ </ItemGroup>
+ <ItemGroup>
+ <WCFMetadataStorage Include="Service References\CMISWebServicesReference\" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="Service References\CMISWebServicesReference\configuration91.svcinfo" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="Service References\CMISWebServicesReference\configuration.svcinfo" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="Service References\CMISWebServicesReference\Reference.svcmap">
+ <Generator>WCF Proxy Generator</Generator>
+ <LastGenOutput>Reference.cs</LastGenOutput>
+ </None>
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+ <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
+ Other similar extension points exist, see Microsoft.Common.targets.
+ <Target Name="BeforeBuild">
+ </Target>
+ <Target Name="AfterBuild">
+ </Target>
+ -->
+</Project>
\ No newline at end of file
diff --git a/DotCMIS/Properties/AssemblyInfo.cs b/DotCMIS/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..736b520
--- /dev/null
+++ b/DotCMIS/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("DotCMIS")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Apache Software Foundation")]
+[assembly: AssemblyProduct("DotCMIS")]
+[assembly: AssemblyCopyright("")]
+[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("ac118463-00ec-4e63-8c93-b45760f9abcf")]
+
+// 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("0.1.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/DotCMIS/Service References/CMISWebServicesReference/CMIS-Core.xsd b/DotCMIS/Service References/CMISWebServicesReference/CMIS-Core.xsd
new file mode 100644
index 0000000..9456768
--- /dev/null
+++ b/DotCMIS/Service References/CMISWebServicesReference/CMIS-Core.xsd
@@ -0,0 +1,907 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc" elementFormDefault="qualified" targetNamespace="http://docs.oasis-open.org/ns/cmis/core/200908/" version="1.0" jaxb:extensionBindingPrefixes="xjc" jaxb:version="2.1" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+ <xs:simpleType name="enumDecimalPrecision">
+ <xs:restriction base="xs:integer">
+ <xs:enumeration value="32" />
+ <xs:enumeration value="64" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="enumContentStreamAllowed">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="notallowed" />
+ <xs:enumeration value="allowed" />
+ <xs:enumeration value="required" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="enumCardinality">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="single" />
+ <xs:enumeration value="multi" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="enumUpdatability">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="readonly" />
+ <xs:enumeration value="readwrite" />
+ <xs:enumeration value="whencheckedout" />
+ <xs:enumeration value="oncreate" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="enumDateTimeResolution">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="year" />
+ <xs:enumeration value="date" />
+ <xs:enumeration value="time" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="enumPropertyType">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="boolean" />
+ <xs:enumeration value="id" />
+ <xs:enumeration value="integer" />
+ <xs:enumeration value="datetime" />
+ <xs:enumeration value="decimal" />
+ <xs:enumeration value="html" />
+ <xs:enumeration value="string" />
+ <xs:enumeration value="uri" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="enumBaseObjectTypeIds">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="cmis:document" />
+ <xs:enumeration value="cmis:folder" />
+ <xs:enumeration value="cmis:relationship" />
+ <xs:enumeration value="cmis:policy" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="enumCapabilityQuery">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="none" />
+ <xs:enumeration value="metadataonly" />
+ <xs:enumeration value="fulltextonly" />
+ <xs:enumeration value="bothseparate" />
+ <xs:enumeration value="bothcombined" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="enumCapabilityJoin">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="none" />
+ <xs:enumeration value="inneronly" />
+ <xs:enumeration value="innerandouter" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="enumCapabilityContentStreamUpdates">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="anytime" />
+ <xs:enumeration value="pwconly" />
+ <xs:enumeration value="none" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="enumVersioningState">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="none" />
+ <xs:enumeration value="checkedout" />
+ <xs:enumeration value="minor" />
+ <xs:enumeration value="major" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="enumUnfileObject">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="unfile" />
+ <xs:enumeration value="deletesinglefiled" />
+ <xs:enumeration value="delete" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="enumRelationshipDirection">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="source" />
+ <xs:enumeration value="target" />
+ <xs:enumeration value="either" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="enumIncludeRelationships">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="none" />
+ <xs:enumeration value="source" />
+ <xs:enumeration value="target" />
+ <xs:enumeration value="both" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="enumPropertiesBase">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="cmis:name" />
+ <xs:enumeration value="cmis:objectId" />
+ <xs:enumeration value="cmis:objectTypeId" />
+ <xs:enumeration value="cmis:baseTypeId" />
+ <xs:enumeration value="cmis:createdBy" />
+ <xs:enumeration value="cmis:creationDate" />
+ <xs:enumeration value="cmis:lastModifiedBy" />
+ <xs:enumeration value="cmis:lastModificationDate" />
+ <xs:enumeration value="cmis:changeToken" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="enumPropertiesDocument">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="cmis:isImmutable" />
+ <xs:enumeration value="cmis:isLatestVersion" />
+ <xs:enumeration value="cmis:isMajorVersion" />
+ <xs:enumeration value="cmis:isLatestMajorVersion" />
+ <xs:enumeration value="cmis:versionLabel" />
+ <xs:enumeration value="cmis:versionSeriesId" />
+ <xs:enumeration value="cmis:isVersionSeriesCheckedOut" />
+ <xs:enumeration value="cmis:versionSeriesCheckedOutBy" />
+ <xs:enumeration value="cmis:versionSeriesCheckedOutId" />
+ <xs:enumeration value="cmis:checkinComment" />
+ <xs:enumeration value="cmis:contentStreamLength" />
+ <xs:enumeration value="cmis:contentStreamMimeType" />
+ <xs:enumeration value="cmis:contentStreamFileName" />
+ <xs:enumeration value="cmis:contentStreamId" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="enumPropertiesFolder">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="cmis:parentId" />
+ <xs:enumeration value="cmis:allowedChildObjectTypeIds" />
+ <xs:enumeration value="cmis:path" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="enumPropertiesRelationship">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="cmis:sourceId" />
+ <xs:enumeration value="cmis:targetId" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="enumPropertiesPolicy">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="cmis:policyText" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:attributeGroup name="cmisUndefinedAttribute">
+ <xs:anyAttribute namespace="##other" processContents="lax" />
+ </xs:attributeGroup>
+ <xs:complexType name="cmisObjectType">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="1" name="properties" type="cmis:cmisPropertiesType" />
+ <xs:element minOccurs="0" maxOccurs="1" name="allowableActions" type="cmis:cmisAllowableActionsType" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="relationship" type="cmis:cmisObjectType" />
+ <xs:element minOccurs="0" maxOccurs="1" name="changeEventInfo" type="cmis:cmisChangeEventType" />
+ <xs:element minOccurs="0" maxOccurs="1" name="acl" type="cmis:cmisAccessControlListType" />
+ <xs:element minOccurs="0" maxOccurs="1" name="exactACL" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="policyIds" type="cmis:cmisListOfIdsType" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="rendition" type="cmis:cmisRenditionType" />
+ <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
+ </xs:sequence>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+ <xs:attribute name="key" type="xs:string" />
+ <xs:attribute name="index" type="xs:integer" />
+ <xs:complexType name="cmisPropertiesType">
+ <xs:sequence>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:appinfo>
+ <jaxb:property name="property" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" />
+ </xs:appinfo>
+ </xs:annotation>
+ <xs:element name="propertyBoolean" nillable="true" type="cmis:cmisPropertyBoolean" />
+ <xs:element name="propertyId" nillable="true" type="cmis:cmisPropertyId" />
+ <xs:element name="propertyInteger" nillable="true" type="cmis:cmisPropertyInteger" />
+ <xs:element name="propertyDateTime" nillable="true" type="cmis:cmisPropertyDateTime" />
+ <xs:element name="propertyDecimal" nillable="true" type="cmis:cmisPropertyDecimal" />
+ <xs:element name="propertyHtml" nillable="true" type="cmis:cmisPropertyHtml" />
+ <xs:element name="propertyString" nillable="true" type="cmis:cmisPropertyString" />
+ <xs:element name="propertyUri" nillable="true" type="cmis:cmisPropertyUri" />
+ </xs:choice>
+ <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
+ </xs:sequence>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+ <xs:complexType name="cmisProperty">
+ <xs:attribute name="propertyDefinitionId" use="optional">
+ <xs:annotation>
+ <xs:documentation>
+ This is the property definition id for this
+ property instance. This is
+ not required to be set when used as a
+ default value. This is
+ required to be set when used for query result
+ set or returning
+ properties on an object.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="localName" use="optional">
+ <xs:annotation>
+ <xs:documentation>
+ This is the localname as defined by the property
+ definition
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="displayName" use="optional">
+ <xs:annotation>
+ <xs:documentation>
+ This is the displayname as defined by the property
+ definition
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="queryName" use="optional">
+ <xs:annotation>
+ <xs:documentation>
+ This is the queryName. This must be specified if
+ this is the result of a query. If aliases are used, the alias is to
+ be specified here instead of the queryName.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+ <xs:complexType name="cmisPropertyBoolean">
+ <xs:complexContent mixed="false">
+ <xs:extension base="cmis:cmisProperty">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="value" type="xs:boolean" />
+ <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisPropertyId">
+ <xs:complexContent mixed="false">
+ <xs:extension base="cmis:cmisProperty">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="value" type="xs:string" />
+ <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisPropertyInteger">
+ <xs:complexContent mixed="false">
+ <xs:extension base="cmis:cmisProperty">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="value" type="xs:integer" />
+ <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisPropertyDateTime">
+ <xs:complexContent mixed="false">
+ <xs:extension base="cmis:cmisProperty">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="value" type="xs:dateTime" />
+ <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisPropertyDecimal">
+ <xs:complexContent mixed="false">
+ <xs:extension base="cmis:cmisProperty">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="value" type="xs:decimal" />
+ <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisPropertyHtml">
+ <xs:complexContent mixed="false">
+ <xs:extension base="cmis:cmisProperty">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="value" type="xs:string" />
+ <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisPropertyString">
+ <xs:complexContent mixed="false">
+ <xs:extension base="cmis:cmisProperty">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="value" type="xs:string" />
+ <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisPropertyUri">
+ <xs:complexContent mixed="false">
+ <xs:extension base="cmis:cmisProperty">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="value" type="xs:anyURI" />
+ <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisChoice">
+ <xs:attribute name="displayName" use="required" />
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+ <xs:complexType name="cmisChoiceBoolean">
+ <xs:complexContent mixed="false">
+ <xs:extension base="cmis:cmisChoice">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="value" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="choice" type="cmis:cmisChoiceBoolean" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisChoiceId">
+ <xs:complexContent mixed="false">
+ <xs:extension base="cmis:cmisChoice">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="value" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="choice" type="cmis:cmisChoiceId" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisChoiceInteger">
+ <xs:complexContent mixed="false">
+ <xs:extension base="cmis:cmisChoice">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="value" type="xs:integer" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="choice" type="cmis:cmisChoiceInteger" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisChoiceDateTime">
+ <xs:complexContent mixed="false">
+ <xs:extension base="cmis:cmisChoice">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="value" type="xs:dateTime" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="choice" type="cmis:cmisChoiceDateTime" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisChoiceDecimal">
+ <xs:complexContent mixed="false">
+ <xs:extension base="cmis:cmisChoice">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="value" type="xs:decimal" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="choice" type="cmis:cmisChoiceDecimal" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisChoiceHtml">
+ <xs:complexContent mixed="false">
+ <xs:extension base="cmis:cmisChoice">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="value" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="choice" type="cmis:cmisChoiceHtml" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisChoiceString">
+ <xs:complexContent mixed="false">
+ <xs:extension base="cmis:cmisChoice">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="value" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="choice" type="cmis:cmisChoiceString" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisChoiceUri">
+ <xs:complexContent mixed="false">
+ <xs:extension base="cmis:cmisChoice">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="value" type="xs:anyURI" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="choice" type="cmis:cmisChoiceUri" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisAllowableActionsType">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="1" name="canDeleteObject" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="canUpdateProperties" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="canGetFolderTree" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="canGetProperties" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="canGetObjectRelationships" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="canGetObjectParents" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="canGetFolderParent" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="canGetDescendants" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="canMoveObject" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="canDeleteContentStream" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="canCheckOut" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="canCancelCheckOut" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="canCheckIn" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="canSetContentStream" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="canGetAllVersions" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="canAddObjectToFolder" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="canRemoveObjectFromFolder" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="canGetContentStream" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="canApplyPolicy" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="canGetAppliedPolicies" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="canRemovePolicy" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="canGetChildren" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="canCreateDocument" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="canCreateFolder" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="canCreateRelationship" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="canDeleteTree" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="canGetRenditions" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="canGetACL" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="canApplyACL" type="xs:boolean" />
+ <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
+ </xs:sequence>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+ <xs:complexType name="cmisListOfIdsType">
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="unbounded" name="id" type="xs:string" />
+ <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
+ </xs:sequence>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+ <xs:complexType name="cmisPropertyDefinitionType">
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="id" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="localName" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="localNamespace" type="xs:anyURI" />
+ <xs:element minOccurs="0" maxOccurs="1" name="displayName" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="queryName" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="description" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="propertyType" type="cmis:enumPropertyType" />
+ <xs:element minOccurs="1" maxOccurs="1" name="cardinality" type="cmis:enumCardinality" />
+ <xs:element minOccurs="1" maxOccurs="1" name="updatability" type="cmis:enumUpdatability" />
+ <xs:element minOccurs="0" maxOccurs="1" name="inherited" type="xs:boolean" />
+ <xs:element minOccurs="1" maxOccurs="1" name="required" type="xs:boolean" />
+ <xs:element minOccurs="1" maxOccurs="1" name="queryable" type="xs:boolean" />
+ <xs:element minOccurs="1" maxOccurs="1" name="orderable" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="openChoice" type="xs:boolean" />
+ <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
+ </xs:sequence>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+ <xs:complexType name="cmisPropertyBooleanDefinitionType">
+ <xs:complexContent mixed="false">
+ <xs:extension base="cmis:cmisPropertyDefinitionType">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="1" name="defaultValue" type="cmis:cmisPropertyBoolean" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="choice" type="cmis:cmisChoiceBoolean" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisPropertyIdDefinitionType">
+ <xs:complexContent mixed="false">
+ <xs:extension base="cmis:cmisPropertyDefinitionType">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="1" name="defaultValue" type="cmis:cmisPropertyId" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="choice" type="cmis:cmisChoiceId" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisPropertyIntegerDefinitionType">
+ <xs:complexContent mixed="false">
+ <xs:extension base="cmis:cmisPropertyDefinitionType">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="1" name="defaultValue" type="cmis:cmisPropertyInteger" />
+ <xs:element minOccurs="0" maxOccurs="1" name="maxValue" type="xs:integer" />
+ <xs:element minOccurs="0" maxOccurs="1" name="minValue" type="xs:integer" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="choice" type="cmis:cmisChoiceInteger" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisPropertyDateTimeDefinitionType">
+ <xs:complexContent mixed="false">
+ <xs:extension base="cmis:cmisPropertyDefinitionType">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="1" name="defaultValue" type="cmis:cmisPropertyDateTime" />
+ <xs:element minOccurs="0" maxOccurs="1" name="resolution" type="cmis:enumDateTimeResolution" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="choice" type="cmis:cmisChoiceDateTime" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisPropertyDecimalDefinitionType">
+ <xs:complexContent mixed="false">
+ <xs:extension base="cmis:cmisPropertyDefinitionType">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="1" name="defaultValue" type="cmis:cmisPropertyDecimal" />
+ <xs:element minOccurs="0" maxOccurs="1" name="maxValue" type="xs:decimal" />
+ <xs:element minOccurs="0" maxOccurs="1" name="minValue" type="xs:decimal" />
+ <xs:element minOccurs="0" maxOccurs="1" name="precision" type="cmis:enumDecimalPrecision" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="choice" type="cmis:cmisChoiceDecimal" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisPropertyHtmlDefinitionType">
+ <xs:complexContent mixed="false">
+ <xs:extension base="cmis:cmisPropertyDefinitionType">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="1" name="defaultValue" type="cmis:cmisPropertyHtml" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="choice" type="cmis:cmisChoiceHtml" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisPropertyStringDefinitionType">
+ <xs:complexContent mixed="false">
+ <xs:extension base="cmis:cmisPropertyDefinitionType">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="1" name="defaultValue" type="cmis:cmisPropertyString" />
+ <xs:element minOccurs="0" maxOccurs="1" name="maxLength" type="xs:integer" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="choice" type="cmis:cmisChoiceString" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisPropertyUriDefinitionType">
+ <xs:complexContent mixed="false">
+ <xs:extension base="cmis:cmisPropertyDefinitionType">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="1" name="defaultValue" type="cmis:cmisPropertyUri" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="choice" type="cmis:cmisChoiceUri" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisTypeDefinitionType">
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="id" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="localName" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="localNamespace" nillable="true" type="xs:anyURI" />
+ <xs:element minOccurs="0" maxOccurs="1" name="displayName" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="queryName" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="description" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="baseId" type="cmis:enumBaseObjectTypeIds" />
+ <xs:element minOccurs="0" maxOccurs="1" name="parentId" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>
+ This is the id for the parent type definition. If
+ this is a base type,
+ this is not present.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element minOccurs="1" maxOccurs="1" name="creatable" type="xs:boolean" />
+ <xs:element minOccurs="1" maxOccurs="1" name="fileable" type="xs:boolean" />
+ <xs:element minOccurs="1" maxOccurs="1" name="queryable" type="xs:boolean" />
+ <xs:element minOccurs="1" maxOccurs="1" name="fulltextIndexed" type="xs:boolean" />
+ <xs:element minOccurs="1" maxOccurs="1" default="true" name="includedInSupertypeQuery" type="xs:boolean" />
+ <xs:element minOccurs="1" maxOccurs="1" name="controllablePolicy" type="xs:boolean" />
+ <xs:element minOccurs="1" maxOccurs="1" name="controllableACL" type="xs:boolean" />
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:appinfo>
+ <jaxb:property name="propertyDefinition" />
+ </xs:appinfo>
+ </xs:annotation>
+ <xs:element name="propertyBooleanDefinition" type="cmis:cmisPropertyBooleanDefinitionType" />
+ <xs:element name="propertyDateTimeDefinition" type="cmis:cmisPropertyDateTimeDefinitionType" />
+ <xs:element name="propertyDecimalDefinition" type="cmis:cmisPropertyDecimalDefinitionType" />
+ <xs:element name="propertyIdDefinition" type="cmis:cmisPropertyIdDefinitionType" />
+ <xs:element name="propertyIntegerDefinition" type="cmis:cmisPropertyIntegerDefinitionType" />
+ <xs:element name="propertyHtmlDefinition" type="cmis:cmisPropertyHtmlDefinitionType" />
+ <xs:element name="propertyStringDefinition" type="cmis:cmisPropertyStringDefinitionType" />
+ <xs:element name="propertyUriDefinition" type="cmis:cmisPropertyUriDefinitionType" />
+ </xs:choice>
+ <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
+ </xs:sequence>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+ <xs:complexType name="cmisTypeDocumentDefinitionType">
+ <xs:complexContent mixed="false">
+ <xs:extension base="cmis:cmisTypeDefinitionType">
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="versionable" type="xs:boolean" />
+ <xs:element minOccurs="1" maxOccurs="1" name="contentStreamAllowed" type="cmis:enumContentStreamAllowed" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisTypeFolderDefinitionType">
+ <xs:complexContent mixed="false">
+ <xs:extension base="cmis:cmisTypeDefinitionType">
+ <xs:sequence />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisTypeRelationshipDefinitionType">
+ <xs:complexContent mixed="false">
+ <xs:extension base="cmis:cmisTypeDefinitionType">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="allowedSourceTypes" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="allowedTargetTypes" type="xs:string" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisTypePolicyDefinitionType">
+ <xs:complexContent mixed="false">
+ <xs:extension base="cmis:cmisTypeDefinitionType">
+ <xs:sequence />
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisQueryType">
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="statement" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="searchAllVersions" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="includeAllowableActions" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="includeRelationships" type="cmis:enumIncludeRelationships" />
+ <xs:element minOccurs="0" maxOccurs="1" name="renditionFilter" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="maxItems" type="xs:integer" />
+ <xs:element minOccurs="0" maxOccurs="1" name="skipCount" type="xs:integer" />
+ <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
+ </xs:sequence>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+ <xs:complexType name="cmisRepositoryInfoType">
+ <xs:sequence minOccurs="1">
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryId" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryName" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryDescription" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="vendorName" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="productName" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="productVersion" type="xs:string" />
+ <xs:element name="rootFolderId" type="xs:string" />
+ <xs:element minOccurs="0" name="latestChangeLogToken" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="capabilities" type="cmis:cmisRepositoryCapabilitiesType" />
+ <xs:element minOccurs="0" maxOccurs="1" name="aclCapability" type="cmis:cmisACLCapabilityType" />
+ <xs:element minOccurs="1" maxOccurs="1" name="cmisVersionSupported" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="thinClientURI" type="xs:anyURI" />
+ <xs:element minOccurs="0" maxOccurs="1" name="changesIncomplete" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="changesOnType" type="cmis:enumBaseObjectTypeIds" />
+ <xs:element minOccurs="0" maxOccurs="1" name="principalAnonymous" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>
+ If set, this field holds the principal who is
+ used for anonymous
+ access. This principal can then be passed to the
+ ACL services to
+ specify what permissions anonymous users should
+ have
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element minOccurs="0" maxOccurs="1" name="principalAnyone" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>
+ If set, this field holds the principal who is
+ used for everyone's access. This principal can then be passed to
+ the
+ ACL services to
+ specify what permissions everyone should
+ have
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
+ </xs:sequence>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+ <xs:complexType name="cmisRepositoryCapabilitiesType">
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="capabilityACL" type="cmis:enumCapabilityACL" />
+ <xs:element minOccurs="1" maxOccurs="1" name="capabilityAllVersionsSearchable" type="xs:boolean" />
+ <xs:element name="capabilityChanges" type="cmis:enumCapabilityChanges" />
+ <xs:element minOccurs="1" maxOccurs="1" name="capabilityContentStreamUpdatability" type="cmis:enumCapabilityContentStreamUpdates" />
+ <xs:element minOccurs="1" maxOccurs="1" name="capabilityGetDescendants" type="xs:boolean" />
+ <xs:element minOccurs="1" maxOccurs="1" name="capabilityGetFolderTree" type="xs:boolean" />
+ <xs:element minOccurs="1" maxOccurs="1" name="capabilityMultifiling" type="xs:boolean" />
+ <xs:element minOccurs="1" maxOccurs="1" name="capabilityPWCSearchable" type="xs:boolean" />
+ <xs:element minOccurs="1" maxOccurs="1" name="capabilityPWCUpdatable" type="xs:boolean" />
+ <xs:element minOccurs="1" maxOccurs="1" name="capabilityQuery" type="cmis:enumCapabilityQuery" />
+ <xs:element minOccurs="1" maxOccurs="1" name="capabilityRenditions" type="cmis:enumCapabilityRendition" />
+ <xs:element minOccurs="1" maxOccurs="1" name="capabilityUnfiling" type="xs:boolean" />
+ <xs:element minOccurs="1" maxOccurs="1" name="capabilityVersionSpecificFiling" type="xs:boolean" />
+ <xs:element minOccurs="1" maxOccurs="1" name="capabilityJoin" type="cmis:enumCapabilityJoin" />
+ <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="skip" />
+ </xs:sequence>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+ <xs:simpleType name="enumTypeOfChanges">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="created" />
+ <xs:enumeration value="updated" />
+ <xs:enumeration value="deleted" />
+ <xs:enumeration value="security" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="enumCapabilityChanges">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="none" />
+ <xs:enumeration value="objectidsonly" />
+ <xs:enumeration value="properties" />
+ <xs:enumeration value="all" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="cmisChangeEventType">
+ <xs:sequence>
+ <xs:element name="changeType" type="cmis:enumTypeOfChanges" />
+ <xs:element name="changeTime" type="xs:dateTime" />
+ <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="enumACLPropagation">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="repositorydetermined" />
+ <xs:enumeration value="objectonly" />
+ <xs:enumeration value="propagate" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="enumCapabilityACL">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="none" />
+ <xs:enumeration value="discover" />
+ <xs:enumeration value="manage" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="enumBasicPermissions">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="cmis:read" />
+ <xs:enumeration value="cmis:write" />
+ <xs:enumeration value="cmis:all" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="cmisPermissionDefinition">
+ <xs:sequence>
+ <xs:element name="permission" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="description" type="xs:string" />
+ <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="cmisPermissionMapping">
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="key" type="cmis:enumAllowableActionsKey" />
+ <xs:element minOccurs="1" maxOccurs="unbounded" name="permission" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>
+ Multiple entries are OR'ed together. Any
+ permission that specified is
+ sufficient to provide rights required
+ in key
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="enumAllowableActionsKey">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="canGetDescendents.Folder" />
+ <xs:enumeration value="canGetChildren.Folder" />
+ <xs:enumeration value="canGetParents.Folder" />
+ <xs:enumeration value="canGetFolderParent.Object" />
+ <xs:enumeration value="canCreateDocument.Folder" />
+ <xs:enumeration value="canCreateFolder.Folder" />
+ <xs:enumeration value="canCreateRelationship.Source" />
+ <xs:enumeration value="canCreateRelationship.Target" />
+ <xs:enumeration value="canGetProperties.Object" />
+ <xs:enumeration value="canViewContent.Object" />
+ <xs:enumeration value="canUpdateProperties.Object" />
+ <xs:enumeration value="canMove.Object" />
+ <xs:enumeration value="canMove.Target" />
+ <xs:enumeration value="canMove.Source" />
+ <xs:enumeration value="canDelete.Object" />
+ <xs:enumeration value="canDeleteTree.Folder" />
+ <xs:enumeration value="canSetContent.Document" />
+ <xs:enumeration value="canDeleteContent.Document" />
+ <xs:enumeration value="canAddToFolder.Object" />
+ <xs:enumeration value="canAddToFolder.Folder" />
+ <xs:enumeration value="canRemoveFromFolder.Object" />
+ <xs:enumeration value="canRemoveFromFolder.Folder" />
+ <xs:enumeration value="canCheckout.Document" />
+ <xs:enumeration value="canCancelCheckout.Document" />
+ <xs:enumeration value="canCheckin.Document" />
+ <xs:enumeration value="canGetAllVersions.VersionSeries" />
+ <xs:enumeration value="canGetObjectRelationships.Object" />
+ <xs:enumeration value="canAddPolicy.Object" />
+ <xs:enumeration value="canAddPolicy.Policy" />
+ <xs:enumeration value="canRemovePolicy.Object" />
+ <xs:enumeration value="canRemovePolicy.Policy" />
+ <xs:enumeration value="canGetAppliedPolicies.Object" />
+ <xs:enumeration value="canGetACL.Object" />
+ <xs:enumeration value="canApplyACL.Object" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="enumUsers">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="cmis:user">
+ <xs:annotation>
+ <xs:documentation>
+ This user can be used on setting ACLs to specify
+ the permission this
+ user context should have.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="cmisAccessControlPrincipalType">
+ <xs:sequence>
+ <xs:element name="principalId" type="xs:string" />
+ <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="cmisAccessControlEntryType">
+ <xs:sequence>
+ <xs:element name="principal" type="cmis:cmisAccessControlPrincipalType" />
+ <xs:element minOccurs="1" maxOccurs="unbounded" name="permission" type="xs:string" />
+ <xs:element name="direct" type="xs:boolean" />
+ <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="cmisAccessControlListType">
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="unbounded" name="permission" type="cmis:cmisAccessControlEntryType" />
+ <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="cmisACLCapabilityType">
+ <xs:sequence>
+ <xs:element name="supportedPermissions" type="cmis:enumSupportedPermissions" />
+ <xs:element name="propagation" type="cmis:enumACLPropagation" />
+ <xs:element minOccurs="1" maxOccurs="unbounded" name="permissions" type="cmis:cmisPermissionDefinition" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="mapping" type="cmis:cmisPermissionMapping" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:simpleType name="enumSupportedPermissions">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="basic" />
+ <xs:enumeration value="repository" />
+ <xs:enumeration value="both" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="enumCapabilityRendition">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="none" />
+ <xs:enumeration value="read" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="enumRenditionKind">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="cmis:thumbnail" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="cmisRenditionType">
+ <xs:sequence>
+ <xs:element name="streamId" type="xs:string" />
+ <xs:element name="mimetype" type="xs:string" />
+ <xs:element name="length" type="xs:integer" />
+ <xs:element name="kind" type="xs:string" />
+ <xs:element minOccurs="0" name="title" type="xs:string" />
+ <xs:element minOccurs="0" name="height" type="xs:integer" />
+ <xs:element minOccurs="0" name="width" type="xs:integer" />
+ <xs:element minOccurs="0" name="renditionDocumentId" type="xs:string" />
+ <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="allowableActions" type="cmis:cmisAllowableActionsType">
+ <xs:annotation>
+ <xs:documentation>
+ This is the root tag for a CMIS AllowableActions
+ Document Type
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="query" type="cmis:cmisQueryType">
+ <xs:annotation>
+ <xs:documentation>
+ This is the root tag for a CMIS Query Document Type
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="acl" type="cmis:cmisAccessControlListType">
+ <xs:annotation>
+ <xs:documentation>
+ This is the root tag for a CMIS ACL Document Type
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+</xs:schema>
\ No newline at end of file
diff --git a/DotCMIS/Service References/CMISWebServicesReference/CMIS-Messaging.xsd b/DotCMIS/Service References/CMISWebServicesReference/CMIS-Messaging.xsd
new file mode 100644
index 0000000..5d9b7cd
--- /dev/null
+++ b/DotCMIS/Service References/CMISWebServicesReference/CMIS-Messaging.xsd
@@ -0,0 +1,1471 @@
+<?xml version="1.0" encoding="utf-8"?>
+<xs:schema xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc" xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" elementFormDefault="qualified" targetNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/" version="1.0" jaxb:extensionBindingPrefixes="xjc" jaxb:version="2.1" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+ <xs:import schemaLocation="CMIS-Core.xsd" namespace="http://docs.oasis-open.org/ns/cmis/core/200908/" />
+ <xs:complexType name="cmisFaultType">
+ <xs:sequence>
+ <xs:element name="type" type="cmism:enumServiceException" />
+ <xs:element name="code" type="xs:integer" />
+ <xs:element name="message" type="xs:string" />
+ <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:element name="cmisFault" type="cmism:cmisFaultType" />
+ <xs:simpleType name="enumServiceException">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="constraint" />
+ <xs:enumeration value="nameConstraintViolation" />
+ <xs:enumeration value="contentAlreadyExists" />
+ <xs:enumeration value="filterNotValid" />
+ <xs:enumeration value="invalidArgument" />
+ <xs:enumeration value="notSupported" />
+ <xs:enumeration value="objectNotFound" />
+ <xs:enumeration value="permissionDenied" />
+ <xs:enumeration value="runtime" />
+ <xs:enumeration value="storage" />
+ <xs:enumeration value="streamNotSupported" />
+ <xs:enumeration value="updateConflict" />
+ <xs:enumeration value="versioning" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="cmisExtensionType">
+ <xs:sequence>
+ <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" />
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="cmisTypeContainer">
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="type" type="cmis:cmisTypeDefinitionType" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="children" type="cmism:cmisTypeContainer" />
+ <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
+ </xs:sequence>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+ <xs:complexType name="cmisTypeDefinitionListType">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="types" type="cmis:cmisTypeDefinitionType" />
+ <xs:element minOccurs="1" maxOccurs="1" name="hasMoreItems" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="numItems" type="xs:integer" />
+ <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
+ </xs:sequence>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+ <xs:complexType name="cmisObjectInFolderContainerType">
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="objectInFolder" type="cmism:cmisObjectInFolderType" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="children" type="cmism:cmisObjectInFolderContainerType" />
+ <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
+ </xs:sequence>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+ <xs:complexType name="cmisObjectListType">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="objects" type="cmis:cmisObjectType" />
+ <xs:element minOccurs="1" maxOccurs="1" name="hasMoreItems" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="numItems" type="xs:integer" />
+ <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
+ </xs:sequence>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+ <xs:complexType name="cmisObjectInFolderType">
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="object" type="cmis:cmisObjectType" />
+ <xs:element minOccurs="0" maxOccurs="1" name="pathSegment" type="xs:string" />
+ <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
+ </xs:sequence>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+ <xs:complexType name="cmisObjectParentsType">
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="object" type="cmis:cmisObjectType" />
+ <xs:element minOccurs="0" maxOccurs="1" name="relativePathSegment" type="xs:string" />
+ <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
+ </xs:sequence>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+ <xs:complexType name="cmisObjectInFolderListType">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="objects" type="cmism:cmisObjectInFolderType" />
+ <xs:element minOccurs="1" maxOccurs="1" name="hasMoreItems" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="numItems" type="xs:integer" />
+ <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
+ </xs:sequence>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+ <xs:complexType name="cmisRepositoryEntryType">
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryId" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryName" type="xs:string" />
+ <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
+ </xs:sequence>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+ <xs:complexType name="cmisContentStreamType">
+ <xs:sequence>
+ <xs:element minOccurs="0" name="length" type="xs:integer" />
+ <xs:element minOccurs="0" name="mimeType" type="xs:string" />
+ <xs:element minOccurs="0" name="filename" type="xs:string" />
+ <xs:element xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmime:expectedContentTypes="application/octet-stream" name="stream" type="xs:base64Binary" />
+ <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
+ </xs:sequence>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+ <xs:complexType name="cmisACLType">
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="ACL" type="cmis:cmisAccessControlListType" />
+ <xs:element minOccurs="0" maxOccurs="1" name="exact" type="xs:boolean" />
+ <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
+ </xs:sequence>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+ <xs:element name="getRepositories">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getRepositoriesResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="repositories" nillable="true" type="cmism:cmisRepositoryEntryType" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getRepositoryInfo">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryId" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getRepositoryInfoResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryInfo" type="cmis:cmisRepositoryInfoType" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getTypeChildren">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryId" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="typeId" nillable="true" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="includePropertyDefinitions" nillable="true" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="maxItems" nillable="true" type="xs:integer" />
+ <xs:element minOccurs="0" maxOccurs="1" name="skipCount" nillable="true" type="xs:integer" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getTypeChildrenResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="types" type="cmism:cmisTypeDefinitionListType" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getTypeDescendants">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryId" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="typeId" nillable="true" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="depth" nillable="true" type="xs:integer" />
+ <xs:element minOccurs="0" maxOccurs="1" name="includePropertyDefinitions" nillable="true" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getTypeDescendantsResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="types" type="cmism:cmisTypeContainer" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getTypeDefinition">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryId" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="typeId" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getTypeDefinitionResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="1" name="type" type="cmis:cmisTypeDefinitionType" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getDescendants">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryId" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="folderId" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="depth" nillable="true" type="xs:integer" />
+ <xs:element minOccurs="0" maxOccurs="1" name="filter" nillable="true" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="includeAllowableActions" nillable="true" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="includeRelationships" nillable="true" type="cmis:enumIncludeRelationships" />
+ <xs:element minOccurs="0" maxOccurs="1" name="renditionFilter" nillable="true" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="includePathSegment" nillable="true" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getDescendantsResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="objects" type="cmism:cmisObjectInFolderContainerType" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getFolderTree">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryId" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="folderId" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="depth" nillable="true" type="xs:integer" />
+ <xs:element minOccurs="0" maxOccurs="1" name="filter" nillable="true" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="includeAllowableActions" nillable="true" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="includeRelationships" nillable="true" type="cmis:enumIncludeRelationships" />
+ <xs:element minOccurs="0" maxOccurs="1" name="renditionFilter" nillable="true" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="includePathSegment" nillable="true" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getFolderTreeResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="objects" type="cmism:cmisObjectInFolderContainerType" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getChildren">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryId" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="folderId" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="filter" nillable="true" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="orderBy" nillable="true" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="includeAllowableActions" nillable="true" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="includeRelationships" nillable="true" type="cmis:enumIncludeRelationships" />
+ <xs:element minOccurs="0" maxOccurs="1" name="renditionFilter" nillable="true" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="includePathSegment" nillable="true" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="maxItems" nillable="true" type="xs:integer" />
+ <xs:element minOccurs="0" maxOccurs="1" name="skipCount" nillable="true" type="xs:integer" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getChildrenResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="objects" type="cmism:cmisObjectInFolderListType" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getFolderParent">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryId" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="folderId" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="filter" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getFolderParentResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="object" type="cmis:cmisObjectType" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getObjectParents">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryId" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="objectId" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="filter" nillable="true" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="includeAllowableActions" nillable="true" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="includeRelationships" nillable="true" type="cmis:enumIncludeRelationships" />
+ <xs:element minOccurs="0" maxOccurs="1" name="renditionFilter" nillable="true" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="includeRelativePathSegment" nillable="true" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getObjectParentsResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="parents" type="cmism:cmisObjectParentsType" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getRenditions">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryId" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="objectId" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="renditionFilter" nillable="true" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="maxItems" nillable="true" type="xs:integer" />
+ <xs:element minOccurs="0" maxOccurs="1" name="skipCount" nillable="true" type="xs:integer" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getRenditionsResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="renditions" type="cmis:cmisRenditionType" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getCheckedOutDocs">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryId" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="folderId" nillable="true" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="filter" nillable="true" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="orderBy" nillable="true" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="includeAllowableActions" nillable="true" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="includeRelationships" nillable="true" type="cmis:enumIncludeRelationships" />
+ <xs:element minOccurs="0" maxOccurs="1" name="renditionFilter" nillable="true" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="maxItems" nillable="true" type="xs:integer" />
+ <xs:element minOccurs="0" maxOccurs="1" name="skipCount" nillable="true" type="xs:integer" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getCheckedOutDocsResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="objects" type="cmism:cmisObjectListType" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="createDocument">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryId" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="properties" type="cmis:cmisPropertiesType" />
+ <xs:element minOccurs="0" maxOccurs="1" name="folderId" nillable="true" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="contentStream" nillable="true" type="cmism:cmisContentStreamType" />
+ <xs:element minOccurs="0" maxOccurs="1" name="versioningState" nillable="true" type="cmis:enumVersioningState" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="policies" nillable="true" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="addACEs" nillable="true" type="cmis:cmisAccessControlListType" />
+ <xs:element minOccurs="0" maxOccurs="1" name="removeACEs" nillable="true" type="cmis:cmisAccessControlListType" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="createDocumentResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="objectId" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="createDocumentFromSource">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryId" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="sourceId" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="properties" type="cmis:cmisPropertiesType" />
+ <xs:element minOccurs="0" maxOccurs="1" name="folderId" nillable="true" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="versioningState" nillable="true" type="cmis:enumVersioningState" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="policies" nillable="true" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="addACEs" nillable="true" type="cmis:cmisAccessControlListType" />
+ <xs:element minOccurs="0" maxOccurs="1" name="removeACEs" nillable="true" type="cmis:cmisAccessControlListType" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="createDocumentFromSourceResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="objectId" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="createFolder">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryId" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="properties" type="cmis:cmisPropertiesType" />
+ <xs:element minOccurs="1" maxOccurs="1" name="folderId" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="policies" nillable="true" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="addACEs" nillable="true" type="cmis:cmisAccessControlListType" />
+ <xs:element minOccurs="0" maxOccurs="1" name="removeACEs" nillable="true" type="cmis:cmisAccessControlListType" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="createFolderResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="objectId" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="createRelationship">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryId" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="properties" type="cmis:cmisPropertiesType" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="policies" nillable="true" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="addACEs" nillable="true" type="cmis:cmisAccessControlListType" />
+ <xs:element minOccurs="0" maxOccurs="1" name="removeACEs" nillable="true" type="cmis:cmisAccessControlListType" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="createRelationshipResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="objectId" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="createPolicy">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryId" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="properties" type="cmis:cmisPropertiesType" />
+ <xs:element minOccurs="0" maxOccurs="1" name="folderId" nillable="true" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="policies" nillable="true" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="addACEs" nillable="true" type="cmis:cmisAccessControlListType" />
+ <xs:element minOccurs="0" maxOccurs="1" name="removeACEs" nillable="true" type="cmis:cmisAccessControlListType" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="createPolicyResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="objectId" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getAllowableActions">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryId" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="objectId" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getAllowableActionsResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="allowableActions" type="cmis:cmisAllowableActionsType" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getProperties">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryId" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="objectId" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="filter" nillable="true" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getPropertiesResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="properties" type="cmis:cmisPropertiesType" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getObject">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryId" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="objectId" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="filter" nillable="true" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="includeAllowableActions" nillable="true" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="includeRelationships" nillable="true" type="cmis:enumIncludeRelationships" />
+ <xs:element minOccurs="0" maxOccurs="1" name="renditionFilter" nillable="true" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="includePolicyIds" nillable="true" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="includeACL" nillable="true" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getObjectResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="object" type="cmis:cmisObjectType" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getObjectByPath">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryId" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="path" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="filter" nillable="true" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="includeAllowableActions" nillable="true" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="includeRelationships" nillable="true" type="cmis:enumIncludeRelationships" />
+ <xs:element minOccurs="0" maxOccurs="1" name="renditionFilter" nillable="true" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="includePolicyIds" nillable="true" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="includeACL" nillable="true" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getObjectByPathResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="object" type="cmis:cmisObjectType" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getContentStream">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryId" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="objectId" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="streamId" nillable="true" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="offset" nillable="true" type="xs:integer" />
+ <xs:element minOccurs="0" maxOccurs="1" name="length" nillable="true" type="xs:integer" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getContentStreamResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="contentStream" type="cmism:cmisContentStreamType" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="updateProperties">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryId" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="objectId" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="changeToken" nillable="true" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="properties" type="cmis:cmisPropertiesType" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="updatePropertiesResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="objectId" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="changeToken" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="moveObject">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryId" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="objectId" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="targetFolderId" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="sourceFolderId" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="moveObjectResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="objectId" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="deleteObject">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryId" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="objectId" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="allVersions" nillable="true" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="deleteObjectResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="deleteTree">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryId" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="folderId" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="allVersions" nillable="true" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="unfileObjects" nillable="true" type="cmis:enumUnfileObject" />
+ <xs:element minOccurs="0" maxOccurs="1" name="continueOnFailure" nillable="true" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="deleteTreeResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="failedToDelete">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="objectIds" type="xs:string" />
+ <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="setContentStream">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryId" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="objectId" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="overwriteFlag" nillable="true" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="changeToken" nillable="true" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="contentStream" type="cmism:cmisContentStreamType" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="setContentStreamResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="objectId" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="changeToken" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="deleteContentStream">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryId" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="objectId" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="changeToken" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="deleteContentStreamResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="objectId" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="changeToken" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="addObjectToFolder">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryId" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="objectId" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="folderId" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="allVersions" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="addObjectToFolderResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="removeObjectFromFolder">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryId" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="objectId" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="folderId" nillable="true" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="removeObjectFromFolderResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="query">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryId" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="statement" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="searchAllVersions" nillable="true" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="includeAllowableActions" nillable="true" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="includeRelationships" nillable="true" type="cmis:enumIncludeRelationships" />
+ <xs:element minOccurs="0" maxOccurs="1" name="renditionFilter" nillable="true" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="maxItems" nillable="true" type="xs:integer" />
+ <xs:element minOccurs="0" maxOccurs="1" name="skipCount" nillable="true" type="xs:integer" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="queryResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="objects" type="cmism:cmisObjectListType" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getContentChanges">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryId" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="changeLogToken" nillable="true" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="includeProperties" nillable="true" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="filter" nillable="true" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="includePolicyIds" nillable="true" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="includeACL" nillable="true" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="maxItems" nillable="true" type="xs:integer" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getContentChangesResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="objects" type="cmism:cmisObjectListType" />
+ <xs:element minOccurs="1" maxOccurs="1" name="changeLogToken" type="xs:string" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="checkOut">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryId" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="objectId" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="checkOutResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="objectId" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="contentCopied" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="cancelCheckOut">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryId" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="objectId" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="cancelCheckOutResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="checkIn">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryId" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="objectId" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="major" nillable="true" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="properties" nillable="true" type="cmis:cmisPropertiesType" />
+ <xs:element minOccurs="0" maxOccurs="1" name="contentStream" nillable="true" type="cmism:cmisContentStreamType" />
+ <xs:element minOccurs="0" maxOccurs="1" name="checkinComment" nillable="true" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="policies" nillable="true" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="addACEs" nillable="true" type="cmis:cmisAccessControlListType" />
+ <xs:element minOccurs="0" maxOccurs="1" name="removeACEs" nillable="true" type="cmis:cmisAccessControlListType" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="checkInResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="objectId" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getPropertiesOfLatestVersion">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryId" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="objectId" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="major" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="filter" nillable="true" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getPropertiesOfLatestVersionResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="properties" type="cmis:cmisPropertiesType" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getObjectOfLatestVersion">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryId" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="objectId" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="major" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="filter" nillable="true" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="includeAllowableActions" nillable="true" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="includeRelationships" nillable="true" type="cmis:enumIncludeRelationships" />
+ <xs:element minOccurs="0" maxOccurs="1" name="renditionFilter" nillable="true" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="includePolicyIds" nillable="true" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="includeACL" nillable="true" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getObjectOfLatestVersionResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="object" type="cmis:cmisObjectType" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getAllVersions">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryId" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="objectId" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="filter" nillable="true" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="includeAllowableActions" nillable="true" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getAllVersionsResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="objects" type="cmis:cmisObjectType" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getObjectRelationships">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryId" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="objectId" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="includeSubRelationshipTypes" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="relationshipDirection" nillable="true" type="cmis:enumRelationshipDirection" />
+ <xs:element minOccurs="0" maxOccurs="1" name="typeId" nillable="true" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="filter" nillable="true" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="includeAllowableActions" nillable="true" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="maxItems" nillable="true" type="xs:integer" />
+ <xs:element minOccurs="0" maxOccurs="1" name="skipCount" nillable="true" type="xs:integer" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getObjectRelationshipsResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="objects" type="cmism:cmisObjectListType" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="applyPolicy">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryId" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="policyId" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="objectId" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="applyPolicyResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="removePolicy">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryId" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="policyId" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="objectId" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="removePolicyResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getAppliedPolicies">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryId" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="objectId" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="filter" nillable="true" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getAppliedPoliciesResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="objects" type="cmis:cmisObjectType" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getACL">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryId" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="objectId" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="onlyBasicPermissions" nillable="true" type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getACLResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="ACL" type="cmism:cmisACLType" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="applyACL">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="repositoryId" type="xs:string" />
+ <xs:element minOccurs="1" maxOccurs="1" name="objectId" type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="1" name="addACEs" type="cmis:cmisAccessControlListType" />
+ <xs:element minOccurs="0" maxOccurs="1" name="removeACEs" type="cmis:cmisAccessControlListType" />
+ <xs:element minOccurs="0" maxOccurs="1" name="ACLPropagation" nillable="true" type="cmis:enumACLPropagation" />
+ <xs:element minOccurs="0" maxOccurs="1" name="extension" nillable="true" type="cmism:cmisExtensionType">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="applyACLResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="1" maxOccurs="1" name="ACL" type="cmism:cmisACLType" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
\ No newline at end of file
diff --git a/DotCMIS/Service References/CMISWebServicesReference/CMISWebServices.wsdl b/DotCMIS/Service References/CMISWebServicesReference/CMISWebServices.wsdl
new file mode 100644
index 0000000..1060067
--- /dev/null
+++ b/DotCMIS/Service References/CMISWebServicesReference/CMISWebServices.wsdl
@@ -0,0 +1,1114 @@
+<?xml version="1.0" encoding="utf-8"?>
+<definitions xmlns:cmisw="http://docs.oasis-open.org/ns/cmis/ws/200908/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/" xmlns:jaxws="http://java.sun.com/xml/ns/jaxws" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:ns="http://schemas.xmlsoap.org/soap/encoding/" name="CMISWebServices" targetNamespace="http://docs.oasis-open.org/ns/cmis/ws/200908/" xmlns="http://schemas.xmlsoap.org/wsdl/">
+ <types>
+ <xsd:schema elementFormDefault="qualified" targetNamespace="http://docs.oasis-open.org/ns/cmis/ws/200908/">
+ <xsd:import schemaLocation="CMIS-Core.xsd" namespace="http://docs.oasis-open.org/ns/cmis/core/200908/" />
+ <xsd:import schemaLocation="CMIS-Messaging.xsd" namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/" />
+ </xsd:schema>
+ </types>
+ <message name="cmisException">
+ <part name="fault" element="cmism:cmisFault" />
+ </message>
+ <message name="getACLRequest">
+ <part name="parameters" element="cmism:getACL" />
+ </message>
+ <message name="getACLResponse">
+ <part name="parameters" element="cmism:getACLResponse" />
+ </message>
+ <message name="applyACLRequest">
+ <part name="parameters" element="cmism:applyACL" />
+ </message>
+ <message name="applyACLResponse">
+ <part name="parameters" element="cmism:applyACLResponse" />
+ </message>
+ <message name="queryRequest">
+ <part name="parameters" element="cmism:query" />
+ </message>
+ <message name="queryResponse">
+ <part name="parameters" element="cmism:queryResponse" />
+ </message>
+ <message name="getContentChangesRequest">
+ <part name="parameters" element="cmism:getContentChanges" />
+ </message>
+ <message name="getContentChangesResponse">
+ <part name="parameters" element="cmism:getContentChangesResponse" />
+ </message>
+ <message name="addObjectToFolderRequest">
+ <part name="parameters" element="cmism:addObjectToFolder" />
+ </message>
+ <message name="addObjectToFolderResponse">
+ <part name="parameters" element="cmism:addObjectToFolderResponse" />
+ </message>
+ <message name="removeObjectFromFolderRequest">
+ <part name="parameters" element="cmism:removeObjectFromFolder" />
+ </message>
+ <message name="removeObjectFromFolderResponse">
+ <part name="parameters" element="cmism:removeObjectFromFolderResponse" />
+ </message>
+ <message name="getDescendantsRequest">
+ <part name="parameters" element="cmism:getDescendants" />
+ </message>
+ <message name="getDescendantsResponse">
+ <part name="parameters" element="cmism:getDescendantsResponse" />
+ </message>
+ <message name="getChildrenRequest">
+ <part name="parameters" element="cmism:getChildren" />
+ </message>
+ <message name="getChildrenResponse">
+ <part name="parameters" element="cmism:getChildrenResponse" />
+ </message>
+ <message name="getFolderParentRequest">
+ <part name="parameters" element="cmism:getFolderParent" />
+ </message>
+ <message name="getFolderParentResponse">
+ <part name="parameters" element="cmism:getFolderParentResponse" />
+ </message>
+ <message name="getObjectParentsRequest">
+ <part name="parameters" element="cmism:getObjectParents" />
+ </message>
+ <message name="getObjectParentsResponse">
+ <part name="parameters" element="cmism:getObjectParentsResponse" />
+ </message>
+ <message name="getRenditionsRequest">
+ <part name="parameters" element="cmism:getRenditions" />
+ </message>
+ <message name="getRenditionsResponse">
+ <part name="parameters" element="cmism:getRenditionsResponse" />
+ </message>
+ <message name="getCheckedOutDocsRequest">
+ <part name="parameters" element="cmism:getCheckedOutDocs" />
+ </message>
+ <message name="getCheckedOutDocsResponse">
+ <part name="parameters" element="cmism:getCheckedOutDocsResponse" />
+ </message>
+ <message name="createDocumentRequest">
+ <part name="parameters" element="cmism:createDocument" />
+ </message>
+ <message name="createDocumentResponse">
+ <part name="parameters" element="cmism:createDocumentResponse" />
+ </message>
+ <message name="createDocumentFromSourceRequest">
+ <part name="parameters" element="cmism:createDocumentFromSource" />
+ </message>
+ <message name="createDocumentFromSourceResponse">
+ <part name="parameters" element="cmism:createDocumentFromSourceResponse" />
+ </message>
+ <message name="createFolderRequest">
+ <part name="parameters" element="cmism:createFolder" />
+ </message>
+ <message name="createFolderResponse">
+ <part name="parameters" element="cmism:createFolderResponse" />
+ </message>
+ <message name="createRelationshipRequest">
+ <part name="parameters" element="cmism:createRelationship" />
+ </message>
+ <message name="createRelationshipResponse">
+ <part name="parameters" element="cmism:createRelationshipResponse" />
+ </message>
+ <message name="createPolicyRequest">
+ <part name="parameters" element="cmism:createPolicy" />
+ </message>
+ <message name="createPolicyResponse">
+ <part name="parameters" element="cmism:createPolicyResponse" />
+ </message>
+ <message name="getAllowableActionsRequest">
+ <part name="parameters" element="cmism:getAllowableActions" />
+ </message>
+ <message name="getAllowableActionsResponse">
+ <part name="parameters" element="cmism:getAllowableActionsResponse" />
+ </message>
+ <message name="getObjectRequest">
+ <part name="parameters" element="cmism:getObject" />
+ </message>
+ <message name="getObjectResponse">
+ <part name="parameters" element="cmism:getObjectResponse" />
+ </message>
+ <message name="getPropertiesRequest">
+ <part name="parameters" element="cmism:getProperties" />
+ </message>
+ <message name="getPropertiesResponse">
+ <part name="parameters" element="cmism:getPropertiesResponse" />
+ </message>
+ <message name="getObjectByPathRequest">
+ <part name="parameters" element="cmism:getObjectByPath" />
+ </message>
+ <message name="getObjectByPathResponse">
+ <part name="parameters" element="cmism:getObjectByPathResponse" />
+ </message>
+ <message name="getContentStreamRequest">
+ <part name="parameters" element="cmism:getContentStream" />
+ </message>
+ <message name="getContentStreamResponse">
+ <part name="parameters" element="cmism:getContentStreamResponse" />
+ </message>
+ <message name="updatePropertiesRequest">
+ <part name="parameters" element="cmism:updateProperties" />
+ </message>
+ <message name="updatePropertiesResponse">
+ <part name="parameters" element="cmism:updatePropertiesResponse" />
+ </message>
+ <message name="moveObjectRequest">
+ <part name="parameters" element="cmism:moveObject" />
+ </message>
+ <message name="moveObjectResponse">
+ <part name="parameters" element="cmism:moveObjectResponse" />
+ </message>
+ <message name="deleteObjectRequest">
+ <part name="parameters" element="cmism:deleteObject" />
+ </message>
+ <message name="deleteObjectResponse">
+ <part name="parameters" element="cmism:deleteObjectResponse" />
+ </message>
+ <message name="deleteTreeRequest">
+ <part name="parameters" element="cmism:deleteTree" />
+ </message>
+ <message name="deleteTreeResponse">
+ <part name="parameters" element="cmism:deleteTreeResponse" />
+ </message>
+ <message name="setContentStreamRequest">
+ <part name="parameters" element="cmism:setContentStream" />
+ </message>
+ <message name="setContentStreamResponse">
+ <part name="parameters" element="cmism:setContentStreamResponse" />
+ </message>
+ <message name="deleteContentStreamRequest">
+ <part name="parameters" element="cmism:deleteContentStream" />
+ </message>
+ <message name="deleteContentStreamResponse">
+ <part name="parameters" element="cmism:deleteContentStreamResponse" />
+ </message>
+ <message name="applyPolicyRequest">
+ <part name="parameters" element="cmism:applyPolicy" />
+ </message>
+ <message name="applyPolicyResponse">
+ <part name="parameters" element="cmism:applyPolicyResponse" />
+ </message>
+ <message name="removePolicyRequest">
+ <part name="parameters" element="cmism:removePolicy" />
+ </message>
+ <message name="removePolicyResponse">
+ <part name="parameters" element="cmism:removePolicyResponse" />
+ </message>
+ <message name="getAppliedPoliciesRequest">
+ <part name="parameters" element="cmism:getAppliedPolicies" />
+ </message>
+ <message name="getAppliedPoliciesResponse">
+ <part name="parameters" element="cmism:getAppliedPoliciesResponse" />
+ </message>
+ <message name="getObjectRelationshipsRequest">
+ <part name="parameters" element="cmism:getObjectRelationships" />
+ </message>
+ <message name="getObjectRelationshipsResponse">
+ <part name="parameters" element="cmism:getObjectRelationshipsResponse" />
+ </message>
+ <message name="getRepositoriesRequest">
+ <part name="parameters" element="cmism:getRepositories" />
+ </message>
+ <message name="getRepositoriesResponse">
+ <part name="parameters" element="cmism:getRepositoriesResponse" />
+ </message>
+ <message name="getRepositoryInfoRequest">
+ <part name="parameters" element="cmism:getRepositoryInfo" />
+ </message>
+ <message name="getRepositoryInfoResponse">
+ <part name="parameters" element="cmism:getRepositoryInfoResponse" />
+ </message>
+ <message name="getTypeChildrenRequest">
+ <part name="parameters" element="cmism:getTypeChildren" />
+ </message>
+ <message name="getTypeChildrenResponse">
+ <part name="parameters" element="cmism:getTypeChildrenResponse" />
+ </message>
+ <message name="getTypeDescendantsRequest">
+ <part name="parameters" element="cmism:getTypeDescendants" />
+ </message>
+ <message name="getTypeDescendantsResponse">
+ <part name="parameters" element="cmism:getTypeDescendantsResponse" />
+ </message>
+ <message name="getTypeDefinitionRequest">
+ <part name="parameters" element="cmism:getTypeDefinition" />
+ </message>
+ <message name="getTypeDefinitionResponse">
+ <part name="parameters" element="cmism:getTypeDefinitionResponse" />
+ </message>
+ <message name="checkOutRequest">
+ <part name="parameters" element="cmism:checkOut" />
+ </message>
+ <message name="checkOutResponse">
+ <part name="parameters" element="cmism:checkOutResponse" />
+ </message>
+ <message name="cancelCheckOutRequest">
+ <part name="parameters" element="cmism:cancelCheckOut" />
+ </message>
+ <message name="cancelCheckOutResponse">
+ <part name="parameters" element="cmism:cancelCheckOutResponse" />
+ </message>
+ <message name="checkInRequest">
+ <part name="parameters" element="cmism:checkIn" />
+ </message>
+ <message name="checkInResponse">
+ <part name="parameters" element="cmism:checkInResponse" />
+ </message>
+ <message name="getObjectOfLatestVersionRequest">
+ <part name="parameters" element="cmism:getObjectOfLatestVersion" />
+ </message>
+ <message name="getObjectOfLatestVersionResponse">
+ <part name="parameters" element="cmism:getObjectOfLatestVersionResponse" />
+ </message>
+ <message name="getPropertiesOfLatestVersionRequest">
+ <part name="parameters" element="cmism:getPropertiesOfLatestVersion" />
+ </message>
+ <message name="getPropertiesOfLatestVersionResponse">
+ <part name="parameters" element="cmism:getPropertiesOfLatestVersionResponse" />
+ </message>
+ <message name="getAllVersionsRequest">
+ <part name="parameters" element="cmism:getAllVersions" />
+ </message>
+ <message name="getAllVersionsResponse">
+ <part name="parameters" element="cmism:getAllVersionsResponse" />
+ </message>
+ <message name="getFolderTreeRequest">
+ <part name="parameters" element="cmism:getFolderTree" />
+ </message>
+ <message name="getFolderTreeResponse">
+ <part name="parameters" element="cmism:getFolderTreeResponse" />
+ </message>
+ <portType name="DiscoveryServicePort">
+ <operation name="query">
+ <input message="cmisw:queryRequest" />
+ <output message="cmisw:queryResponse" />
+ <fault name="cmisException" message="cmisw:cmisException" />
+ </operation>
+ <operation name="getContentChanges">
+ <input message="cmisw:getContentChangesRequest" />
+ <output message="cmisw:getContentChangesResponse" />
+ <fault name="cmisException" message="cmisw:cmisException" />
+ </operation>
+ </portType>
+ <portType name="MultiFilingServicePort">
+ <operation name="addObjectToFolder">
+ <input message="cmisw:addObjectToFolderRequest" />
+ <output message="cmisw:addObjectToFolderResponse" />
+ <fault name="cmisException" message="cmisw:cmisException" />
+ </operation>
+ <operation name="removeObjectFromFolder">
+ <input message="cmisw:removeObjectFromFolderRequest" />
+ <output message="cmisw:removeObjectFromFolderResponse" />
+ <fault name="cmisException" message="cmisw:cmisException" />
+ </operation>
+ </portType>
+ <portType name="NavigationServicePort">
+ <operation name="getDescendants">
+ <input message="cmisw:getDescendantsRequest" />
+ <output message="cmisw:getDescendantsResponse" />
+ <fault name="cmisException" message="cmisw:cmisException" />
+ </operation>
+ <operation name="getChildren">
+ <input message="cmisw:getChildrenRequest" />
+ <output message="cmisw:getChildrenResponse" />
+ <fault name="cmisException" message="cmisw:cmisException" />
+ </operation>
+ <operation name="getFolderParent">
+ <input message="cmisw:getFolderParentRequest" />
+ <output message="cmisw:getFolderParentResponse" />
+ <fault name="cmisException" message="cmisw:cmisException" />
+ </operation>
+ <operation name="getFolderTree">
+ <input message="cmisw:getFolderTreeRequest" />
+ <output message="cmisw:getFolderTreeResponse" />
+ <fault name="cmisException" message="cmisw:cmisException" />
+ </operation>
+ <operation name="getObjectParents">
+ <input message="cmisw:getObjectParentsRequest" />
+ <output message="cmisw:getObjectParentsResponse" />
+ <fault name="cmisException" message="cmisw:cmisException" />
+ </operation>
+ <operation name="getCheckedOutDocs">
+ <input message="cmisw:getCheckedOutDocsRequest" />
+ <output message="cmisw:getCheckedOutDocsResponse" />
+ <fault name="cmisException" message="cmisw:cmisException" />
+ </operation>
+ </portType>
+ <portType name="ObjectServicePort">
+ <operation name="createDocument">
+ <input message="cmisw:createDocumentRequest" />
+ <output message="cmisw:createDocumentResponse" />
+ <fault name="cmisException" message="cmisw:cmisException" />
+ </operation>
+ <operation name="createDocumentFromSource">
+ <input message="cmisw:createDocumentFromSourceRequest" />
+ <output message="cmisw:createDocumentFromSourceResponse" />
+ <fault name="cmisException" message="cmisw:cmisException" />
+ </operation>
+ <operation name="createFolder">
+ <input message="cmisw:createFolderRequest" />
+ <output message="cmisw:createFolderResponse" />
+ <fault name="cmisException" message="cmisw:cmisException" />
+ </operation>
+ <operation name="createRelationship">
+ <input message="cmisw:createRelationshipRequest" />
+ <output message="cmisw:createRelationshipResponse" />
+ <fault name="cmisException" message="cmisw:cmisException" />
+ </operation>
+ <operation name="createPolicy">
+ <input message="cmisw:createPolicyRequest" />
+ <output message="cmisw:createPolicyResponse" />
+ <fault name="cmisException" message="cmisw:cmisException" />
+ </operation>
+ <operation name="getAllowableActions">
+ <input message="cmisw:getAllowableActionsRequest" />
+ <output message="cmisw:getAllowableActionsResponse" />
+ <fault name="cmisException" message="cmisw:cmisException" />
+ </operation>
+ <operation name="getObject">
+ <input message="cmisw:getObjectRequest" />
+ <output message="cmisw:getObjectResponse" />
+ <fault name="cmisException" message="cmisw:cmisException" />
+ </operation>
+ <operation name="getProperties">
+ <input message="cmisw:getPropertiesRequest" />
+ <output message="cmisw:getPropertiesResponse" />
+ <fault name="cmisException" message="cmisw:cmisException" />
+ </operation>
+ <operation name="getRenditions">
+ <input message="cmisw:getRenditionsRequest" />
+ <output message="cmisw:getRenditionsResponse" />
+ <fault name="cmisException" message="cmisw:cmisException" />
+ </operation>
+ <operation name="getObjectByPath">
+ <input message="cmisw:getObjectByPathRequest" />
+ <output message="cmisw:getObjectByPathResponse" />
+ <fault name="cmisException" message="cmisw:cmisException" />
+ </operation>
+ <operation name="getContentStream">
+ <input message="cmisw:getContentStreamRequest" />
+ <output message="cmisw:getContentStreamResponse" />
+ <fault name="cmisException" message="cmisw:cmisException" />
+ </operation>
+ <operation name="updateProperties">
+ <input message="cmisw:updatePropertiesRequest" />
+ <output message="cmisw:updatePropertiesResponse" />
+ <fault name="cmisException" message="cmisw:cmisException" />
+ </operation>
+ <operation name="moveObject">
+ <input message="cmisw:moveObjectRequest" />
+ <output message="cmisw:moveObjectResponse" />
+ <fault name="cmisException" message="cmisw:cmisException" />
+ </operation>
+ <operation name="deleteObject">
+ <input message="cmisw:deleteObjectRequest" />
+ <output message="cmisw:deleteObjectResponse" />
+ <fault name="cmisException" message="cmisw:cmisException" />
+ </operation>
+ <operation name="deleteTree">
+ <input message="cmisw:deleteTreeRequest" />
+ <output message="cmisw:deleteTreeResponse" />
+ <fault name="cmisException" message="cmisw:cmisException" />
+ </operation>
+ <operation name="setContentStream">
+ <input message="cmisw:setContentStreamRequest" />
+ <output message="cmisw:setContentStreamResponse" />
+ <fault name="cmisException" message="cmisw:cmisException" />
+ </operation>
+ <operation name="deleteContentStream">
+ <input message="cmisw:deleteContentStreamRequest" />
+ <output message="cmisw:deleteContentStreamResponse" />
+ <fault name="cmisException" message="cmisw:cmisException" />
+ </operation>
+ </portType>
+ <portType name="PolicyServicePort">
+ <operation name="applyPolicy">
+ <input message="cmisw:applyPolicyRequest" />
+ <output message="cmisw:applyPolicyResponse" />
+ <fault name="cmisException" message="cmisw:cmisException" />
+ </operation>
+ <operation name="removePolicy">
+ <input message="cmisw:removePolicyRequest" />
+ <output message="cmisw:removePolicyResponse" />
+ <fault name="cmisException" message="cmisw:cmisException" />
+ </operation>
+ <operation name="getAppliedPolicies">
+ <input message="cmisw:getAppliedPoliciesRequest" />
+ <output message="cmisw:getAppliedPoliciesResponse" />
+ <fault name="cmisException" message="cmisw:cmisException" />
+ </operation>
+ </portType>
+ <portType name="RelationshipServicePort">
+ <operation name="getObjectRelationships">
+ <input message="cmisw:getObjectRelationshipsRequest" />
+ <output message="cmisw:getObjectRelationshipsResponse" />
+ <fault name="cmisException" message="cmisw:cmisException" />
+ </operation>
+ </portType>
+ <portType name="RepositoryServicePort">
+ <operation name="getRepositories">
+ <input message="cmisw:getRepositoriesRequest" />
+ <output message="cmisw:getRepositoriesResponse" />
+ <fault name="cmisException" message="cmisw:cmisException" />
+ </operation>
+ <operation name="getRepositoryInfo">
+ <input message="cmisw:getRepositoryInfoRequest" />
+ <output message="cmisw:getRepositoryInfoResponse" />
+ <fault name="cmisException" message="cmisw:cmisException" />
+ </operation>
+ <operation name="getTypeChildren">
+ <input message="cmisw:getTypeChildrenRequest" />
+ <output message="cmisw:getTypeChildrenResponse" />
+ <fault name="cmisException" message="cmisw:cmisException" />
+ </operation>
+ <operation name="getTypeDescendants">
+ <input message="cmisw:getTypeDescendantsRequest" />
+ <output message="cmisw:getTypeDescendantsResponse" />
+ <fault name="cmisException" message="cmisw:cmisException" />
+ </operation>
+ <operation name="getTypeDefinition">
+ <input message="cmisw:getTypeDefinitionRequest" />
+ <output message="cmisw:getTypeDefinitionResponse" />
+ <fault name="cmisException" message="cmisw:cmisException" />
+ </operation>
+ </portType>
+ <portType name="VersioningServicePort">
+ <operation name="checkOut">
+ <input message="cmisw:checkOutRequest" />
+ <output message="cmisw:checkOutResponse" />
+ <fault name="cmisException" message="cmisw:cmisException" />
+ </operation>
+ <operation name="cancelCheckOut">
+ <input message="cmisw:cancelCheckOutRequest" />
+ <output message="cmisw:cancelCheckOutResponse" />
+ <fault name="cmisException" message="cmisw:cmisException" />
+ </operation>
+ <operation name="checkIn">
+ <input message="cmisw:checkInRequest" />
+ <output message="cmisw:checkInResponse" />
+ <fault name="cmisException" message="cmisw:cmisException" />
+ </operation>
+ <operation name="getObjectOfLatestVersion">
+ <input message="cmisw:getObjectOfLatestVersionRequest" />
+ <output message="cmisw:getObjectOfLatestVersionResponse" />
+ <fault name="cmisException" message="cmisw:cmisException" />
+ </operation>
+ <operation name="getPropertiesOfLatestVersion">
+ <input message="cmisw:getPropertiesOfLatestVersionRequest" />
+ <output message="cmisw:getPropertiesOfLatestVersionResponse" />
+ <fault name="cmisException" message="cmisw:cmisException" />
+ </operation>
+ <operation name="getAllVersions">
+ <input message="cmisw:getAllVersionsRequest" />
+ <output message="cmisw:getAllVersionsResponse" />
+ <fault name="cmisException" message="cmisw:cmisException" />
+ </operation>
+ </portType>
+ <portType name="ACLServicePort">
+ <operation name="getACL">
+ <input message="cmisw:getACLRequest" />
+ <output message="cmisw:getACLResponse" />
+ <fault name="cmisException" message="cmisw:cmisException" />
+ </operation>
+ <operation name="applyACL">
+ <input message="cmisw:applyACLRequest" />
+ <output message="cmisw:applyACLResponse" />
+ <fault name="cmisException" message="cmisw:cmisException" />
+ </operation>
+ </portType>
+ <binding name="DiscoveryServicePortBinding" type="cmisw:DiscoveryServicePort">
+ <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
+ <operation name="query">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault use="literal" name="cmisException" namespace="" />
+ </fault>
+ </operation>
+ <operation name="getContentChanges">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault use="literal" name="cmisException" namespace="" />
+ </fault>
+ </operation>
+ </binding>
+ <binding name="MultiFilingServicePortBinding" type="cmisw:MultiFilingServicePort">
+ <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
+ <operation name="addObjectToFolder">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault use="literal" name="cmisException" namespace="" />
+ </fault>
+ </operation>
+ <operation name="removeObjectFromFolder">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault use="literal" name="cmisException" namespace="" />
+ </fault>
+ </operation>
+ </binding>
+ <binding name="NavigationServicePortBinding" type="cmisw:NavigationServicePort">
+ <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
+ <operation name="getDescendants">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault use="literal" name="cmisException" namespace="" />
+ </fault>
+ </operation>
+ <operation name="getChildren">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault use="literal" name="cmisException" namespace="" />
+ </fault>
+ </operation>
+ <operation name="getFolderParent">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault use="literal" name="cmisException" namespace="" />
+ </fault>
+ </operation>
+ <operation name="getFolderTree">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault use="literal" name="cmisException" namespace="" />
+ </fault>
+ </operation>
+ <operation name="getObjectParents">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault use="literal" name="cmisException" namespace="" />
+ </fault>
+ </operation>
+ <operation name="getCheckedOutDocs">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault use="literal" name="cmisException" namespace="" />
+ </fault>
+ </operation>
+ </binding>
+ <binding name="ObjectServicePortBinding" type="cmisw:ObjectServicePort">
+ <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
+ <operation name="createDocument">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault use="literal" name="cmisException" namespace="" />
+ </fault>
+ </operation>
+ <operation name="createDocumentFromSource">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault use="literal" name="cmisException" namespace="" />
+ </fault>
+ </operation>
+ <operation name="createFolder">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault use="literal" name="cmisException" namespace="" />
+ </fault>
+ </operation>
+ <operation name="createRelationship">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault use="literal" name="cmisException" namespace="" />
+ </fault>
+ </operation>
+ <operation name="createPolicy">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault use="literal" name="cmisException" namespace="" />
+ </fault>
+ </operation>
+ <operation name="getAllowableActions">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault use="literal" name="cmisException" namespace="" />
+ </fault>
+ </operation>
+ <operation name="getObject">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault use="literal" name="cmisException" namespace="" />
+ </fault>
+ </operation>
+ <operation name="getProperties">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault use="literal" name="cmisException" namespace="" />
+ </fault>
+ </operation>
+ <operation name="getRenditions">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault use="literal" name="cmisException" namespace="" />
+ </fault>
+ </operation>
+ <operation name="getObjectByPath">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault use="literal" name="cmisException" namespace="" />
+ </fault>
+ </operation>
+ <operation name="getContentStream">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault use="literal" name="cmisException" namespace="" />
+ </fault>
+ </operation>
+ <operation name="updateProperties">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault use="literal" name="cmisException" namespace="" />
+ </fault>
+ </operation>
+ <operation name="moveObject">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault use="literal" name="cmisException" namespace="" />
+ </fault>
+ </operation>
+ <operation name="deleteObject">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault use="literal" name="cmisException" namespace="" />
+ </fault>
+ </operation>
+ <operation name="deleteTree">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault use="literal" name="cmisException" namespace="" />
+ </fault>
+ </operation>
+ <operation name="setContentStream">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault use="literal" name="cmisException" namespace="" />
+ </fault>
+ </operation>
+ <operation name="deleteContentStream">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault use="literal" name="cmisException" namespace="" />
+ </fault>
+ </operation>
+ </binding>
+ <binding name="PolicyServicePortBinding" type="cmisw:PolicyServicePort">
+ <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
+ <operation name="applyPolicy">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault use="literal" name="cmisException" namespace="" />
+ </fault>
+ </operation>
+ <operation name="removePolicy">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault use="literal" name="cmisException" namespace="" />
+ </fault>
+ </operation>
+ <operation name="getAppliedPolicies">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault use="literal" name="cmisException" namespace="" />
+ </fault>
+ </operation>
+ </binding>
+ <binding name="RelationshipServicePortBinding" type="cmisw:RelationshipServicePort">
+ <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
+ <operation name="getObjectRelationships">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault use="literal" name="cmisException" namespace="" />
+ </fault>
+ </operation>
+ </binding>
+ <binding name="RepositoryServicePortBinding" type="cmisw:RepositoryServicePort">
+ <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
+ <operation name="getRepositories">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault use="literal" name="cmisException" namespace="" />
+ </fault>
+ </operation>
+ <operation name="getRepositoryInfo">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault use="literal" name="cmisException" namespace="" />
+ </fault>
+ </operation>
+ <operation name="getTypeChildren">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault use="literal" name="cmisException" namespace="" />
+ </fault>
+ </operation>
+ <operation name="getTypeDescendants">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault use="literal" name="cmisException" namespace="" />
+ </fault>
+ </operation>
+ <operation name="getTypeDefinition">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault use="literal" name="cmisException" namespace="" />
+ </fault>
+ </operation>
+ </binding>
+ <binding name="VersioningServicePortBinding" type="cmisw:VersioningServicePort">
+ <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
+ <operation name="checkOut">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault use="literal" name="cmisException" namespace="" />
+ </fault>
+ </operation>
+ <operation name="cancelCheckOut">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault use="literal" name="cmisException" namespace="" />
+ </fault>
+ </operation>
+ <operation name="checkIn">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault use="literal" name="cmisException" namespace="" />
+ </fault>
+ </operation>
+ <operation name="getObjectOfLatestVersion">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault use="literal" name="cmisException" namespace="" />
+ </fault>
+ </operation>
+ <operation name="getPropertiesOfLatestVersion">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault use="literal" name="cmisException" namespace="" />
+ </fault>
+ </operation>
+ <operation name="getAllVersions">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault use="literal" name="cmisException" namespace="" />
+ </fault>
+ </operation>
+ </binding>
+ <binding name="ACLServicePortBinding" type="cmisw:ACLServicePort">
+ <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
+ <operation name="getACL">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault use="literal" name="cmisException" namespace="" />
+ </fault>
+ </operation>
+ <operation name="applyACL">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault use="literal" name="cmisException" namespace="" />
+ </fault>
+ </operation>
+ </binding>
+ <service name="DiscoveryService">
+ <port name="DiscoveryServicePort" binding="cmisw:DiscoveryServicePortBinding">
+ <soap:address location="http://cmis/services/DiscoveryService.DiscoveryServicePort" />
+ </port>
+ </service>
+ <service name="MultiFilingService">
+ <port name="MultiFilingServicePort" binding="cmisw:MultiFilingServicePortBinding">
+ <soap:address location="http://cmis/services/MultiFilingService.MultiFilingServicePort" />
+ </port>
+ </service>
+ <service name="NavigationService">
+ <port name="NavigationServicePort" binding="cmisw:NavigationServicePortBinding">
+ <soap:address location="http://cmis/services/NavigationService.NavigationServicePort" />
+ </port>
+ </service>
+ <service name="ObjectService">
+ <port name="ObjectServicePort" binding="cmisw:ObjectServicePortBinding">
+ <soap:address location="http://cmis/services/ObjectService.ObjectServicePort" />
+ </port>
+ </service>
+ <service name="PolicyService">
+ <port name="PolicyServicePort" binding="cmisw:PolicyServicePortBinding">
+ <soap:address location="http://cmis/services/PolicyService.PolicyServicePort" />
+ </port>
+ </service>
+ <service name="RelationshipService">
+ <port name="RelationshipServicePort" binding="cmisw:RelationshipServicePortBinding">
+ <soap:address location="http://cmis/services/RelationshipService.RelationshipServicePort" />
+ </port>
+ </service>
+ <service name="RepositoryService">
+ <port name="RepositoryServicePort" binding="cmisw:RepositoryServicePortBinding">
+ <soap:address location="http://cmis/services/RepositoryService.RepositoryServicePort" />
+ </port>
+ </service>
+ <service name="VersioningService">
+ <port name="VersioningServicePort" binding="cmisw:VersioningServicePortBinding">
+ <soap:address location="http://cmis/services/VersioningService.VersioningServicePort" />
+ </port>
+ </service>
+ <service name="ACLService">
+ <port name="ACLServicePort" binding="cmisw:ACLServicePortBinding">
+ <soap:address location="http://cmis/services/ACLService.ACLServicePort" />
+ </port>
+ </service>
+</definitions>
\ No newline at end of file
diff --git a/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisACLType.datasource b/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisACLType.datasource
new file mode 100644
index 0000000..db1abfb
--- /dev/null
+++ b/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisACLType.datasource
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ This file is automatically generated by Visual Studio .Net. It is
+ used to store generic object data source configuration information.
+ Renaming the file extension or editing the content of this file may
+ cause the file to be unrecognizable by the program.
+-->
+<GenericObjectDataSource DisplayName="cmisACLType" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
+ <TypeInfo>DotCMIS.CMISWebServicesReference.cmisACLType, Service References.CMISWebServicesReference.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+</GenericObjectDataSource>
\ No newline at end of file
diff --git a/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisAllowableActionsType.datasource b/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisAllowableActionsType.datasource
new file mode 100644
index 0000000..443ead7
--- /dev/null
+++ b/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisAllowableActionsType.datasource
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ This file is automatically generated by Visual Studio .Net. It is
+ used to store generic object data source configuration information.
+ Renaming the file extension or editing the content of this file may
+ cause the file to be unrecognizable by the program.
+-->
+<GenericObjectDataSource DisplayName="cmisAllowableActionsType" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
+ <TypeInfo>DotCMIS.CMISWebServicesReference.cmisAllowableActionsType, Service References.CMISWebServicesReference.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+</GenericObjectDataSource>
\ No newline at end of file
diff --git a/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisContentStreamType.datasource b/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisContentStreamType.datasource
new file mode 100644
index 0000000..e5fa164
--- /dev/null
+++ b/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisContentStreamType.datasource
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ This file is automatically generated by Visual Studio .Net. It is
+ used to store generic object data source configuration information.
+ Renaming the file extension or editing the content of this file may
+ cause the file to be unrecognizable by the program.
+-->
+<GenericObjectDataSource DisplayName="cmisContentStreamType" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
+ <TypeInfo>DotCMIS.CMISWebServicesReference.cmisContentStreamType, Service References.CMISWebServicesReference.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+</GenericObjectDataSource>
\ No newline at end of file
diff --git a/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisExtensionType.datasource b/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisExtensionType.datasource
new file mode 100644
index 0000000..c2e0ce6
--- /dev/null
+++ b/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisExtensionType.datasource
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ This file is automatically generated by Visual Studio .Net. It is
+ used to store generic object data source configuration information.
+ Renaming the file extension or editing the content of this file may
+ cause the file to be unrecognizable by the program.
+-->
+<GenericObjectDataSource DisplayName="cmisExtensionType" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
+ <TypeInfo>DotCMIS.CMISWebServicesReference.cmisExtensionType, Service References.CMISWebServicesReference.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+</GenericObjectDataSource>
\ No newline at end of file
diff --git a/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisObjectInFolderContainerType.datasource b/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisObjectInFolderContainerType.datasource
new file mode 100644
index 0000000..f7bb4c9
--- /dev/null
+++ b/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisObjectInFolderContainerType.datasource
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ This file is automatically generated by Visual Studio .Net. It is
+ used to store generic object data source configuration information.
+ Renaming the file extension or editing the content of this file may
+ cause the file to be unrecognizable by the program.
+-->
+<GenericObjectDataSource DisplayName="cmisObjectInFolderContainerType" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
+ <TypeInfo>DotCMIS.CMISWebServicesReference.cmisObjectInFolderContainerType, Service References.CMISWebServicesReference.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+</GenericObjectDataSource>
\ No newline at end of file
diff --git a/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisObjectInFolderListType.datasource b/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisObjectInFolderListType.datasource
new file mode 100644
index 0000000..6ff9534
--- /dev/null
+++ b/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisObjectInFolderListType.datasource
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ This file is automatically generated by Visual Studio .Net. It is
+ used to store generic object data source configuration information.
+ Renaming the file extension or editing the content of this file may
+ cause the file to be unrecognizable by the program.
+-->
+<GenericObjectDataSource DisplayName="cmisObjectInFolderListType" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
+ <TypeInfo>DotCMIS.CMISWebServicesReference.cmisObjectInFolderListType, Service References.CMISWebServicesReference.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+</GenericObjectDataSource>
\ No newline at end of file
diff --git a/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisObjectListType.datasource b/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisObjectListType.datasource
new file mode 100644
index 0000000..b3d41f8
--- /dev/null
+++ b/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisObjectListType.datasource
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ This file is automatically generated by Visual Studio .Net. It is
+ used to store generic object data source configuration information.
+ Renaming the file extension or editing the content of this file may
+ cause the file to be unrecognizable by the program.
+-->
+<GenericObjectDataSource DisplayName="cmisObjectListType" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
+ <TypeInfo>DotCMIS.CMISWebServicesReference.cmisObjectListType, Service References.CMISWebServicesReference.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+</GenericObjectDataSource>
\ No newline at end of file
diff --git a/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisObjectParentsType.datasource b/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisObjectParentsType.datasource
new file mode 100644
index 0000000..b74e650
--- /dev/null
+++ b/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisObjectParentsType.datasource
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ This file is automatically generated by Visual Studio .Net. It is
+ used to store generic object data source configuration information.
+ Renaming the file extension or editing the content of this file may
+ cause the file to be unrecognizable by the program.
+-->
+<GenericObjectDataSource DisplayName="cmisObjectParentsType" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
+ <TypeInfo>DotCMIS.CMISWebServicesReference.cmisObjectParentsType, Service References.CMISWebServicesReference.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+</GenericObjectDataSource>
\ No newline at end of file
diff --git a/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisObjectType.datasource b/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisObjectType.datasource
new file mode 100644
index 0000000..5f84a0d
--- /dev/null
+++ b/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisObjectType.datasource
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ This file is automatically generated by Visual Studio .Net. It is
+ used to store generic object data source configuration information.
+ Renaming the file extension or editing the content of this file may
+ cause the file to be unrecognizable by the program.
+-->
+<GenericObjectDataSource DisplayName="cmisObjectType" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
+ <TypeInfo>DotCMIS.CMISWebServicesReference.cmisObjectType, Service References.CMISWebServicesReference.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+</GenericObjectDataSource>
\ No newline at end of file
diff --git a/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisPropertiesType.datasource b/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisPropertiesType.datasource
new file mode 100644
index 0000000..f961985
--- /dev/null
+++ b/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisPropertiesType.datasource
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ This file is automatically generated by Visual Studio .Net. It is
+ used to store generic object data source configuration information.
+ Renaming the file extension or editing the content of this file may
+ cause the file to be unrecognizable by the program.
+-->
+<GenericObjectDataSource DisplayName="cmisPropertiesType" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
+ <TypeInfo>DotCMIS.CMISWebServicesReference.cmisPropertiesType, Service References.CMISWebServicesReference.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+</GenericObjectDataSource>
\ No newline at end of file
diff --git a/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisRenditionType.datasource b/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisRenditionType.datasource
new file mode 100644
index 0000000..f5fc306
--- /dev/null
+++ b/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisRenditionType.datasource
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ This file is automatically generated by Visual Studio .Net. It is
+ used to store generic object data source configuration information.
+ Renaming the file extension or editing the content of this file may
+ cause the file to be unrecognizable by the program.
+-->
+<GenericObjectDataSource DisplayName="cmisRenditionType" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
+ <TypeInfo>DotCMIS.CMISWebServicesReference.cmisRenditionType, Service References.CMISWebServicesReference.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+</GenericObjectDataSource>
\ No newline at end of file
diff --git a/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisRepositoryEntryType.datasource b/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisRepositoryEntryType.datasource
new file mode 100644
index 0000000..225d3a5
--- /dev/null
+++ b/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisRepositoryEntryType.datasource
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ This file is automatically generated by Visual Studio .Net. It is
+ used to store generic object data source configuration information.
+ Renaming the file extension or editing the content of this file may
+ cause the file to be unrecognizable by the program.
+-->
+<GenericObjectDataSource DisplayName="cmisRepositoryEntryType" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
+ <TypeInfo>DotCMIS.CMISWebServicesReference.cmisRepositoryEntryType, Service References.CMISWebServicesReference.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+</GenericObjectDataSource>
\ No newline at end of file
diff --git a/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisRepositoryInfoType.datasource b/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisRepositoryInfoType.datasource
new file mode 100644
index 0000000..214195e
--- /dev/null
+++ b/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisRepositoryInfoType.datasource
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ This file is automatically generated by Visual Studio .Net. It is
+ used to store generic object data source configuration information.
+ Renaming the file extension or editing the content of this file may
+ cause the file to be unrecognizable by the program.
+-->
+<GenericObjectDataSource DisplayName="cmisRepositoryInfoType" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
+ <TypeInfo>DotCMIS.CMISWebServicesReference.cmisRepositoryInfoType, Service References.CMISWebServicesReference.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+</GenericObjectDataSource>
\ No newline at end of file
diff --git a/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisTypeContainer.datasource b/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisTypeContainer.datasource
new file mode 100644
index 0000000..483ed2d
--- /dev/null
+++ b/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisTypeContainer.datasource
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ This file is automatically generated by Visual Studio .Net. It is
+ used to store generic object data source configuration information.
+ Renaming the file extension or editing the content of this file may
+ cause the file to be unrecognizable by the program.
+-->
+<GenericObjectDataSource DisplayName="cmisTypeContainer" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
+ <TypeInfo>DotCMIS.CMISWebServicesReference.cmisTypeContainer, Service References.CMISWebServicesReference.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+</GenericObjectDataSource>
\ No newline at end of file
diff --git a/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisTypeDefinitionListType.datasource b/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisTypeDefinitionListType.datasource
new file mode 100644
index 0000000..c44614e
--- /dev/null
+++ b/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisTypeDefinitionListType.datasource
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ This file is automatically generated by Visual Studio .Net. It is
+ used to store generic object data source configuration information.
+ Renaming the file extension or editing the content of this file may
+ cause the file to be unrecognizable by the program.
+-->
+<GenericObjectDataSource DisplayName="cmisTypeDefinitionListType" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
+ <TypeInfo>DotCMIS.CMISWebServicesReference.cmisTypeDefinitionListType, Service References.CMISWebServicesReference.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+</GenericObjectDataSource>
\ No newline at end of file
diff --git a/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisTypeDefinitionType.datasource b/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisTypeDefinitionType.datasource
new file mode 100644
index 0000000..fe40f4d
--- /dev/null
+++ b/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.cmisTypeDefinitionType.datasource
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ This file is automatically generated by Visual Studio .Net. It is
+ used to store generic object data source configuration information.
+ Renaming the file extension or editing the content of this file may
+ cause the file to be unrecognizable by the program.
+-->
+<GenericObjectDataSource DisplayName="cmisTypeDefinitionType" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
+ <TypeInfo>DotCMIS.CMISWebServicesReference.cmisTypeDefinitionType, Service References.CMISWebServicesReference.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+</GenericObjectDataSource>
\ No newline at end of file
diff --git a/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.deleteTreeResponseFailedToDelete.datasource b/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.deleteTreeResponseFailedToDelete.datasource
new file mode 100644
index 0000000..4392e06
--- /dev/null
+++ b/DotCMIS/Service References/CMISWebServicesReference/DotCMIS.CMISWebServicesReference.deleteTreeResponseFailedToDelete.datasource
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ This file is automatically generated by Visual Studio .Net. It is
+ used to store generic object data source configuration information.
+ Renaming the file extension or editing the content of this file may
+ cause the file to be unrecognizable by the program.
+-->
+<GenericObjectDataSource DisplayName="deleteTreeResponseFailedToDelete" Version="1.0" xmlns="urn:schemas-microsoft-com:xml-msdatasource">
+ <TypeInfo>DotCMIS.CMISWebServicesReference.deleteTreeResponseFailedToDelete, Service References.CMISWebServicesReference.Reference.cs, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</TypeInfo>
+</GenericObjectDataSource>
\ No newline at end of file
diff --git a/DotCMIS/Service References/CMISWebServicesReference/Reference.cs b/DotCMIS/Service References/CMISWebServicesReference/Reference.cs
new file mode 100644
index 0000000..355de0d
--- /dev/null
+++ b/DotCMIS/Service References/CMISWebServicesReference/Reference.cs
@@ -0,0 +1,9652 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.1
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace DotCMIS.CMISWebServicesReference {
+
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ public partial class cmisFaultType : object, System.ComponentModel.INotifyPropertyChanged {
+
+ private enumServiceException typeField;
+
+ private string codeField;
+
+ private string messageField;
+
+ private System.Xml.XmlElement[] anyField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=0)]
+ public enumServiceException type {
+ get {
+ return this.typeField;
+ }
+ set {
+ this.typeField = value;
+ this.RaisePropertyChanged("type");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(DataType="integer", Order=1)]
+ public string code {
+ get {
+ return this.codeField;
+ }
+ set {
+ this.codeField = value;
+ this.RaisePropertyChanged("code");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=2)]
+ public string message {
+ get {
+ return this.messageField;
+ }
+ set {
+ this.messageField = value;
+ this.RaisePropertyChanged("message");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyElementAttribute(Order=3)]
+ public System.Xml.XmlElement[] Any {
+ get {
+ return this.anyField;
+ }
+ set {
+ this.anyField = value;
+ this.RaisePropertyChanged("Any");
+ }
+ }
+
+ public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+
+ protected void RaisePropertyChanged(string propertyName) {
+ System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+ if ((propertyChanged != null)) {
+ propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ public enum enumServiceException {
+
+ /// <remarks/>
+ constraint,
+
+ /// <remarks/>
+ nameConstraintViolation,
+
+ /// <remarks/>
+ contentAlreadyExists,
+
+ /// <remarks/>
+ filterNotValid,
+
+ /// <remarks/>
+ invalidArgument,
+
+ /// <remarks/>
+ notSupported,
+
+ /// <remarks/>
+ objectNotFound,
+
+ /// <remarks/>
+ permissionDenied,
+
+ /// <remarks/>
+ runtime,
+
+ /// <remarks/>
+ storage,
+
+ /// <remarks/>
+ streamNotSupported,
+
+ /// <remarks/>
+ updateConflict,
+
+ /// <remarks/>
+ versioning,
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public partial class cmisRenditionType : object, System.ComponentModel.INotifyPropertyChanged {
+
+ private string streamIdField;
+
+ private string mimetypeField;
+
+ private string lengthField;
+
+ private string kindField;
+
+ private string titleField;
+
+ private string heightField;
+
+ private string widthField;
+
+ private string renditionDocumentIdField;
+
+ private System.Xml.XmlElement[] anyField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=0)]
+ public string streamId {
+ get {
+ return this.streamIdField;
+ }
+ set {
+ this.streamIdField = value;
+ this.RaisePropertyChanged("streamId");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=1)]
+ public string mimetype {
+ get {
+ return this.mimetypeField;
+ }
+ set {
+ this.mimetypeField = value;
+ this.RaisePropertyChanged("mimetype");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(DataType="integer", Order=2)]
+ public string length {
+ get {
+ return this.lengthField;
+ }
+ set {
+ this.lengthField = value;
+ this.RaisePropertyChanged("length");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=3)]
+ public string kind {
+ get {
+ return this.kindField;
+ }
+ set {
+ this.kindField = value;
+ this.RaisePropertyChanged("kind");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=4)]
+ public string title {
+ get {
+ return this.titleField;
+ }
+ set {
+ this.titleField = value;
+ this.RaisePropertyChanged("title");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(DataType="integer", Order=5)]
+ public string height {
+ get {
+ return this.heightField;
+ }
+ set {
+ this.heightField = value;
+ this.RaisePropertyChanged("height");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(DataType="integer", Order=6)]
+ public string width {
+ get {
+ return this.widthField;
+ }
+ set {
+ this.widthField = value;
+ this.RaisePropertyChanged("width");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=7)]
+ public string renditionDocumentId {
+ get {
+ return this.renditionDocumentIdField;
+ }
+ set {
+ this.renditionDocumentIdField = value;
+ this.RaisePropertyChanged("renditionDocumentId");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyElementAttribute(Order=8)]
+ public System.Xml.XmlElement[] Any {
+ get {
+ return this.anyField;
+ }
+ set {
+ this.anyField = value;
+ this.RaisePropertyChanged("Any");
+ }
+ }
+
+ public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+
+ protected void RaisePropertyChanged(string propertyName) {
+ System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+ if ((propertyChanged != null)) {
+ propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public partial class cmisListOfIdsType : object, System.ComponentModel.INotifyPropertyChanged {
+
+ private string[] idField;
+
+ private System.Xml.XmlElement[] anyField;
+
+ private System.Xml.XmlAttribute[] anyAttrField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("id", Order=0)]
+ public string[] id {
+ get {
+ return this.idField;
+ }
+ set {
+ this.idField = value;
+ this.RaisePropertyChanged("id");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyElementAttribute(Order=1)]
+ public System.Xml.XmlElement[] Any {
+ get {
+ return this.anyField;
+ }
+ set {
+ this.anyField = value;
+ this.RaisePropertyChanged("Any");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyAttributeAttribute()]
+ public System.Xml.XmlAttribute[] AnyAttr {
+ get {
+ return this.anyAttrField;
+ }
+ set {
+ this.anyAttrField = value;
+ this.RaisePropertyChanged("AnyAttr");
+ }
+ }
+
+ public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+
+ protected void RaisePropertyChanged(string propertyName) {
+ System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+ if ((propertyChanged != null)) {
+ propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public partial class cmisAccessControlPrincipalType : object, System.ComponentModel.INotifyPropertyChanged {
+
+ private string principalIdField;
+
+ private System.Xml.XmlElement[] anyField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=0)]
+ public string principalId {
+ get {
+ return this.principalIdField;
+ }
+ set {
+ this.principalIdField = value;
+ this.RaisePropertyChanged("principalId");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyElementAttribute(Order=1)]
+ public System.Xml.XmlElement[] Any {
+ get {
+ return this.anyField;
+ }
+ set {
+ this.anyField = value;
+ this.RaisePropertyChanged("Any");
+ }
+ }
+
+ public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+
+ protected void RaisePropertyChanged(string propertyName) {
+ System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+ if ((propertyChanged != null)) {
+ propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public partial class cmisAccessControlEntryType : object, System.ComponentModel.INotifyPropertyChanged {
+
+ private cmisAccessControlPrincipalType principalField;
+
+ private string[] permissionField;
+
+ private bool directField;
+
+ private System.Xml.XmlElement[] anyField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=0)]
+ public cmisAccessControlPrincipalType principal {
+ get {
+ return this.principalField;
+ }
+ set {
+ this.principalField = value;
+ this.RaisePropertyChanged("principal");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("permission", Order=1)]
+ public string[] permission {
+ get {
+ return this.permissionField;
+ }
+ set {
+ this.permissionField = value;
+ this.RaisePropertyChanged("permission");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=2)]
+ public bool direct {
+ get {
+ return this.directField;
+ }
+ set {
+ this.directField = value;
+ this.RaisePropertyChanged("direct");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyElementAttribute(Order=3)]
+ public System.Xml.XmlElement[] Any {
+ get {
+ return this.anyField;
+ }
+ set {
+ this.anyField = value;
+ this.RaisePropertyChanged("Any");
+ }
+ }
+
+ public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+
+ protected void RaisePropertyChanged(string propertyName) {
+ System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+ if ((propertyChanged != null)) {
+ propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public partial class cmisAccessControlListType : object, System.ComponentModel.INotifyPropertyChanged {
+
+ private cmisAccessControlEntryType[] permissionField;
+
+ private System.Xml.XmlElement[] anyField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("permission", Order=0)]
+ public cmisAccessControlEntryType[] permission {
+ get {
+ return this.permissionField;
+ }
+ set {
+ this.permissionField = value;
+ this.RaisePropertyChanged("permission");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyElementAttribute(Order=1)]
+ public System.Xml.XmlElement[] Any {
+ get {
+ return this.anyField;
+ }
+ set {
+ this.anyField = value;
+ this.RaisePropertyChanged("Any");
+ }
+ }
+
+ public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+
+ protected void RaisePropertyChanged(string propertyName) {
+ System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+ if ((propertyChanged != null)) {
+ propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public partial class cmisChangeEventType : object, System.ComponentModel.INotifyPropertyChanged {
+
+ private enumTypeOfChanges changeTypeField;
+
+ private System.DateTime changeTimeField;
+
+ private System.Xml.XmlElement[] anyField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=0)]
+ public enumTypeOfChanges changeType {
+ get {
+ return this.changeTypeField;
+ }
+ set {
+ this.changeTypeField = value;
+ this.RaisePropertyChanged("changeType");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=1)]
+ public System.DateTime changeTime {
+ get {
+ return this.changeTimeField;
+ }
+ set {
+ this.changeTimeField = value;
+ this.RaisePropertyChanged("changeTime");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyElementAttribute(Order=2)]
+ public System.Xml.XmlElement[] Any {
+ get {
+ return this.anyField;
+ }
+ set {
+ this.anyField = value;
+ this.RaisePropertyChanged("Any");
+ }
+ }
+
+ public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+
+ protected void RaisePropertyChanged(string propertyName) {
+ System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+ if ((propertyChanged != null)) {
+ propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public enum enumTypeOfChanges {
+
+ /// <remarks/>
+ created,
+
+ /// <remarks/>
+ updated,
+
+ /// <remarks/>
+ deleted,
+
+ /// <remarks/>
+ security,
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public partial class cmisAllowableActionsType : object, System.ComponentModel.INotifyPropertyChanged {
+
+ private bool canDeleteObjectField;
+
+ private bool canDeleteObjectFieldSpecified;
+
+ private bool canUpdatePropertiesField;
+
+ private bool canUpdatePropertiesFieldSpecified;
+
+ private bool canGetFolderTreeField;
+
+ private bool canGetFolderTreeFieldSpecified;
+
+ private bool canGetPropertiesField;
+
+ private bool canGetPropertiesFieldSpecified;
+
+ private bool canGetObjectRelationshipsField;
+
+ private bool canGetObjectRelationshipsFieldSpecified;
+
+ private bool canGetObjectParentsField;
+
+ private bool canGetObjectParentsFieldSpecified;
+
+ private bool canGetFolderParentField;
+
+ private bool canGetFolderParentFieldSpecified;
+
+ private bool canGetDescendantsField;
+
+ private bool canGetDescendantsFieldSpecified;
+
+ private bool canMoveObjectField;
+
+ private bool canMoveObjectFieldSpecified;
+
+ private bool canDeleteContentStreamField;
+
+ private bool canDeleteContentStreamFieldSpecified;
+
+ private bool canCheckOutField;
+
+ private bool canCheckOutFieldSpecified;
+
+ private bool canCancelCheckOutField;
+
+ private bool canCancelCheckOutFieldSpecified;
+
+ private bool canCheckInField;
+
+ private bool canCheckInFieldSpecified;
+
+ private bool canSetContentStreamField;
+
+ private bool canSetContentStreamFieldSpecified;
+
+ private bool canGetAllVersionsField;
+
+ private bool canGetAllVersionsFieldSpecified;
+
+ private bool canAddObjectToFolderField;
+
+ private bool canAddObjectToFolderFieldSpecified;
+
+ private bool canRemoveObjectFromFolderField;
+
+ private bool canRemoveObjectFromFolderFieldSpecified;
+
+ private bool canGetContentStreamField;
+
+ private bool canGetContentStreamFieldSpecified;
+
+ private bool canApplyPolicyField;
+
+ private bool canApplyPolicyFieldSpecified;
+
+ private bool canGetAppliedPoliciesField;
+
+ private bool canGetAppliedPoliciesFieldSpecified;
+
+ private bool canRemovePolicyField;
+
+ private bool canRemovePolicyFieldSpecified;
+
+ private bool canGetChildrenField;
+
+ private bool canGetChildrenFieldSpecified;
+
+ private bool canCreateDocumentField;
+
+ private bool canCreateDocumentFieldSpecified;
+
+ private bool canCreateFolderField;
+
+ private bool canCreateFolderFieldSpecified;
+
+ private bool canCreateRelationshipField;
+
+ private bool canCreateRelationshipFieldSpecified;
+
+ private bool canDeleteTreeField;
+
+ private bool canDeleteTreeFieldSpecified;
+
+ private bool canGetRenditionsField;
+
+ private bool canGetRenditionsFieldSpecified;
+
+ private bool canGetACLField;
+
+ private bool canGetACLFieldSpecified;
+
+ private bool canApplyACLField;
+
+ private bool canApplyACLFieldSpecified;
+
+ private System.Xml.XmlElement[] anyField;
+
+ private System.Xml.XmlAttribute[] anyAttrField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=0)]
+ public bool canDeleteObject {
+ get {
+ return this.canDeleteObjectField;
+ }
+ set {
+ this.canDeleteObjectField = value;
+ this.RaisePropertyChanged("canDeleteObject");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool canDeleteObjectSpecified {
+ get {
+ return this.canDeleteObjectFieldSpecified;
+ }
+ set {
+ this.canDeleteObjectFieldSpecified = value;
+ this.RaisePropertyChanged("canDeleteObjectSpecified");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=1)]
+ public bool canUpdateProperties {
+ get {
+ return this.canUpdatePropertiesField;
+ }
+ set {
+ this.canUpdatePropertiesField = value;
+ this.RaisePropertyChanged("canUpdateProperties");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool canUpdatePropertiesSpecified {
+ get {
+ return this.canUpdatePropertiesFieldSpecified;
+ }
+ set {
+ this.canUpdatePropertiesFieldSpecified = value;
+ this.RaisePropertyChanged("canUpdatePropertiesSpecified");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=2)]
+ public bool canGetFolderTree {
+ get {
+ return this.canGetFolderTreeField;
+ }
+ set {
+ this.canGetFolderTreeField = value;
+ this.RaisePropertyChanged("canGetFolderTree");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool canGetFolderTreeSpecified {
+ get {
+ return this.canGetFolderTreeFieldSpecified;
+ }
+ set {
+ this.canGetFolderTreeFieldSpecified = value;
+ this.RaisePropertyChanged("canGetFolderTreeSpecified");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=3)]
+ public bool canGetProperties {
+ get {
+ return this.canGetPropertiesField;
+ }
+ set {
+ this.canGetPropertiesField = value;
+ this.RaisePropertyChanged("canGetProperties");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool canGetPropertiesSpecified {
+ get {
+ return this.canGetPropertiesFieldSpecified;
+ }
+ set {
+ this.canGetPropertiesFieldSpecified = value;
+ this.RaisePropertyChanged("canGetPropertiesSpecified");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=4)]
+ public bool canGetObjectRelationships {
+ get {
+ return this.canGetObjectRelationshipsField;
+ }
+ set {
+ this.canGetObjectRelationshipsField = value;
+ this.RaisePropertyChanged("canGetObjectRelationships");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool canGetObjectRelationshipsSpecified {
+ get {
+ return this.canGetObjectRelationshipsFieldSpecified;
+ }
+ set {
+ this.canGetObjectRelationshipsFieldSpecified = value;
+ this.RaisePropertyChanged("canGetObjectRelationshipsSpecified");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=5)]
+ public bool canGetObjectParents {
+ get {
+ return this.canGetObjectParentsField;
+ }
+ set {
+ this.canGetObjectParentsField = value;
+ this.RaisePropertyChanged("canGetObjectParents");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool canGetObjectParentsSpecified {
+ get {
+ return this.canGetObjectParentsFieldSpecified;
+ }
+ set {
+ this.canGetObjectParentsFieldSpecified = value;
+ this.RaisePropertyChanged("canGetObjectParentsSpecified");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=6)]
+ public bool canGetFolderParent {
+ get {
+ return this.canGetFolderParentField;
+ }
+ set {
+ this.canGetFolderParentField = value;
+ this.RaisePropertyChanged("canGetFolderParent");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool canGetFolderParentSpecified {
+ get {
+ return this.canGetFolderParentFieldSpecified;
+ }
+ set {
+ this.canGetFolderParentFieldSpecified = value;
+ this.RaisePropertyChanged("canGetFolderParentSpecified");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=7)]
+ public bool canGetDescendants {
+ get {
+ return this.canGetDescendantsField;
+ }
+ set {
+ this.canGetDescendantsField = value;
+ this.RaisePropertyChanged("canGetDescendants");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool canGetDescendantsSpecified {
+ get {
+ return this.canGetDescendantsFieldSpecified;
+ }
+ set {
+ this.canGetDescendantsFieldSpecified = value;
+ this.RaisePropertyChanged("canGetDescendantsSpecified");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=8)]
+ public bool canMoveObject {
+ get {
+ return this.canMoveObjectField;
+ }
+ set {
+ this.canMoveObjectField = value;
+ this.RaisePropertyChanged("canMoveObject");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool canMoveObjectSpecified {
+ get {
+ return this.canMoveObjectFieldSpecified;
+ }
+ set {
+ this.canMoveObjectFieldSpecified = value;
+ this.RaisePropertyChanged("canMoveObjectSpecified");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=9)]
+ public bool canDeleteContentStream {
+ get {
+ return this.canDeleteContentStreamField;
+ }
+ set {
+ this.canDeleteContentStreamField = value;
+ this.RaisePropertyChanged("canDeleteContentStream");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool canDeleteContentStreamSpecified {
+ get {
+ return this.canDeleteContentStreamFieldSpecified;
+ }
+ set {
+ this.canDeleteContentStreamFieldSpecified = value;
+ this.RaisePropertyChanged("canDeleteContentStreamSpecified");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=10)]
+ public bool canCheckOut {
+ get {
+ return this.canCheckOutField;
+ }
+ set {
+ this.canCheckOutField = value;
+ this.RaisePropertyChanged("canCheckOut");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool canCheckOutSpecified {
+ get {
+ return this.canCheckOutFieldSpecified;
+ }
+ set {
+ this.canCheckOutFieldSpecified = value;
+ this.RaisePropertyChanged("canCheckOutSpecified");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=11)]
+ public bool canCancelCheckOut {
+ get {
+ return this.canCancelCheckOutField;
+ }
+ set {
+ this.canCancelCheckOutField = value;
+ this.RaisePropertyChanged("canCancelCheckOut");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool canCancelCheckOutSpecified {
+ get {
+ return this.canCancelCheckOutFieldSpecified;
+ }
+ set {
+ this.canCancelCheckOutFieldSpecified = value;
+ this.RaisePropertyChanged("canCancelCheckOutSpecified");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=12)]
+ public bool canCheckIn {
+ get {
+ return this.canCheckInField;
+ }
+ set {
+ this.canCheckInField = value;
+ this.RaisePropertyChanged("canCheckIn");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool canCheckInSpecified {
+ get {
+ return this.canCheckInFieldSpecified;
+ }
+ set {
+ this.canCheckInFieldSpecified = value;
+ this.RaisePropertyChanged("canCheckInSpecified");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=13)]
+ public bool canSetContentStream {
+ get {
+ return this.canSetContentStreamField;
+ }
+ set {
+ this.canSetContentStreamField = value;
+ this.RaisePropertyChanged("canSetContentStream");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool canSetContentStreamSpecified {
+ get {
+ return this.canSetContentStreamFieldSpecified;
+ }
+ set {
+ this.canSetContentStreamFieldSpecified = value;
+ this.RaisePropertyChanged("canSetContentStreamSpecified");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=14)]
+ public bool canGetAllVersions {
+ get {
+ return this.canGetAllVersionsField;
+ }
+ set {
+ this.canGetAllVersionsField = value;
+ this.RaisePropertyChanged("canGetAllVersions");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool canGetAllVersionsSpecified {
+ get {
+ return this.canGetAllVersionsFieldSpecified;
+ }
+ set {
+ this.canGetAllVersionsFieldSpecified = value;
+ this.RaisePropertyChanged("canGetAllVersionsSpecified");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=15)]
+ public bool canAddObjectToFolder {
+ get {
+ return this.canAddObjectToFolderField;
+ }
+ set {
+ this.canAddObjectToFolderField = value;
+ this.RaisePropertyChanged("canAddObjectToFolder");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool canAddObjectToFolderSpecified {
+ get {
+ return this.canAddObjectToFolderFieldSpecified;
+ }
+ set {
+ this.canAddObjectToFolderFieldSpecified = value;
+ this.RaisePropertyChanged("canAddObjectToFolderSpecified");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=16)]
+ public bool canRemoveObjectFromFolder {
+ get {
+ return this.canRemoveObjectFromFolderField;
+ }
+ set {
+ this.canRemoveObjectFromFolderField = value;
+ this.RaisePropertyChanged("canRemoveObjectFromFolder");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool canRemoveObjectFromFolderSpecified {
+ get {
+ return this.canRemoveObjectFromFolderFieldSpecified;
+ }
+ set {
+ this.canRemoveObjectFromFolderFieldSpecified = value;
+ this.RaisePropertyChanged("canRemoveObjectFromFolderSpecified");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=17)]
+ public bool canGetContentStream {
+ get {
+ return this.canGetContentStreamField;
+ }
+ set {
+ this.canGetContentStreamField = value;
+ this.RaisePropertyChanged("canGetContentStream");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool canGetContentStreamSpecified {
+ get {
+ return this.canGetContentStreamFieldSpecified;
+ }
+ set {
+ this.canGetContentStreamFieldSpecified = value;
+ this.RaisePropertyChanged("canGetContentStreamSpecified");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=18)]
+ public bool canApplyPolicy {
+ get {
+ return this.canApplyPolicyField;
+ }
+ set {
+ this.canApplyPolicyField = value;
+ this.RaisePropertyChanged("canApplyPolicy");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool canApplyPolicySpecified {
+ get {
+ return this.canApplyPolicyFieldSpecified;
+ }
+ set {
+ this.canApplyPolicyFieldSpecified = value;
+ this.RaisePropertyChanged("canApplyPolicySpecified");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=19)]
+ public bool canGetAppliedPolicies {
+ get {
+ return this.canGetAppliedPoliciesField;
+ }
+ set {
+ this.canGetAppliedPoliciesField = value;
+ this.RaisePropertyChanged("canGetAppliedPolicies");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool canGetAppliedPoliciesSpecified {
+ get {
+ return this.canGetAppliedPoliciesFieldSpecified;
+ }
+ set {
+ this.canGetAppliedPoliciesFieldSpecified = value;
+ this.RaisePropertyChanged("canGetAppliedPoliciesSpecified");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=20)]
+ public bool canRemovePolicy {
+ get {
+ return this.canRemovePolicyField;
+ }
+ set {
+ this.canRemovePolicyField = value;
+ this.RaisePropertyChanged("canRemovePolicy");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool canRemovePolicySpecified {
+ get {
+ return this.canRemovePolicyFieldSpecified;
+ }
+ set {
+ this.canRemovePolicyFieldSpecified = value;
+ this.RaisePropertyChanged("canRemovePolicySpecified");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=21)]
+ public bool canGetChildren {
+ get {
+ return this.canGetChildrenField;
+ }
+ set {
+ this.canGetChildrenField = value;
+ this.RaisePropertyChanged("canGetChildren");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool canGetChildrenSpecified {
+ get {
+ return this.canGetChildrenFieldSpecified;
+ }
+ set {
+ this.canGetChildrenFieldSpecified = value;
+ this.RaisePropertyChanged("canGetChildrenSpecified");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=22)]
+ public bool canCreateDocument {
+ get {
+ return this.canCreateDocumentField;
+ }
+ set {
+ this.canCreateDocumentField = value;
+ this.RaisePropertyChanged("canCreateDocument");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool canCreateDocumentSpecified {
+ get {
+ return this.canCreateDocumentFieldSpecified;
+ }
+ set {
+ this.canCreateDocumentFieldSpecified = value;
+ this.RaisePropertyChanged("canCreateDocumentSpecified");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=23)]
+ public bool canCreateFolder {
+ get {
+ return this.canCreateFolderField;
+ }
+ set {
+ this.canCreateFolderField = value;
+ this.RaisePropertyChanged("canCreateFolder");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool canCreateFolderSpecified {
+ get {
+ return this.canCreateFolderFieldSpecified;
+ }
+ set {
+ this.canCreateFolderFieldSpecified = value;
+ this.RaisePropertyChanged("canCreateFolderSpecified");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=24)]
+ public bool canCreateRelationship {
+ get {
+ return this.canCreateRelationshipField;
+ }
+ set {
+ this.canCreateRelationshipField = value;
+ this.RaisePropertyChanged("canCreateRelationship");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool canCreateRelationshipSpecified {
+ get {
+ return this.canCreateRelationshipFieldSpecified;
+ }
+ set {
+ this.canCreateRelationshipFieldSpecified = value;
+ this.RaisePropertyChanged("canCreateRelationshipSpecified");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=25)]
+ public bool canDeleteTree {
+ get {
+ return this.canDeleteTreeField;
+ }
+ set {
+ this.canDeleteTreeField = value;
+ this.RaisePropertyChanged("canDeleteTree");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool canDeleteTreeSpecified {
+ get {
+ return this.canDeleteTreeFieldSpecified;
+ }
+ set {
+ this.canDeleteTreeFieldSpecified = value;
+ this.RaisePropertyChanged("canDeleteTreeSpecified");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=26)]
+ public bool canGetRenditions {
+ get {
+ return this.canGetRenditionsField;
+ }
+ set {
+ this.canGetRenditionsField = value;
+ this.RaisePropertyChanged("canGetRenditions");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool canGetRenditionsSpecified {
+ get {
+ return this.canGetRenditionsFieldSpecified;
+ }
+ set {
+ this.canGetRenditionsFieldSpecified = value;
+ this.RaisePropertyChanged("canGetRenditionsSpecified");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=27)]
+ public bool canGetACL {
+ get {
+ return this.canGetACLField;
+ }
+ set {
+ this.canGetACLField = value;
+ this.RaisePropertyChanged("canGetACL");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool canGetACLSpecified {
+ get {
+ return this.canGetACLFieldSpecified;
+ }
+ set {
+ this.canGetACLFieldSpecified = value;
+ this.RaisePropertyChanged("canGetACLSpecified");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=28)]
+ public bool canApplyACL {
+ get {
+ return this.canApplyACLField;
+ }
+ set {
+ this.canApplyACLField = value;
+ this.RaisePropertyChanged("canApplyACL");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool canApplyACLSpecified {
+ get {
+ return this.canApplyACLFieldSpecified;
+ }
+ set {
+ this.canApplyACLFieldSpecified = value;
+ this.RaisePropertyChanged("canApplyACLSpecified");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyElementAttribute(Order=29)]
+ public System.Xml.XmlElement[] Any {
+ get {
+ return this.anyField;
+ }
+ set {
+ this.anyField = value;
+ this.RaisePropertyChanged("Any");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyAttributeAttribute()]
+ public System.Xml.XmlAttribute[] AnyAttr {
+ get {
+ return this.anyAttrField;
+ }
+ set {
+ this.anyAttrField = value;
+ this.RaisePropertyChanged("AnyAttr");
+ }
+ }
+
+ public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+
+ protected void RaisePropertyChanged(string propertyName) {
+ System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+ if ((propertyChanged != null)) {
+ propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlIncludeAttribute(typeof(cmisPropertyUri))]
+ [System.Xml.Serialization.XmlIncludeAttribute(typeof(cmisPropertyString))]
+ [System.Xml.Serialization.XmlIncludeAttribute(typeof(cmisPropertyHtml))]
+ [System.Xml.Serialization.XmlIncludeAttribute(typeof(cmisPropertyDecimal))]
+ [System.Xml.Serialization.XmlIncludeAttribute(typeof(cmisPropertyDateTime))]
+ [System.Xml.Serialization.XmlIncludeAttribute(typeof(cmisPropertyInteger))]
+ [System.Xml.Serialization.XmlIncludeAttribute(typeof(cmisPropertyId))]
+ [System.Xml.Serialization.XmlIncludeAttribute(typeof(cmisPropertyBoolean))]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public partial class cmisProperty : object, System.ComponentModel.INotifyPropertyChanged {
+
+ private string propertyDefinitionIdField;
+
+ private string localNameField;
+
+ private string displayNameField;
+
+ private string queryNameField;
+
+ private System.Xml.XmlAttribute[] anyAttrField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string propertyDefinitionId {
+ get {
+ return this.propertyDefinitionIdField;
+ }
+ set {
+ this.propertyDefinitionIdField = value;
+ this.RaisePropertyChanged("propertyDefinitionId");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string localName {
+ get {
+ return this.localNameField;
+ }
+ set {
+ this.localNameField = value;
+ this.RaisePropertyChanged("localName");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string displayName {
+ get {
+ return this.displayNameField;
+ }
+ set {
+ this.displayNameField = value;
+ this.RaisePropertyChanged("displayName");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string queryName {
+ get {
+ return this.queryNameField;
+ }
+ set {
+ this.queryNameField = value;
+ this.RaisePropertyChanged("queryName");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyAttributeAttribute()]
+ public System.Xml.XmlAttribute[] AnyAttr {
+ get {
+ return this.anyAttrField;
+ }
+ set {
+ this.anyAttrField = value;
+ this.RaisePropertyChanged("AnyAttr");
+ }
+ }
+
+ public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+
+ protected void RaisePropertyChanged(string propertyName) {
+ System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+ if ((propertyChanged != null)) {
+ propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public partial class cmisPropertyUri : cmisProperty {
+
+ private string[] valueField;
+
+ private System.Xml.XmlElement[] anyField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("value", DataType="anyURI", Order=0)]
+ public string[] value {
+ get {
+ return this.valueField;
+ }
+ set {
+ this.valueField = value;
+ this.RaisePropertyChanged("value");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyElementAttribute(Order=1)]
+ public System.Xml.XmlElement[] Any {
+ get {
+ return this.anyField;
+ }
+ set {
+ this.anyField = value;
+ this.RaisePropertyChanged("Any");
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public partial class cmisPropertyString : cmisProperty {
+
+ private string[] valueField;
+
+ private System.Xml.XmlElement[] anyField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("value", Order=0)]
+ public string[] value {
+ get {
+ return this.valueField;
+ }
+ set {
+ this.valueField = value;
+ this.RaisePropertyChanged("value");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyElementAttribute(Order=1)]
+ public System.Xml.XmlElement[] Any {
+ get {
+ return this.anyField;
+ }
+ set {
+ this.anyField = value;
+ this.RaisePropertyChanged("Any");
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public partial class cmisPropertyHtml : cmisProperty {
+
+ private string[] valueField;
+
+ private System.Xml.XmlElement[] anyField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("value", Order=0)]
+ public string[] value {
+ get {
+ return this.valueField;
+ }
+ set {
+ this.valueField = value;
+ this.RaisePropertyChanged("value");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyElementAttribute(Order=1)]
+ public System.Xml.XmlElement[] Any {
+ get {
+ return this.anyField;
+ }
+ set {
+ this.anyField = value;
+ this.RaisePropertyChanged("Any");
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public partial class cmisPropertyDecimal : cmisProperty {
+
+ private decimal[] valueField;
+
+ private System.Xml.XmlElement[] anyField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("value", Order=0)]
+ public decimal[] value {
+ get {
+ return this.valueField;
+ }
+ set {
+ this.valueField = value;
+ this.RaisePropertyChanged("value");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyElementAttribute(Order=1)]
+ public System.Xml.XmlElement[] Any {
+ get {
+ return this.anyField;
+ }
+ set {
+ this.anyField = value;
+ this.RaisePropertyChanged("Any");
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public partial class cmisPropertyDateTime : cmisProperty {
+
+ private System.DateTime[] valueField;
+
+ private System.Xml.XmlElement[] anyField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("value", Order=0)]
+ public System.DateTime[] value {
+ get {
+ return this.valueField;
+ }
+ set {
+ this.valueField = value;
+ this.RaisePropertyChanged("value");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyElementAttribute(Order=1)]
+ public System.Xml.XmlElement[] Any {
+ get {
+ return this.anyField;
+ }
+ set {
+ this.anyField = value;
+ this.RaisePropertyChanged("Any");
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public partial class cmisPropertyInteger : cmisProperty {
+
+ private string[] valueField;
+
+ private System.Xml.XmlElement[] anyField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("value", DataType="integer", Order=0)]
+ public string[] value {
+ get {
+ return this.valueField;
+ }
+ set {
+ this.valueField = value;
+ this.RaisePropertyChanged("value");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyElementAttribute(Order=1)]
+ public System.Xml.XmlElement[] Any {
+ get {
+ return this.anyField;
+ }
+ set {
+ this.anyField = value;
+ this.RaisePropertyChanged("Any");
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public partial class cmisPropertyId : cmisProperty {
+
+ private string[] valueField;
+
+ private System.Xml.XmlElement[] anyField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("value", Order=0)]
+ public string[] value {
+ get {
+ return this.valueField;
+ }
+ set {
+ this.valueField = value;
+ this.RaisePropertyChanged("value");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyElementAttribute(Order=1)]
+ public System.Xml.XmlElement[] Any {
+ get {
+ return this.anyField;
+ }
+ set {
+ this.anyField = value;
+ this.RaisePropertyChanged("Any");
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public partial class cmisPropertyBoolean : cmisProperty {
+
+ private bool[] valueField;
+
+ private System.Xml.XmlElement[] anyField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("value", Order=0)]
+ public bool[] value {
+ get {
+ return this.valueField;
+ }
+ set {
+ this.valueField = value;
+ this.RaisePropertyChanged("value");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyElementAttribute(Order=1)]
+ public System.Xml.XmlElement[] Any {
+ get {
+ return this.anyField;
+ }
+ set {
+ this.anyField = value;
+ this.RaisePropertyChanged("Any");
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public partial class cmisPropertiesType : object, System.ComponentModel.INotifyPropertyChanged {
+
+ private cmisProperty[] itemsField;
+
+ private System.Xml.XmlElement[] anyField;
+
+ private System.Xml.XmlAttribute[] anyAttrField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("propertyBoolean", typeof(cmisPropertyBoolean), IsNullable=true, Order=0)]
+ [System.Xml.Serialization.XmlElementAttribute("propertyDateTime", typeof(cmisPropertyDateTime), IsNullable=true, Order=0)]
+ [System.Xml.Serialization.XmlElementAttribute("propertyDecimal", typeof(cmisPropertyDecimal), IsNullable=true, Order=0)]
+ [System.Xml.Serialization.XmlElementAttribute("propertyHtml", typeof(cmisPropertyHtml), IsNullable=true, Order=0)]
+ [System.Xml.Serialization.XmlElementAttribute("propertyId", typeof(cmisPropertyId), IsNullable=true, Order=0)]
+ [System.Xml.Serialization.XmlElementAttribute("propertyInteger", typeof(cmisPropertyInteger), IsNullable=true, Order=0)]
+ [System.Xml.Serialization.XmlElementAttribute("propertyString", typeof(cmisPropertyString), IsNullable=true, Order=0)]
+ [System.Xml.Serialization.XmlElementAttribute("propertyUri", typeof(cmisPropertyUri), IsNullable=true, Order=0)]
+ public cmisProperty[] Items {
+ get {
+ return this.itemsField;
+ }
+ set {
+ this.itemsField = value;
+ this.RaisePropertyChanged("Items");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyElementAttribute(Order=1)]
+ public System.Xml.XmlElement[] Any {
+ get {
+ return this.anyField;
+ }
+ set {
+ this.anyField = value;
+ this.RaisePropertyChanged("Any");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyAttributeAttribute()]
+ public System.Xml.XmlAttribute[] AnyAttr {
+ get {
+ return this.anyAttrField;
+ }
+ set {
+ this.anyAttrField = value;
+ this.RaisePropertyChanged("AnyAttr");
+ }
+ }
+
+ public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+
+ protected void RaisePropertyChanged(string propertyName) {
+ System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+ if ((propertyChanged != null)) {
+ propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public partial class cmisObjectType : object, System.ComponentModel.INotifyPropertyChanged {
+
+ private cmisPropertiesType propertiesField;
+
+ private cmisAllowableActionsType allowableActionsField;
+
+ private cmisObjectType[] relationshipField;
+
+ private cmisChangeEventType changeEventInfoField;
+
+ private cmisAccessControlListType aclField;
+
+ private bool exactACLField;
+
+ private bool exactACLFieldSpecified;
+
+ private cmisListOfIdsType policyIdsField;
+
+ private cmisRenditionType[] renditionField;
+
+ private System.Xml.XmlElement[] anyField;
+
+ private System.Xml.XmlAttribute[] anyAttrField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=0)]
+ public cmisPropertiesType properties {
+ get {
+ return this.propertiesField;
+ }
+ set {
+ this.propertiesField = value;
+ this.RaisePropertyChanged("properties");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=1)]
+ public cmisAllowableActionsType allowableActions {
+ get {
+ return this.allowableActionsField;
+ }
+ set {
+ this.allowableActionsField = value;
+ this.RaisePropertyChanged("allowableActions");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("relationship", Order=2)]
+ public cmisObjectType[] relationship {
+ get {
+ return this.relationshipField;
+ }
+ set {
+ this.relationshipField = value;
+ this.RaisePropertyChanged("relationship");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=3)]
+ public cmisChangeEventType changeEventInfo {
+ get {
+ return this.changeEventInfoField;
+ }
+ set {
+ this.changeEventInfoField = value;
+ this.RaisePropertyChanged("changeEventInfo");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=4)]
+ public cmisAccessControlListType acl {
+ get {
+ return this.aclField;
+ }
+ set {
+ this.aclField = value;
+ this.RaisePropertyChanged("acl");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=5)]
+ public bool exactACL {
+ get {
+ return this.exactACLField;
+ }
+ set {
+ this.exactACLField = value;
+ this.RaisePropertyChanged("exactACL");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool exactACLSpecified {
+ get {
+ return this.exactACLFieldSpecified;
+ }
+ set {
+ this.exactACLFieldSpecified = value;
+ this.RaisePropertyChanged("exactACLSpecified");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=6)]
+ public cmisListOfIdsType policyIds {
+ get {
+ return this.policyIdsField;
+ }
+ set {
+ this.policyIdsField = value;
+ this.RaisePropertyChanged("policyIds");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("rendition", Order=7)]
+ public cmisRenditionType[] rendition {
+ get {
+ return this.renditionField;
+ }
+ set {
+ this.renditionField = value;
+ this.RaisePropertyChanged("rendition");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyElementAttribute(Order=8)]
+ public System.Xml.XmlElement[] Any {
+ get {
+ return this.anyField;
+ }
+ set {
+ this.anyField = value;
+ this.RaisePropertyChanged("Any");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyAttributeAttribute()]
+ public System.Xml.XmlAttribute[] AnyAttr {
+ get {
+ return this.anyAttrField;
+ }
+ set {
+ this.anyAttrField = value;
+ this.RaisePropertyChanged("AnyAttr");
+ }
+ }
+
+ public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+
+ protected void RaisePropertyChanged(string propertyName) {
+ System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+ if ((propertyChanged != null)) {
+ propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ public partial class cmisObjectListType : object, System.ComponentModel.INotifyPropertyChanged {
+
+ private cmisObjectType[] objectsField;
+
+ private bool hasMoreItemsField;
+
+ private string numItemsField;
+
+ private System.Xml.XmlElement[] anyField;
+
+ private System.Xml.XmlAttribute[] anyAttrField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("objects", Order=0)]
+ public cmisObjectType[] objects {
+ get {
+ return this.objectsField;
+ }
+ set {
+ this.objectsField = value;
+ this.RaisePropertyChanged("objects");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=1)]
+ public bool hasMoreItems {
+ get {
+ return this.hasMoreItemsField;
+ }
+ set {
+ this.hasMoreItemsField = value;
+ this.RaisePropertyChanged("hasMoreItems");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(DataType="integer", Order=2)]
+ public string numItems {
+ get {
+ return this.numItemsField;
+ }
+ set {
+ this.numItemsField = value;
+ this.RaisePropertyChanged("numItems");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyElementAttribute(Order=3)]
+ public System.Xml.XmlElement[] Any {
+ get {
+ return this.anyField;
+ }
+ set {
+ this.anyField = value;
+ this.RaisePropertyChanged("Any");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyAttributeAttribute()]
+ public System.Xml.XmlAttribute[] AnyAttr {
+ get {
+ return this.anyAttrField;
+ }
+ set {
+ this.anyAttrField = value;
+ this.RaisePropertyChanged("AnyAttr");
+ }
+ }
+
+ public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+
+ protected void RaisePropertyChanged(string propertyName) {
+ System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+ if ((propertyChanged != null)) {
+ propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ public partial class cmisExtensionType : object, System.ComponentModel.INotifyPropertyChanged {
+
+ private System.Xml.XmlElement[] anyField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyElementAttribute(Order=0)]
+ public System.Xml.XmlElement[] Any {
+ get {
+ return this.anyField;
+ }
+ set {
+ this.anyField = value;
+ this.RaisePropertyChanged("Any");
+ }
+ }
+
+ public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+
+ protected void RaisePropertyChanged(string propertyName) {
+ System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+ if ((propertyChanged != null)) {
+ propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+ }
+ }
+ }
+
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ServiceModel.ServiceContractAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/ws/200908/", ConfigurationName="CMISWebServicesReference.DiscoveryServicePort")]
+ internal interface DiscoveryServicePort {
+
+ // CODEGEN: Generating message contract since the wrapper namespace (http://docs.oasis-open.org/ns/cmis/messaging/200908/) of message queryRequest does not match the default value (http://docs.oasis-open.org/ns/cmis/ws/200908/)
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(DotCMIS.CMISWebServicesReference.cmisFaultType), Action="", Name="cmisFault", Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(cmisProperty))]
+ DotCMIS.CMISWebServicesReference.queryResponse query(DotCMIS.CMISWebServicesReference.queryRequest request);
+
+ // CODEGEN: Generating message contract since the wrapper namespace (http://docs.oasis-open.org/ns/cmis/messaging/200908/) of message getContentChangesRequest does not match the default value (http://docs.oasis-open.org/ns/cmis/ws/200908/)
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(DotCMIS.CMISWebServicesReference.cmisFaultType), Action="", Name="cmisFault", Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(cmisProperty))]
+ DotCMIS.CMISWebServicesReference.getContentChangesResponse getContentChanges(DotCMIS.CMISWebServicesReference.getContentChangesRequest request);
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public enum enumIncludeRelationships {
+
+ /// <remarks/>
+ none,
+
+ /// <remarks/>
+ source,
+
+ /// <remarks/>
+ target,
+
+ /// <remarks/>
+ both,
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="query", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class queryRequest {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string repositoryId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ public string statement;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=2)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public System.Nullable<bool> searchAllVersions;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=3)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public System.Nullable<bool> includeAllowableActions;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=4)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public System.Nullable<enumIncludeRelationships> includeRelationships;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=5)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public string renditionFilter;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=6)]
+ [System.Xml.Serialization.XmlElementAttribute(DataType="integer", IsNullable=true)]
+ public string maxItems;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=7)]
+ [System.Xml.Serialization.XmlElementAttribute(DataType="integer", IsNullable=true)]
+ public string skipCount;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=8)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="", Order=9)]
+ [System.Xml.Serialization.XmlAnyAttributeAttribute()]
+ public System.Xml.XmlAttribute[] AnyAttr;
+
+ public queryRequest() {
+ }
+
+ public queryRequest(string repositoryId, string statement, System.Nullable<bool> searchAllVersions, System.Nullable<bool> includeAllowableActions, System.Nullable<enumIncludeRelationships> includeRelationships, string renditionFilter, string maxItems, string skipCount, DotCMIS.CMISWebServicesReference.cmisExtensionType extension, System.Xml.XmlAttribute[] AnyAttr) {
+ this.repositoryId = repositoryId;
+ this.statement = statement;
+ this.searchAllVersions = searchAllVersions;
+ this.includeAllowableActions = includeAllowableActions;
+ this.includeRelationships = includeRelationships;
+ this.renditionFilter = renditionFilter;
+ this.maxItems = maxItems;
+ this.skipCount = skipCount;
+ this.extension = extension;
+ this.AnyAttr = AnyAttr;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="queryResponse", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class queryResponse {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public DotCMIS.CMISWebServicesReference.cmisObjectListType objects;
+
+ public queryResponse() {
+ }
+
+ public queryResponse(DotCMIS.CMISWebServicesReference.cmisObjectListType objects) {
+ this.objects = objects;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getContentChanges", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getContentChangesRequest {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string repositoryId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public string changeLogToken;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=2)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public System.Nullable<bool> includeProperties;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=3)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public string filter;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=4)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public System.Nullable<bool> includePolicyIds;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=5)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public System.Nullable<bool> includeACL;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=6)]
+ [System.Xml.Serialization.XmlElementAttribute(DataType="integer", IsNullable=true)]
+ public string maxItems;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=7)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public getContentChangesRequest() {
+ }
+
+ public getContentChangesRequest(string repositoryId, string changeLogToken, System.Nullable<bool> includeProperties, string filter, System.Nullable<bool> includePolicyIds, System.Nullable<bool> includeACL, string maxItems, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.repositoryId = repositoryId;
+ this.changeLogToken = changeLogToken;
+ this.includeProperties = includeProperties;
+ this.filter = filter;
+ this.includePolicyIds = includePolicyIds;
+ this.includeACL = includeACL;
+ this.maxItems = maxItems;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getContentChangesResponse", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getContentChangesResponse {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public DotCMIS.CMISWebServicesReference.cmisObjectListType objects;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ public string changeLogToken;
+
+ public getContentChangesResponse() {
+ }
+
+ public getContentChangesResponse(DotCMIS.CMISWebServicesReference.cmisObjectListType objects, string changeLogToken) {
+ this.objects = objects;
+ this.changeLogToken = changeLogToken;
+ }
+ }
+
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ internal interface DiscoveryServicePortChannel : DotCMIS.CMISWebServicesReference.DiscoveryServicePort, System.ServiceModel.IClientChannel {
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ internal partial class DiscoveryServicePortClient : System.ServiceModel.ClientBase<DotCMIS.CMISWebServicesReference.DiscoveryServicePort>, DotCMIS.CMISWebServicesReference.DiscoveryServicePort {
+
+ public DiscoveryServicePortClient() {
+ }
+
+ public DiscoveryServicePortClient(string endpointConfigurationName) :
+ base(endpointConfigurationName) {
+ }
+
+ public DiscoveryServicePortClient(string endpointConfigurationName, string remoteAddress) :
+ base(endpointConfigurationName, remoteAddress) {
+ }
+
+ public DiscoveryServicePortClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) :
+ base(endpointConfigurationName, remoteAddress) {
+ }
+
+ public DiscoveryServicePortClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) :
+ base(binding, remoteAddress) {
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ DotCMIS.CMISWebServicesReference.queryResponse DotCMIS.CMISWebServicesReference.DiscoveryServicePort.query(DotCMIS.CMISWebServicesReference.queryRequest request) {
+ return base.Channel.query(request);
+ }
+
+ public DotCMIS.CMISWebServicesReference.cmisObjectListType query(string repositoryId, string statement, System.Nullable<bool> searchAllVersions, System.Nullable<bool> includeAllowableActions, System.Nullable<enumIncludeRelationships> includeRelationships, string renditionFilter, string maxItems, string skipCount, DotCMIS.CMISWebServicesReference.cmisExtensionType extension, System.Xml.XmlAttribute[] AnyAttr) {
+ DotCMIS.CMISWebServicesReference.queryRequest inValue = new DotCMIS.CMISWebServicesReference.queryRequest();
+ inValue.repositoryId = repositoryId;
+ inValue.statement = statement;
+ inValue.searchAllVersions = searchAllVersions;
+ inValue.includeAllowableActions = includeAllowableActions;
+ inValue.includeRelationships = includeRelationships;
+ inValue.renditionFilter = renditionFilter;
+ inValue.maxItems = maxItems;
+ inValue.skipCount = skipCount;
+ inValue.extension = extension;
+ inValue.AnyAttr = AnyAttr;
+ DotCMIS.CMISWebServicesReference.queryResponse retVal = ((DotCMIS.CMISWebServicesReference.DiscoveryServicePort)(this)).query(inValue);
+ return retVal.objects;
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ DotCMIS.CMISWebServicesReference.getContentChangesResponse DotCMIS.CMISWebServicesReference.DiscoveryServicePort.getContentChanges(DotCMIS.CMISWebServicesReference.getContentChangesRequest request) {
+ return base.Channel.getContentChanges(request);
+ }
+
+ public DotCMIS.CMISWebServicesReference.cmisObjectListType getContentChanges(string repositoryId, ref string changeLogToken, System.Nullable<bool> includeProperties, string filter, System.Nullable<bool> includePolicyIds, System.Nullable<bool> includeACL, string maxItems, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ DotCMIS.CMISWebServicesReference.getContentChangesRequest inValue = new DotCMIS.CMISWebServicesReference.getContentChangesRequest();
+ inValue.repositoryId = repositoryId;
+ inValue.changeLogToken = changeLogToken;
+ inValue.includeProperties = includeProperties;
+ inValue.filter = filter;
+ inValue.includePolicyIds = includePolicyIds;
+ inValue.includeACL = includeACL;
+ inValue.maxItems = maxItems;
+ inValue.extension = extension;
+ DotCMIS.CMISWebServicesReference.getContentChangesResponse retVal = ((DotCMIS.CMISWebServicesReference.DiscoveryServicePort)(this)).getContentChanges(inValue);
+ changeLogToken = retVal.changeLogToken;
+ return retVal.objects;
+ }
+ }
+
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ServiceModel.ServiceContractAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/ws/200908/", ConfigurationName="CMISWebServicesReference.MultiFilingServicePort")]
+ internal interface MultiFilingServicePort {
+
+ // CODEGEN: Generating message contract since the wrapper namespace (http://docs.oasis-open.org/ns/cmis/messaging/200908/) of message addObjectToFolderRequest does not match the default value (http://docs.oasis-open.org/ns/cmis/ws/200908/)
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(DotCMIS.CMISWebServicesReference.cmisFaultType), Action="", Name="cmisFault", Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(cmisProperty))]
+ DotCMIS.CMISWebServicesReference.addObjectToFolderResponse addObjectToFolder(DotCMIS.CMISWebServicesReference.addObjectToFolderRequest request);
+
+ // CODEGEN: Generating message contract since the wrapper namespace (http://docs.oasis-open.org/ns/cmis/messaging/200908/) of message removeObjectFromFolderRequest does not match the default value (http://docs.oasis-open.org/ns/cmis/ws/200908/)
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(DotCMIS.CMISWebServicesReference.cmisFaultType), Action="", Name="cmisFault", Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(cmisProperty))]
+ DotCMIS.CMISWebServicesReference.removeObjectFromFolderResponse removeObjectFromFolder(DotCMIS.CMISWebServicesReference.removeObjectFromFolderRequest request);
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="addObjectToFolder", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class addObjectToFolderRequest {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string repositoryId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ public string objectId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=2)]
+ public string folderId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=3)]
+ public bool allVersions;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=4)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public addObjectToFolderRequest() {
+ }
+
+ public addObjectToFolderRequest(string repositoryId, string objectId, string folderId, bool allVersions, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.repositoryId = repositoryId;
+ this.objectId = objectId;
+ this.folderId = folderId;
+ this.allVersions = allVersions;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="addObjectToFolderResponse", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class addObjectToFolderResponse {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public addObjectToFolderResponse() {
+ }
+
+ public addObjectToFolderResponse(DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="removeObjectFromFolder", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class removeObjectFromFolderRequest {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string repositoryId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ public string objectId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=2)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public string folderId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=3)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public removeObjectFromFolderRequest() {
+ }
+
+ public removeObjectFromFolderRequest(string repositoryId, string objectId, string folderId, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.repositoryId = repositoryId;
+ this.objectId = objectId;
+ this.folderId = folderId;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="removeObjectFromFolderResponse", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class removeObjectFromFolderResponse {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public removeObjectFromFolderResponse() {
+ }
+
+ public removeObjectFromFolderResponse(DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.extension = extension;
+ }
+ }
+
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ internal interface MultiFilingServicePortChannel : DotCMIS.CMISWebServicesReference.MultiFilingServicePort, System.ServiceModel.IClientChannel {
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ internal partial class MultiFilingServicePortClient : System.ServiceModel.ClientBase<DotCMIS.CMISWebServicesReference.MultiFilingServicePort>, DotCMIS.CMISWebServicesReference.MultiFilingServicePort {
+
+ public MultiFilingServicePortClient() {
+ }
+
+ public MultiFilingServicePortClient(string endpointConfigurationName) :
+ base(endpointConfigurationName) {
+ }
+
+ public MultiFilingServicePortClient(string endpointConfigurationName, string remoteAddress) :
+ base(endpointConfigurationName, remoteAddress) {
+ }
+
+ public MultiFilingServicePortClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) :
+ base(endpointConfigurationName, remoteAddress) {
+ }
+
+ public MultiFilingServicePortClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) :
+ base(binding, remoteAddress) {
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ DotCMIS.CMISWebServicesReference.addObjectToFolderResponse DotCMIS.CMISWebServicesReference.MultiFilingServicePort.addObjectToFolder(DotCMIS.CMISWebServicesReference.addObjectToFolderRequest request) {
+ return base.Channel.addObjectToFolder(request);
+ }
+
+ public void addObjectToFolder(string repositoryId, string objectId, string folderId, bool allVersions, ref DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ DotCMIS.CMISWebServicesReference.addObjectToFolderRequest inValue = new DotCMIS.CMISWebServicesReference.addObjectToFolderRequest();
+ inValue.repositoryId = repositoryId;
+ inValue.objectId = objectId;
+ inValue.folderId = folderId;
+ inValue.allVersions = allVersions;
+ inValue.extension = extension;
+ DotCMIS.CMISWebServicesReference.addObjectToFolderResponse retVal = ((DotCMIS.CMISWebServicesReference.MultiFilingServicePort)(this)).addObjectToFolder(inValue);
+ extension = retVal.extension;
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ DotCMIS.CMISWebServicesReference.removeObjectFromFolderResponse DotCMIS.CMISWebServicesReference.MultiFilingServicePort.removeObjectFromFolder(DotCMIS.CMISWebServicesReference.removeObjectFromFolderRequest request) {
+ return base.Channel.removeObjectFromFolder(request);
+ }
+
+ public void removeObjectFromFolder(string repositoryId, string objectId, string folderId, ref DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ DotCMIS.CMISWebServicesReference.removeObjectFromFolderRequest inValue = new DotCMIS.CMISWebServicesReference.removeObjectFromFolderRequest();
+ inValue.repositoryId = repositoryId;
+ inValue.objectId = objectId;
+ inValue.folderId = folderId;
+ inValue.extension = extension;
+ DotCMIS.CMISWebServicesReference.removeObjectFromFolderResponse retVal = ((DotCMIS.CMISWebServicesReference.MultiFilingServicePort)(this)).removeObjectFromFolder(inValue);
+ extension = retVal.extension;
+ }
+ }
+
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ServiceModel.ServiceContractAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/ws/200908/", ConfigurationName="CMISWebServicesReference.NavigationServicePort")]
+ internal interface NavigationServicePort {
+
+ // CODEGEN: Generating message contract since the wrapper namespace (http://docs.oasis-open.org/ns/cmis/messaging/200908/) of message getDescendantsRequest does not match the default value (http://docs.oasis-open.org/ns/cmis/ws/200908/)
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(DotCMIS.CMISWebServicesReference.cmisFaultType), Action="", Name="cmisFault", Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(cmisProperty))]
+ DotCMIS.CMISWebServicesReference.getDescendantsResponse getDescendants(DotCMIS.CMISWebServicesReference.getDescendantsRequest request);
+
+ // CODEGEN: Generating message contract since the wrapper namespace (http://docs.oasis-open.org/ns/cmis/messaging/200908/) of message getChildrenRequest does not match the default value (http://docs.oasis-open.org/ns/cmis/ws/200908/)
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(DotCMIS.CMISWebServicesReference.cmisFaultType), Action="", Name="cmisFault", Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(cmisProperty))]
+ DotCMIS.CMISWebServicesReference.getChildrenResponse getChildren(DotCMIS.CMISWebServicesReference.getChildrenRequest request);
+
+ // CODEGEN: Generating message contract since the wrapper namespace (http://docs.oasis-open.org/ns/cmis/messaging/200908/) of message getFolderParentRequest does not match the default value (http://docs.oasis-open.org/ns/cmis/ws/200908/)
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(DotCMIS.CMISWebServicesReference.cmisFaultType), Action="", Name="cmisFault", Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(cmisProperty))]
+ DotCMIS.CMISWebServicesReference.getFolderParentResponse getFolderParent(DotCMIS.CMISWebServicesReference.getFolderParentRequest request);
+
+ // CODEGEN: Generating message contract since the wrapper namespace (http://docs.oasis-open.org/ns/cmis/messaging/200908/) of message getFolderTreeRequest does not match the default value (http://docs.oasis-open.org/ns/cmis/ws/200908/)
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(DotCMIS.CMISWebServicesReference.cmisFaultType), Action="", Name="cmisFault", Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(cmisProperty))]
+ DotCMIS.CMISWebServicesReference.getFolderTreeResponse getFolderTree(DotCMIS.CMISWebServicesReference.getFolderTreeRequest request);
+
+ // CODEGEN: Generating message contract since the wrapper namespace (http://docs.oasis-open.org/ns/cmis/messaging/200908/) of message getObjectParentsRequest does not match the default value (http://docs.oasis-open.org/ns/cmis/ws/200908/)
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(DotCMIS.CMISWebServicesReference.cmisFaultType), Action="", Name="cmisFault", Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(cmisProperty))]
+ DotCMIS.CMISWebServicesReference.getObjectParentsResponse getObjectParents(DotCMIS.CMISWebServicesReference.getObjectParentsRequest request);
+
+ // CODEGEN: Generating message contract since the wrapper namespace (http://docs.oasis-open.org/ns/cmis/messaging/200908/) of message getCheckedOutDocsRequest does not match the default value (http://docs.oasis-open.org/ns/cmis/ws/200908/)
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(DotCMIS.CMISWebServicesReference.cmisFaultType), Action="", Name="cmisFault", Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(cmisProperty))]
+ DotCMIS.CMISWebServicesReference.getCheckedOutDocsResponse getCheckedOutDocs(DotCMIS.CMISWebServicesReference.getCheckedOutDocsRequest request);
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ public partial class cmisObjectInFolderContainerType : object, System.ComponentModel.INotifyPropertyChanged {
+
+ private cmisObjectInFolderType objectInFolderField;
+
+ private cmisObjectInFolderContainerType[] childrenField;
+
+ private System.Xml.XmlElement[] anyField;
+
+ private System.Xml.XmlAttribute[] anyAttrField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=0)]
+ public cmisObjectInFolderType objectInFolder {
+ get {
+ return this.objectInFolderField;
+ }
+ set {
+ this.objectInFolderField = value;
+ this.RaisePropertyChanged("objectInFolder");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("children", Order=1)]
+ public cmisObjectInFolderContainerType[] children {
+ get {
+ return this.childrenField;
+ }
+ set {
+ this.childrenField = value;
+ this.RaisePropertyChanged("children");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyElementAttribute(Order=2)]
+ public System.Xml.XmlElement[] Any {
+ get {
+ return this.anyField;
+ }
+ set {
+ this.anyField = value;
+ this.RaisePropertyChanged("Any");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyAttributeAttribute()]
+ public System.Xml.XmlAttribute[] AnyAttr {
+ get {
+ return this.anyAttrField;
+ }
+ set {
+ this.anyAttrField = value;
+ this.RaisePropertyChanged("AnyAttr");
+ }
+ }
+
+ public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+
+ protected void RaisePropertyChanged(string propertyName) {
+ System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+ if ((propertyChanged != null)) {
+ propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ public partial class cmisObjectInFolderType : object, System.ComponentModel.INotifyPropertyChanged {
+
+ private cmisObjectType objectField;
+
+ private string pathSegmentField;
+
+ private System.Xml.XmlElement[] anyField;
+
+ private System.Xml.XmlAttribute[] anyAttrField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=0)]
+ public cmisObjectType @object {
+ get {
+ return this.objectField;
+ }
+ set {
+ this.objectField = value;
+ this.RaisePropertyChanged("object");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=1)]
+ public string pathSegment {
+ get {
+ return this.pathSegmentField;
+ }
+ set {
+ this.pathSegmentField = value;
+ this.RaisePropertyChanged("pathSegment");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyElementAttribute(Order=2)]
+ public System.Xml.XmlElement[] Any {
+ get {
+ return this.anyField;
+ }
+ set {
+ this.anyField = value;
+ this.RaisePropertyChanged("Any");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyAttributeAttribute()]
+ public System.Xml.XmlAttribute[] AnyAttr {
+ get {
+ return this.anyAttrField;
+ }
+ set {
+ this.anyAttrField = value;
+ this.RaisePropertyChanged("AnyAttr");
+ }
+ }
+
+ public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+
+ protected void RaisePropertyChanged(string propertyName) {
+ System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+ if ((propertyChanged != null)) {
+ propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+ }
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getDescendants", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getDescendantsRequest {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string repositoryId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ public string folderId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=2)]
+ [System.Xml.Serialization.XmlElementAttribute(DataType="integer", IsNullable=true)]
+ public string depth;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=3)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public string filter;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=4)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public System.Nullable<bool> includeAllowableActions;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=5)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public System.Nullable<enumIncludeRelationships> includeRelationships;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=6)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public string renditionFilter;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=7)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public System.Nullable<bool> includePathSegment;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=8)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public getDescendantsRequest() {
+ }
+
+ public getDescendantsRequest(string repositoryId, string folderId, string depth, string filter, System.Nullable<bool> includeAllowableActions, System.Nullable<enumIncludeRelationships> includeRelationships, string renditionFilter, System.Nullable<bool> includePathSegment, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.repositoryId = repositoryId;
+ this.folderId = folderId;
+ this.depth = depth;
+ this.filter = filter;
+ this.includeAllowableActions = includeAllowableActions;
+ this.includeRelationships = includeRelationships;
+ this.renditionFilter = renditionFilter;
+ this.includePathSegment = includePathSegment;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getDescendantsResponse", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getDescendantsResponse {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ [System.Xml.Serialization.XmlElementAttribute("objects")]
+ public cmisObjectInFolderContainerType[] objects;
+
+ public getDescendantsResponse() {
+ }
+
+ public getDescendantsResponse(cmisObjectInFolderContainerType[] objects) {
+ this.objects = objects;
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ public partial class cmisObjectInFolderListType : object, System.ComponentModel.INotifyPropertyChanged {
+
+ private cmisObjectInFolderType[] objectsField;
+
+ private bool hasMoreItemsField;
+
+ private string numItemsField;
+
+ private System.Xml.XmlElement[] anyField;
+
+ private System.Xml.XmlAttribute[] anyAttrField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("objects", Order=0)]
+ public cmisObjectInFolderType[] objects {
+ get {
+ return this.objectsField;
+ }
+ set {
+ this.objectsField = value;
+ this.RaisePropertyChanged("objects");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=1)]
+ public bool hasMoreItems {
+ get {
+ return this.hasMoreItemsField;
+ }
+ set {
+ this.hasMoreItemsField = value;
+ this.RaisePropertyChanged("hasMoreItems");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(DataType="integer", Order=2)]
+ public string numItems {
+ get {
+ return this.numItemsField;
+ }
+ set {
+ this.numItemsField = value;
+ this.RaisePropertyChanged("numItems");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyElementAttribute(Order=3)]
+ public System.Xml.XmlElement[] Any {
+ get {
+ return this.anyField;
+ }
+ set {
+ this.anyField = value;
+ this.RaisePropertyChanged("Any");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyAttributeAttribute()]
+ public System.Xml.XmlAttribute[] AnyAttr {
+ get {
+ return this.anyAttrField;
+ }
+ set {
+ this.anyAttrField = value;
+ this.RaisePropertyChanged("AnyAttr");
+ }
+ }
+
+ public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+
+ protected void RaisePropertyChanged(string propertyName) {
+ System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+ if ((propertyChanged != null)) {
+ propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+ }
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getChildren", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getChildrenRequest {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string repositoryId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ public string folderId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=2)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public string filter;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=3)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public string orderBy;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=4)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public System.Nullable<bool> includeAllowableActions;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=5)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public System.Nullable<enumIncludeRelationships> includeRelationships;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=6)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public string renditionFilter;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=7)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public System.Nullable<bool> includePathSegment;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=8)]
+ [System.Xml.Serialization.XmlElementAttribute(DataType="integer", IsNullable=true)]
+ public string maxItems;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=9)]
+ [System.Xml.Serialization.XmlElementAttribute(DataType="integer", IsNullable=true)]
+ public string skipCount;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=10)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public getChildrenRequest() {
+ }
+
+ public getChildrenRequest(string repositoryId, string folderId, string filter, string orderBy, System.Nullable<bool> includeAllowableActions, System.Nullable<enumIncludeRelationships> includeRelationships, string renditionFilter, System.Nullable<bool> includePathSegment, string maxItems, string skipCount, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.repositoryId = repositoryId;
+ this.folderId = folderId;
+ this.filter = filter;
+ this.orderBy = orderBy;
+ this.includeAllowableActions = includeAllowableActions;
+ this.includeRelationships = includeRelationships;
+ this.renditionFilter = renditionFilter;
+ this.includePathSegment = includePathSegment;
+ this.maxItems = maxItems;
+ this.skipCount = skipCount;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getChildrenResponse", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getChildrenResponse {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public DotCMIS.CMISWebServicesReference.cmisObjectInFolderListType objects;
+
+ public getChildrenResponse() {
+ }
+
+ public getChildrenResponse(DotCMIS.CMISWebServicesReference.cmisObjectInFolderListType objects) {
+ this.objects = objects;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getFolderParent", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getFolderParentRequest {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string repositoryId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ public string folderId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=2)]
+ public string filter;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=3)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public getFolderParentRequest() {
+ }
+
+ public getFolderParentRequest(string repositoryId, string folderId, string filter, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.repositoryId = repositoryId;
+ this.folderId = folderId;
+ this.filter = filter;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getFolderParentResponse", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getFolderParentResponse {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public DotCMIS.CMISWebServicesReference.cmisObjectType @object;
+
+ public getFolderParentResponse() {
+ }
+
+ public getFolderParentResponse(DotCMIS.CMISWebServicesReference.cmisObjectType @object) {
+ this.@object = @object;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getFolderTree", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getFolderTreeRequest {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string repositoryId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ public string folderId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=2)]
+ [System.Xml.Serialization.XmlElementAttribute(DataType="integer", IsNullable=true)]
+ public string depth;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=3)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public string filter;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=4)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public System.Nullable<bool> includeAllowableActions;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=5)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public System.Nullable<enumIncludeRelationships> includeRelationships;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=6)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public string renditionFilter;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=7)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public System.Nullable<bool> includePathSegment;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=8)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public getFolderTreeRequest() {
+ }
+
+ public getFolderTreeRequest(string repositoryId, string folderId, string depth, string filter, System.Nullable<bool> includeAllowableActions, System.Nullable<enumIncludeRelationships> includeRelationships, string renditionFilter, System.Nullable<bool> includePathSegment, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.repositoryId = repositoryId;
+ this.folderId = folderId;
+ this.depth = depth;
+ this.filter = filter;
+ this.includeAllowableActions = includeAllowableActions;
+ this.includeRelationships = includeRelationships;
+ this.renditionFilter = renditionFilter;
+ this.includePathSegment = includePathSegment;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getFolderTreeResponse", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getFolderTreeResponse {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ [System.Xml.Serialization.XmlElementAttribute("objects")]
+ public cmisObjectInFolderContainerType[] objects;
+
+ public getFolderTreeResponse() {
+ }
+
+ public getFolderTreeResponse(cmisObjectInFolderContainerType[] objects) {
+ this.objects = objects;
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ public partial class cmisObjectParentsType : object, System.ComponentModel.INotifyPropertyChanged {
+
+ private cmisObjectType objectField;
+
+ private string relativePathSegmentField;
+
+ private System.Xml.XmlElement[] anyField;
+
+ private System.Xml.XmlAttribute[] anyAttrField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=0)]
+ public cmisObjectType @object {
+ get {
+ return this.objectField;
+ }
+ set {
+ this.objectField = value;
+ this.RaisePropertyChanged("object");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=1)]
+ public string relativePathSegment {
+ get {
+ return this.relativePathSegmentField;
+ }
+ set {
+ this.relativePathSegmentField = value;
+ this.RaisePropertyChanged("relativePathSegment");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyElementAttribute(Order=2)]
+ public System.Xml.XmlElement[] Any {
+ get {
+ return this.anyField;
+ }
+ set {
+ this.anyField = value;
+ this.RaisePropertyChanged("Any");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyAttributeAttribute()]
+ public System.Xml.XmlAttribute[] AnyAttr {
+ get {
+ return this.anyAttrField;
+ }
+ set {
+ this.anyAttrField = value;
+ this.RaisePropertyChanged("AnyAttr");
+ }
+ }
+
+ public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+
+ protected void RaisePropertyChanged(string propertyName) {
+ System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+ if ((propertyChanged != null)) {
+ propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+ }
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getObjectParents", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getObjectParentsRequest {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string repositoryId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ public string objectId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=2)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public string filter;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=3)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public System.Nullable<bool> includeAllowableActions;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=4)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public System.Nullable<enumIncludeRelationships> includeRelationships;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=5)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public string renditionFilter;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=6)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public System.Nullable<bool> includeRelativePathSegment;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=7)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public getObjectParentsRequest() {
+ }
+
+ public getObjectParentsRequest(string repositoryId, string objectId, string filter, System.Nullable<bool> includeAllowableActions, System.Nullable<enumIncludeRelationships> includeRelationships, string renditionFilter, System.Nullable<bool> includeRelativePathSegment, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.repositoryId = repositoryId;
+ this.objectId = objectId;
+ this.filter = filter;
+ this.includeAllowableActions = includeAllowableActions;
+ this.includeRelationships = includeRelationships;
+ this.renditionFilter = renditionFilter;
+ this.includeRelativePathSegment = includeRelativePathSegment;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getObjectParentsResponse", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getObjectParentsResponse {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ [System.Xml.Serialization.XmlElementAttribute("parents")]
+ public cmisObjectParentsType[] parents;
+
+ public getObjectParentsResponse() {
+ }
+
+ public getObjectParentsResponse(cmisObjectParentsType[] parents) {
+ this.parents = parents;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getCheckedOutDocs", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getCheckedOutDocsRequest {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string repositoryId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public string folderId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=2)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public string filter;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=3)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public string orderBy;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=4)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public System.Nullable<bool> includeAllowableActions;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=5)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public System.Nullable<enumIncludeRelationships> includeRelationships;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=6)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public string renditionFilter;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=7)]
+ [System.Xml.Serialization.XmlElementAttribute(DataType="integer", IsNullable=true)]
+ public string maxItems;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=8)]
+ [System.Xml.Serialization.XmlElementAttribute(DataType="integer", IsNullable=true)]
+ public string skipCount;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=9)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public getCheckedOutDocsRequest() {
+ }
+
+ public getCheckedOutDocsRequest(string repositoryId, string folderId, string filter, string orderBy, System.Nullable<bool> includeAllowableActions, System.Nullable<enumIncludeRelationships> includeRelationships, string renditionFilter, string maxItems, string skipCount, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.repositoryId = repositoryId;
+ this.folderId = folderId;
+ this.filter = filter;
+ this.orderBy = orderBy;
+ this.includeAllowableActions = includeAllowableActions;
+ this.includeRelationships = includeRelationships;
+ this.renditionFilter = renditionFilter;
+ this.maxItems = maxItems;
+ this.skipCount = skipCount;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getCheckedOutDocsResponse", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getCheckedOutDocsResponse {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public DotCMIS.CMISWebServicesReference.cmisObjectListType objects;
+
+ public getCheckedOutDocsResponse() {
+ }
+
+ public getCheckedOutDocsResponse(DotCMIS.CMISWebServicesReference.cmisObjectListType objects) {
+ this.objects = objects;
+ }
+ }
+
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ internal interface NavigationServicePortChannel : DotCMIS.CMISWebServicesReference.NavigationServicePort, System.ServiceModel.IClientChannel {
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ internal partial class NavigationServicePortClient : System.ServiceModel.ClientBase<DotCMIS.CMISWebServicesReference.NavigationServicePort>, DotCMIS.CMISWebServicesReference.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)]
+ DotCMIS.CMISWebServicesReference.getDescendantsResponse DotCMIS.CMISWebServicesReference.NavigationServicePort.getDescendants(DotCMIS.CMISWebServicesReference.getDescendantsRequest request) {
+ return base.Channel.getDescendants(request);
+ }
+
+ public cmisObjectInFolderContainerType[] getDescendants(string repositoryId, string folderId, string depth, string filter, System.Nullable<bool> includeAllowableActions, System.Nullable<enumIncludeRelationships> includeRelationships, string renditionFilter, System.Nullable<bool> includePathSegment, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ DotCMIS.CMISWebServicesReference.getDescendantsRequest inValue = new DotCMIS.CMISWebServicesReference.getDescendantsRequest();
+ inValue.repositoryId = repositoryId;
+ inValue.folderId = folderId;
+ inValue.depth = depth;
+ inValue.filter = filter;
+ inValue.includeAllowableActions = includeAllowableActions;
+ inValue.includeRelationships = includeRelationships;
+ inValue.renditionFilter = renditionFilter;
+ inValue.includePathSegment = includePathSegment;
+ inValue.extension = extension;
+ DotCMIS.CMISWebServicesReference.getDescendantsResponse retVal = ((DotCMIS.CMISWebServicesReference.NavigationServicePort)(this)).getDescendants(inValue);
+ return retVal.objects;
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ DotCMIS.CMISWebServicesReference.getChildrenResponse DotCMIS.CMISWebServicesReference.NavigationServicePort.getChildren(DotCMIS.CMISWebServicesReference.getChildrenRequest request) {
+ return base.Channel.getChildren(request);
+ }
+
+ public DotCMIS.CMISWebServicesReference.cmisObjectInFolderListType getChildren(string repositoryId, string folderId, string filter, string orderBy, System.Nullable<bool> includeAllowableActions, System.Nullable<enumIncludeRelationships> includeRelationships, string renditionFilter, System.Nullable<bool> includePathSegment, string maxItems, string skipCount, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ DotCMIS.CMISWebServicesReference.getChildrenRequest inValue = new DotCMIS.CMISWebServicesReference.getChildrenRequest();
+ inValue.repositoryId = repositoryId;
+ inValue.folderId = folderId;
+ inValue.filter = filter;
+ inValue.orderBy = orderBy;
+ inValue.includeAllowableActions = includeAllowableActions;
+ inValue.includeRelationships = includeRelationships;
+ inValue.renditionFilter = renditionFilter;
+ inValue.includePathSegment = includePathSegment;
+ inValue.maxItems = maxItems;
+ inValue.skipCount = skipCount;
+ inValue.extension = extension;
+ DotCMIS.CMISWebServicesReference.getChildrenResponse retVal = ((DotCMIS.CMISWebServicesReference.NavigationServicePort)(this)).getChildren(inValue);
+ return retVal.objects;
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ DotCMIS.CMISWebServicesReference.getFolderParentResponse DotCMIS.CMISWebServicesReference.NavigationServicePort.getFolderParent(DotCMIS.CMISWebServicesReference.getFolderParentRequest request) {
+ return base.Channel.getFolderParent(request);
+ }
+
+ public DotCMIS.CMISWebServicesReference.cmisObjectType getFolderParent(string repositoryId, string folderId, string filter, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ DotCMIS.CMISWebServicesReference.getFolderParentRequest inValue = new DotCMIS.CMISWebServicesReference.getFolderParentRequest();
+ inValue.repositoryId = repositoryId;
+ inValue.folderId = folderId;
+ inValue.filter = filter;
+ inValue.extension = extension;
+ DotCMIS.CMISWebServicesReference.getFolderParentResponse retVal = ((DotCMIS.CMISWebServicesReference.NavigationServicePort)(this)).getFolderParent(inValue);
+ return retVal.@object;
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ DotCMIS.CMISWebServicesReference.getFolderTreeResponse DotCMIS.CMISWebServicesReference.NavigationServicePort.getFolderTree(DotCMIS.CMISWebServicesReference.getFolderTreeRequest request) {
+ return base.Channel.getFolderTree(request);
+ }
+
+ public cmisObjectInFolderContainerType[] getFolderTree(string repositoryId, string folderId, string depth, string filter, System.Nullable<bool> includeAllowableActions, System.Nullable<enumIncludeRelationships> includeRelationships, string renditionFilter, System.Nullable<bool> includePathSegment, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ DotCMIS.CMISWebServicesReference.getFolderTreeRequest inValue = new DotCMIS.CMISWebServicesReference.getFolderTreeRequest();
+ inValue.repositoryId = repositoryId;
+ inValue.folderId = folderId;
+ inValue.depth = depth;
+ inValue.filter = filter;
+ inValue.includeAllowableActions = includeAllowableActions;
+ inValue.includeRelationships = includeRelationships;
+ inValue.renditionFilter = renditionFilter;
+ inValue.includePathSegment = includePathSegment;
+ inValue.extension = extension;
+ DotCMIS.CMISWebServicesReference.getFolderTreeResponse retVal = ((DotCMIS.CMISWebServicesReference.NavigationServicePort)(this)).getFolderTree(inValue);
+ return retVal.objects;
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ DotCMIS.CMISWebServicesReference.getObjectParentsResponse DotCMIS.CMISWebServicesReference.NavigationServicePort.getObjectParents(DotCMIS.CMISWebServicesReference.getObjectParentsRequest request) {
+ return base.Channel.getObjectParents(request);
+ }
+
+ public cmisObjectParentsType[] getObjectParents(string repositoryId, string objectId, string filter, System.Nullable<bool> includeAllowableActions, System.Nullable<enumIncludeRelationships> includeRelationships, string renditionFilter, System.Nullable<bool> includeRelativePathSegment, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ DotCMIS.CMISWebServicesReference.getObjectParentsRequest inValue = new DotCMIS.CMISWebServicesReference.getObjectParentsRequest();
+ inValue.repositoryId = repositoryId;
+ inValue.objectId = objectId;
+ inValue.filter = filter;
+ inValue.includeAllowableActions = includeAllowableActions;
+ inValue.includeRelationships = includeRelationships;
+ inValue.renditionFilter = renditionFilter;
+ inValue.includeRelativePathSegment = includeRelativePathSegment;
+ inValue.extension = extension;
+ DotCMIS.CMISWebServicesReference.getObjectParentsResponse retVal = ((DotCMIS.CMISWebServicesReference.NavigationServicePort)(this)).getObjectParents(inValue);
+ return retVal.parents;
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ DotCMIS.CMISWebServicesReference.getCheckedOutDocsResponse DotCMIS.CMISWebServicesReference.NavigationServicePort.getCheckedOutDocs(DotCMIS.CMISWebServicesReference.getCheckedOutDocsRequest request) {
+ return base.Channel.getCheckedOutDocs(request);
+ }
+
+ public DotCMIS.CMISWebServicesReference.cmisObjectListType getCheckedOutDocs(string repositoryId, string folderId, string filter, string orderBy, System.Nullable<bool> includeAllowableActions, System.Nullable<enumIncludeRelationships> includeRelationships, string renditionFilter, string maxItems, string skipCount, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ DotCMIS.CMISWebServicesReference.getCheckedOutDocsRequest inValue = new DotCMIS.CMISWebServicesReference.getCheckedOutDocsRequest();
+ inValue.repositoryId = repositoryId;
+ inValue.folderId = folderId;
+ inValue.filter = filter;
+ inValue.orderBy = orderBy;
+ inValue.includeAllowableActions = includeAllowableActions;
+ inValue.includeRelationships = includeRelationships;
+ inValue.renditionFilter = renditionFilter;
+ inValue.maxItems = maxItems;
+ inValue.skipCount = skipCount;
+ inValue.extension = extension;
+ DotCMIS.CMISWebServicesReference.getCheckedOutDocsResponse retVal = ((DotCMIS.CMISWebServicesReference.NavigationServicePort)(this)).getCheckedOutDocs(inValue);
+ return retVal.objects;
+ }
+ }
+
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ServiceModel.ServiceContractAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/ws/200908/", ConfigurationName="CMISWebServicesReference.ObjectServicePort")]
+ internal interface ObjectServicePort {
+
+ // CODEGEN: Generating message contract since the wrapper namespace (http://docs.oasis-open.org/ns/cmis/messaging/200908/) of message createDocumentRequest does not match the default value (http://docs.oasis-open.org/ns/cmis/ws/200908/)
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(DotCMIS.CMISWebServicesReference.cmisFaultType), Action="", Name="cmisFault", Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(cmisProperty))]
+ DotCMIS.CMISWebServicesReference.createDocumentResponse createDocument(DotCMIS.CMISWebServicesReference.createDocumentRequest request);
+
+ // CODEGEN: Generating message contract since the wrapper namespace (http://docs.oasis-open.org/ns/cmis/messaging/200908/) of message createDocumentFromSourceRequest does not match the default value (http://docs.oasis-open.org/ns/cmis/ws/200908/)
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(DotCMIS.CMISWebServicesReference.cmisFaultType), Action="", Name="cmisFault", Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(cmisProperty))]
+ DotCMIS.CMISWebServicesReference.createDocumentFromSourceResponse createDocumentFromSource(DotCMIS.CMISWebServicesReference.createDocumentFromSourceRequest request);
+
+ // CODEGEN: Generating message contract since the wrapper namespace (http://docs.oasis-open.org/ns/cmis/messaging/200908/) of message createFolderRequest does not match the default value (http://docs.oasis-open.org/ns/cmis/ws/200908/)
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(DotCMIS.CMISWebServicesReference.cmisFaultType), Action="", Name="cmisFault", Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(cmisProperty))]
+ DotCMIS.CMISWebServicesReference.createFolderResponse createFolder(DotCMIS.CMISWebServicesReference.createFolderRequest request);
+
+ // CODEGEN: Generating message contract since the wrapper namespace (http://docs.oasis-open.org/ns/cmis/messaging/200908/) of message createRelationshipRequest does not match the default value (http://docs.oasis-open.org/ns/cmis/ws/200908/)
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(DotCMIS.CMISWebServicesReference.cmisFaultType), Action="", Name="cmisFault", Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(cmisProperty))]
+ DotCMIS.CMISWebServicesReference.createRelationshipResponse createRelationship(DotCMIS.CMISWebServicesReference.createRelationshipRequest request);
+
+ // CODEGEN: Generating message contract since the wrapper namespace (http://docs.oasis-open.org/ns/cmis/messaging/200908/) of message createPolicyRequest does not match the default value (http://docs.oasis-open.org/ns/cmis/ws/200908/)
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(DotCMIS.CMISWebServicesReference.cmisFaultType), Action="", Name="cmisFault", Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(cmisProperty))]
+ DotCMIS.CMISWebServicesReference.createPolicyResponse createPolicy(DotCMIS.CMISWebServicesReference.createPolicyRequest request);
+
+ // CODEGEN: Generating message contract since the wrapper namespace (http://docs.oasis-open.org/ns/cmis/messaging/200908/) of message getAllowableActionsRequest does not match the default value (http://docs.oasis-open.org/ns/cmis/ws/200908/)
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(DotCMIS.CMISWebServicesReference.cmisFaultType), Action="", Name="cmisFault", Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(cmisProperty))]
+ DotCMIS.CMISWebServicesReference.getAllowableActionsResponse getAllowableActions(DotCMIS.CMISWebServicesReference.getAllowableActionsRequest request);
+
+ // CODEGEN: Generating message contract since the wrapper namespace (http://docs.oasis-open.org/ns/cmis/messaging/200908/) of message getObjectRequest does not match the default value (http://docs.oasis-open.org/ns/cmis/ws/200908/)
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(DotCMIS.CMISWebServicesReference.cmisFaultType), Action="", Name="cmisFault", Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(cmisProperty))]
+ DotCMIS.CMISWebServicesReference.getObjectResponse getObject(DotCMIS.CMISWebServicesReference.getObjectRequest request);
+
+ // CODEGEN: Generating message contract since the wrapper namespace (http://docs.oasis-open.org/ns/cmis/messaging/200908/) of message getPropertiesRequest does not match the default value (http://docs.oasis-open.org/ns/cmis/ws/200908/)
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(DotCMIS.CMISWebServicesReference.cmisFaultType), Action="", Name="cmisFault", Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(cmisProperty))]
+ DotCMIS.CMISWebServicesReference.getPropertiesResponse getProperties(DotCMIS.CMISWebServicesReference.getPropertiesRequest request);
+
+ // CODEGEN: Generating message contract since the wrapper namespace (http://docs.oasis-open.org/ns/cmis/messaging/200908/) of message getRenditionsRequest does not match the default value (http://docs.oasis-open.org/ns/cmis/ws/200908/)
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(DotCMIS.CMISWebServicesReference.cmisFaultType), Action="", Name="cmisFault", Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(cmisProperty))]
+ DotCMIS.CMISWebServicesReference.getRenditionsResponse getRenditions(DotCMIS.CMISWebServicesReference.getRenditionsRequest request);
+
+ // CODEGEN: Generating message contract since the wrapper namespace (http://docs.oasis-open.org/ns/cmis/messaging/200908/) of message getObjectByPathRequest does not match the default value (http://docs.oasis-open.org/ns/cmis/ws/200908/)
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(DotCMIS.CMISWebServicesReference.cmisFaultType), Action="", Name="cmisFault", Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(cmisProperty))]
+ DotCMIS.CMISWebServicesReference.getObjectByPathResponse getObjectByPath(DotCMIS.CMISWebServicesReference.getObjectByPathRequest request);
+
+ // CODEGEN: Generating message contract since the wrapper namespace (http://docs.oasis-open.org/ns/cmis/messaging/200908/) of message getContentStreamRequest does not match the default value (http://docs.oasis-open.org/ns/cmis/ws/200908/)
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(DotCMIS.CMISWebServicesReference.cmisFaultType), Action="", Name="cmisFault", Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(cmisProperty))]
+ DotCMIS.CMISWebServicesReference.getContentStreamResponse getContentStream(DotCMIS.CMISWebServicesReference.getContentStreamRequest request);
+
+ // CODEGEN: Generating message contract since the wrapper namespace (http://docs.oasis-open.org/ns/cmis/messaging/200908/) of message updatePropertiesRequest does not match the default value (http://docs.oasis-open.org/ns/cmis/ws/200908/)
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(DotCMIS.CMISWebServicesReference.cmisFaultType), Action="", Name="cmisFault", Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(cmisProperty))]
+ DotCMIS.CMISWebServicesReference.updatePropertiesResponse updateProperties(DotCMIS.CMISWebServicesReference.updatePropertiesRequest request);
+
+ // CODEGEN: Generating message contract since the wrapper namespace (http://docs.oasis-open.org/ns/cmis/messaging/200908/) of message moveObjectRequest does not match the default value (http://docs.oasis-open.org/ns/cmis/ws/200908/)
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(DotCMIS.CMISWebServicesReference.cmisFaultType), Action="", Name="cmisFault", Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(cmisProperty))]
+ DotCMIS.CMISWebServicesReference.moveObjectResponse moveObject(DotCMIS.CMISWebServicesReference.moveObjectRequest request);
+
+ // CODEGEN: Generating message contract since the wrapper namespace (http://docs.oasis-open.org/ns/cmis/messaging/200908/) of message deleteObjectRequest does not match the default value (http://docs.oasis-open.org/ns/cmis/ws/200908/)
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(DotCMIS.CMISWebServicesReference.cmisFaultType), Action="", Name="cmisFault", Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(cmisProperty))]
+ DotCMIS.CMISWebServicesReference.deleteObjectResponse deleteObject(DotCMIS.CMISWebServicesReference.deleteObjectRequest request);
+
+ // CODEGEN: Generating message contract since the wrapper namespace (http://docs.oasis-open.org/ns/cmis/messaging/200908/) of message deleteTreeRequest does not match the default value (http://docs.oasis-open.org/ns/cmis/ws/200908/)
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(DotCMIS.CMISWebServicesReference.cmisFaultType), Action="", Name="cmisFault", Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(cmisProperty))]
+ DotCMIS.CMISWebServicesReference.deleteTreeResponse deleteTree(DotCMIS.CMISWebServicesReference.deleteTreeRequest request);
+
+ // CODEGEN: Generating message contract since the wrapper namespace (http://docs.oasis-open.org/ns/cmis/messaging/200908/) of message setContentStreamRequest does not match the default value (http://docs.oasis-open.org/ns/cmis/ws/200908/)
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(DotCMIS.CMISWebServicesReference.cmisFaultType), Action="", Name="cmisFault", Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(cmisProperty))]
+ DotCMIS.CMISWebServicesReference.setContentStreamResponse setContentStream(DotCMIS.CMISWebServicesReference.setContentStreamRequest request);
+
+ // CODEGEN: Generating message contract since the wrapper namespace (http://docs.oasis-open.org/ns/cmis/messaging/200908/) of message deleteContentStreamRequest does not match the default value (http://docs.oasis-open.org/ns/cmis/ws/200908/)
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(DotCMIS.CMISWebServicesReference.cmisFaultType), Action="", Name="cmisFault", Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(cmisProperty))]
+ DotCMIS.CMISWebServicesReference.deleteContentStreamResponse deleteContentStream(DotCMIS.CMISWebServicesReference.deleteContentStreamRequest request);
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ public partial class cmisContentStreamType : object, System.ComponentModel.INotifyPropertyChanged {
+
+ private string lengthField;
+
+ private string mimeTypeField;
+
+ private string filenameField;
+
+ private byte[] streamField;
+
+ private System.Xml.XmlElement[] anyField;
+
+ private System.Xml.XmlAttribute[] anyAttrField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(DataType="integer", Order=0)]
+ public string length {
+ get {
+ return this.lengthField;
+ }
+ set {
+ this.lengthField = value;
+ this.RaisePropertyChanged("length");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=1)]
+ public string mimeType {
+ get {
+ return this.mimeTypeField;
+ }
+ set {
+ this.mimeTypeField = value;
+ this.RaisePropertyChanged("mimeType");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=2)]
+ public string filename {
+ get {
+ return this.filenameField;
+ }
+ set {
+ this.filenameField = value;
+ this.RaisePropertyChanged("filename");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary", Order=3)]
+ public byte[] stream {
+ get {
+ return this.streamField;
+ }
+ set {
+ this.streamField = value;
+ this.RaisePropertyChanged("stream");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyElementAttribute(Order=4)]
+ public System.Xml.XmlElement[] Any {
+ get {
+ return this.anyField;
+ }
+ set {
+ this.anyField = value;
+ this.RaisePropertyChanged("Any");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyAttributeAttribute()]
+ public System.Xml.XmlAttribute[] AnyAttr {
+ get {
+ return this.anyAttrField;
+ }
+ set {
+ this.anyAttrField = value;
+ this.RaisePropertyChanged("AnyAttr");
+ }
+ }
+
+ public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+
+ protected void RaisePropertyChanged(string propertyName) {
+ System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+ if ((propertyChanged != null)) {
+ propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public enum enumVersioningState {
+
+ /// <remarks/>
+ none,
+
+ /// <remarks/>
+ checkedout,
+
+ /// <remarks/>
+ minor,
+
+ /// <remarks/>
+ major,
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="createDocument", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class createDocumentRequest {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string repositoryId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ public DotCMIS.CMISWebServicesReference.cmisPropertiesType properties;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=2)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public string folderId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=3)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisContentStreamType contentStream;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=4)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public System.Nullable<enumVersioningState> versioningState;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=5)]
+ [System.Xml.Serialization.XmlElementAttribute("policies", IsNullable=true)]
+ public string[] policies;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=6)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisAccessControlListType addACEs;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=7)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisAccessControlListType removeACEs;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=8)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public createDocumentRequest() {
+ }
+
+ public createDocumentRequest(string repositoryId, DotCMIS.CMISWebServicesReference.cmisPropertiesType properties, string folderId, DotCMIS.CMISWebServicesReference.cmisContentStreamType contentStream, System.Nullable<enumVersioningState> versioningState, string[] policies, DotCMIS.CMISWebServicesReference.cmisAccessControlListType addACEs, DotCMIS.CMISWebServicesReference.cmisAccessControlListType removeACEs, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.repositoryId = repositoryId;
+ this.properties = properties;
+ this.folderId = folderId;
+ this.contentStream = contentStream;
+ this.versioningState = versioningState;
+ this.policies = policies;
+ this.addACEs = addACEs;
+ this.removeACEs = removeACEs;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="createDocumentResponse", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class createDocumentResponse {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string objectId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public createDocumentResponse() {
+ }
+
+ public createDocumentResponse(string objectId, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.objectId = objectId;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="createDocumentFromSource", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class createDocumentFromSourceRequest {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string repositoryId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ public string sourceId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=2)]
+ public DotCMIS.CMISWebServicesReference.cmisPropertiesType properties;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=3)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public string folderId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=4)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public System.Nullable<enumVersioningState> versioningState;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=5)]
+ [System.Xml.Serialization.XmlElementAttribute("policies", IsNullable=true)]
+ public string[] policies;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=6)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisAccessControlListType addACEs;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=7)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisAccessControlListType removeACEs;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=8)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public createDocumentFromSourceRequest() {
+ }
+
+ public createDocumentFromSourceRequest(string repositoryId, string sourceId, DotCMIS.CMISWebServicesReference.cmisPropertiesType properties, string folderId, System.Nullable<enumVersioningState> versioningState, string[] policies, DotCMIS.CMISWebServicesReference.cmisAccessControlListType addACEs, DotCMIS.CMISWebServicesReference.cmisAccessControlListType removeACEs, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.repositoryId = repositoryId;
+ this.sourceId = sourceId;
+ this.properties = properties;
+ this.folderId = folderId;
+ this.versioningState = versioningState;
+ this.policies = policies;
+ this.addACEs = addACEs;
+ this.removeACEs = removeACEs;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="createDocumentFromSourceResponse", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class createDocumentFromSourceResponse {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string objectId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public createDocumentFromSourceResponse() {
+ }
+
+ public createDocumentFromSourceResponse(string objectId, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.objectId = objectId;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="createFolder", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class createFolderRequest {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string repositoryId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ public DotCMIS.CMISWebServicesReference.cmisPropertiesType properties;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=2)]
+ public string folderId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=3)]
+ [System.Xml.Serialization.XmlElementAttribute("policies", IsNullable=true)]
+ public string[] policies;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=4)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisAccessControlListType addACEs;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=5)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisAccessControlListType removeACEs;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=6)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public createFolderRequest() {
+ }
+
+ public createFolderRequest(string repositoryId, DotCMIS.CMISWebServicesReference.cmisPropertiesType properties, string folderId, string[] policies, DotCMIS.CMISWebServicesReference.cmisAccessControlListType addACEs, DotCMIS.CMISWebServicesReference.cmisAccessControlListType removeACEs, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.repositoryId = repositoryId;
+ this.properties = properties;
+ this.folderId = folderId;
+ this.policies = policies;
+ this.addACEs = addACEs;
+ this.removeACEs = removeACEs;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="createFolderResponse", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class createFolderResponse {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string objectId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public createFolderResponse() {
+ }
+
+ public createFolderResponse(string objectId, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.objectId = objectId;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="createRelationship", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class createRelationshipRequest {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string repositoryId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ public DotCMIS.CMISWebServicesReference.cmisPropertiesType properties;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=2)]
+ [System.Xml.Serialization.XmlElementAttribute("policies", IsNullable=true)]
+ public string[] policies;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=3)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisAccessControlListType addACEs;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=4)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisAccessControlListType removeACEs;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=5)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public createRelationshipRequest() {
+ }
+
+ public createRelationshipRequest(string repositoryId, DotCMIS.CMISWebServicesReference.cmisPropertiesType properties, string[] policies, DotCMIS.CMISWebServicesReference.cmisAccessControlListType addACEs, DotCMIS.CMISWebServicesReference.cmisAccessControlListType removeACEs, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.repositoryId = repositoryId;
+ this.properties = properties;
+ this.policies = policies;
+ this.addACEs = addACEs;
+ this.removeACEs = removeACEs;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="createRelationshipResponse", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class createRelationshipResponse {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string objectId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public createRelationshipResponse() {
+ }
+
+ public createRelationshipResponse(string objectId, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.objectId = objectId;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="createPolicy", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class createPolicyRequest {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string repositoryId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ public DotCMIS.CMISWebServicesReference.cmisPropertiesType properties;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=2)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public string folderId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=3)]
+ [System.Xml.Serialization.XmlElementAttribute("policies", IsNullable=true)]
+ public string[] policies;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=4)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisAccessControlListType addACEs;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=5)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisAccessControlListType removeACEs;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=6)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public createPolicyRequest() {
+ }
+
+ public createPolicyRequest(string repositoryId, DotCMIS.CMISWebServicesReference.cmisPropertiesType properties, string folderId, string[] policies, DotCMIS.CMISWebServicesReference.cmisAccessControlListType addACEs, DotCMIS.CMISWebServicesReference.cmisAccessControlListType removeACEs, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.repositoryId = repositoryId;
+ this.properties = properties;
+ this.folderId = folderId;
+ this.policies = policies;
+ this.addACEs = addACEs;
+ this.removeACEs = removeACEs;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="createPolicyResponse", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class createPolicyResponse {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string objectId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public createPolicyResponse() {
+ }
+
+ public createPolicyResponse(string objectId, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.objectId = objectId;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getAllowableActions", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getAllowableActionsRequest {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string repositoryId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ public string objectId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=2)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public getAllowableActionsRequest() {
+ }
+
+ public getAllowableActionsRequest(string repositoryId, string objectId, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.repositoryId = repositoryId;
+ this.objectId = objectId;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getAllowableActionsResponse", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getAllowableActionsResponse {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public DotCMIS.CMISWebServicesReference.cmisAllowableActionsType allowableActions;
+
+ public getAllowableActionsResponse() {
+ }
+
+ public getAllowableActionsResponse(DotCMIS.CMISWebServicesReference.cmisAllowableActionsType allowableActions) {
+ this.allowableActions = allowableActions;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getObject", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getObjectRequest {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string repositoryId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ public string objectId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=2)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public string filter;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=3)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public System.Nullable<bool> includeAllowableActions;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=4)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public System.Nullable<enumIncludeRelationships> includeRelationships;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=5)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public string renditionFilter;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=6)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public System.Nullable<bool> includePolicyIds;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=7)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public System.Nullable<bool> includeACL;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=8)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public getObjectRequest() {
+ }
+
+ public getObjectRequest(string repositoryId, string objectId, string filter, System.Nullable<bool> includeAllowableActions, System.Nullable<enumIncludeRelationships> includeRelationships, string renditionFilter, System.Nullable<bool> includePolicyIds, System.Nullable<bool> includeACL, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.repositoryId = repositoryId;
+ this.objectId = objectId;
+ this.filter = filter;
+ this.includeAllowableActions = includeAllowableActions;
+ this.includeRelationships = includeRelationships;
+ this.renditionFilter = renditionFilter;
+ this.includePolicyIds = includePolicyIds;
+ this.includeACL = includeACL;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getObjectResponse", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getObjectResponse {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public DotCMIS.CMISWebServicesReference.cmisObjectType @object;
+
+ public getObjectResponse() {
+ }
+
+ public getObjectResponse(DotCMIS.CMISWebServicesReference.cmisObjectType @object) {
+ this.@object = @object;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getProperties", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getPropertiesRequest {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string repositoryId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ public string objectId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=2)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public string filter;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=3)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public getPropertiesRequest() {
+ }
+
+ public getPropertiesRequest(string repositoryId, string objectId, string filter, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.repositoryId = repositoryId;
+ this.objectId = objectId;
+ this.filter = filter;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getPropertiesResponse", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getPropertiesResponse {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public DotCMIS.CMISWebServicesReference.cmisPropertiesType properties;
+
+ public getPropertiesResponse() {
+ }
+
+ public getPropertiesResponse(DotCMIS.CMISWebServicesReference.cmisPropertiesType properties) {
+ this.properties = properties;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getRenditions", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getRenditionsRequest {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string repositoryId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ public string objectId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=2)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public string renditionFilter;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=3)]
+ [System.Xml.Serialization.XmlElementAttribute(DataType="integer", IsNullable=true)]
+ public string maxItems;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=4)]
+ [System.Xml.Serialization.XmlElementAttribute(DataType="integer", IsNullable=true)]
+ public string skipCount;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=5)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public getRenditionsRequest() {
+ }
+
+ public getRenditionsRequest(string repositoryId, string objectId, string renditionFilter, string maxItems, string skipCount, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.repositoryId = repositoryId;
+ this.objectId = objectId;
+ this.renditionFilter = renditionFilter;
+ this.maxItems = maxItems;
+ this.skipCount = skipCount;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getRenditionsResponse", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getRenditionsResponse {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ [System.Xml.Serialization.XmlElementAttribute("renditions")]
+ public cmisRenditionType[] renditions;
+
+ public getRenditionsResponse() {
+ }
+
+ public getRenditionsResponse(cmisRenditionType[] renditions) {
+ this.renditions = renditions;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getObjectByPath", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getObjectByPathRequest {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string repositoryId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ public string path;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=2)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public string filter;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=3)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public System.Nullable<bool> includeAllowableActions;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=4)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public System.Nullable<enumIncludeRelationships> includeRelationships;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=5)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public string renditionFilter;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=6)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public System.Nullable<bool> includePolicyIds;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=7)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public System.Nullable<bool> includeACL;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=8)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public getObjectByPathRequest() {
+ }
+
+ public getObjectByPathRequest(string repositoryId, string path, string filter, System.Nullable<bool> includeAllowableActions, System.Nullable<enumIncludeRelationships> includeRelationships, string renditionFilter, System.Nullable<bool> includePolicyIds, System.Nullable<bool> includeACL, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.repositoryId = repositoryId;
+ this.path = path;
+ this.filter = filter;
+ this.includeAllowableActions = includeAllowableActions;
+ this.includeRelationships = includeRelationships;
+ this.renditionFilter = renditionFilter;
+ this.includePolicyIds = includePolicyIds;
+ this.includeACL = includeACL;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getObjectByPathResponse", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getObjectByPathResponse {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public DotCMIS.CMISWebServicesReference.cmisObjectType @object;
+
+ public getObjectByPathResponse() {
+ }
+
+ public getObjectByPathResponse(DotCMIS.CMISWebServicesReference.cmisObjectType @object) {
+ this.@object = @object;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getContentStream", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getContentStreamRequest {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string repositoryId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ public string objectId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=2)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public string streamId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=3)]
+ [System.Xml.Serialization.XmlElementAttribute(DataType="integer", IsNullable=true)]
+ public string offset;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=4)]
+ [System.Xml.Serialization.XmlElementAttribute(DataType="integer", IsNullable=true)]
+ public string length;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=5)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public getContentStreamRequest() {
+ }
+
+ public getContentStreamRequest(string repositoryId, string objectId, string streamId, string offset, string length, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.repositoryId = repositoryId;
+ this.objectId = objectId;
+ this.streamId = streamId;
+ this.offset = offset;
+ this.length = length;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getContentStreamResponse", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getContentStreamResponse {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public DotCMIS.CMISWebServicesReference.cmisContentStreamType contentStream;
+
+ public getContentStreamResponse() {
+ }
+
+ public getContentStreamResponse(DotCMIS.CMISWebServicesReference.cmisContentStreamType contentStream) {
+ this.contentStream = contentStream;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="updateProperties", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class updatePropertiesRequest {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string repositoryId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ public string objectId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=2)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public string changeToken;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=3)]
+ public DotCMIS.CMISWebServicesReference.cmisPropertiesType properties;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=4)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public updatePropertiesRequest() {
+ }
+
+ public updatePropertiesRequest(string repositoryId, string objectId, string changeToken, DotCMIS.CMISWebServicesReference.cmisPropertiesType properties, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.repositoryId = repositoryId;
+ this.objectId = objectId;
+ this.changeToken = changeToken;
+ this.properties = properties;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="updatePropertiesResponse", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class updatePropertiesResponse {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string objectId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ public string changeToken;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=2)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public updatePropertiesResponse() {
+ }
+
+ public updatePropertiesResponse(string objectId, string changeToken, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.objectId = objectId;
+ this.changeToken = changeToken;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="moveObject", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class moveObjectRequest {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string repositoryId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ public string objectId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=2)]
+ public string targetFolderId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=3)]
+ public string sourceFolderId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=4)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public moveObjectRequest() {
+ }
+
+ public moveObjectRequest(string repositoryId, string objectId, string targetFolderId, string sourceFolderId, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.repositoryId = repositoryId;
+ this.objectId = objectId;
+ this.targetFolderId = targetFolderId;
+ this.sourceFolderId = sourceFolderId;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="moveObjectResponse", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class moveObjectResponse {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string objectId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public moveObjectResponse() {
+ }
+
+ public moveObjectResponse(string objectId, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.objectId = objectId;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="deleteObject", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class deleteObjectRequest {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string repositoryId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ public string objectId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=2)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public System.Nullable<bool> allVersions;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=3)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public deleteObjectRequest() {
+ }
+
+ public deleteObjectRequest(string repositoryId, string objectId, System.Nullable<bool> allVersions, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.repositoryId = repositoryId;
+ this.objectId = objectId;
+ this.allVersions = allVersions;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="deleteObjectResponse", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class deleteObjectResponse {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public deleteObjectResponse() {
+ }
+
+ public deleteObjectResponse(DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.extension = extension;
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public enum enumUnfileObject {
+
+ /// <remarks/>
+ unfile,
+
+ /// <remarks/>
+ deletesinglefiled,
+
+ /// <remarks/>
+ delete,
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ public partial class deleteTreeResponseFailedToDelete : object, System.ComponentModel.INotifyPropertyChanged {
+
+ private string[] objectIdsField;
+
+ private System.Xml.XmlElement[] anyField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("objectIds", Order=0)]
+ public string[] objectIds {
+ get {
+ return this.objectIdsField;
+ }
+ set {
+ this.objectIdsField = value;
+ this.RaisePropertyChanged("objectIds");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyElementAttribute(Order=1)]
+ public System.Xml.XmlElement[] Any {
+ get {
+ return this.anyField;
+ }
+ set {
+ this.anyField = value;
+ this.RaisePropertyChanged("Any");
+ }
+ }
+
+ public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+
+ protected void RaisePropertyChanged(string propertyName) {
+ System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+ if ((propertyChanged != null)) {
+ propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+ }
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="deleteTree", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class deleteTreeRequest {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string repositoryId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ public string folderId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=2)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public System.Nullable<bool> allVersions;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=3)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public System.Nullable<enumUnfileObject> unfileObjects;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=4)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public System.Nullable<bool> continueOnFailure;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=5)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public deleteTreeRequest() {
+ }
+
+ public deleteTreeRequest(string repositoryId, string folderId, System.Nullable<bool> allVersions, System.Nullable<enumUnfileObject> unfileObjects, System.Nullable<bool> continueOnFailure, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.repositoryId = repositoryId;
+ this.folderId = folderId;
+ this.allVersions = allVersions;
+ this.unfileObjects = unfileObjects;
+ this.continueOnFailure = continueOnFailure;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="deleteTreeResponse", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class deleteTreeResponse {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public DotCMIS.CMISWebServicesReference.deleteTreeResponseFailedToDelete failedToDelete;
+
+ public deleteTreeResponse() {
+ }
+
+ public deleteTreeResponse(DotCMIS.CMISWebServicesReference.deleteTreeResponseFailedToDelete failedToDelete) {
+ this.failedToDelete = failedToDelete;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="setContentStream", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class setContentStreamRequest {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string repositoryId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ public string objectId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=2)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public System.Nullable<bool> overwriteFlag;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=3)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public string changeToken;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=4)]
+ public DotCMIS.CMISWebServicesReference.cmisContentStreamType contentStream;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=5)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public setContentStreamRequest() {
+ }
+
+ public setContentStreamRequest(string repositoryId, string objectId, System.Nullable<bool> overwriteFlag, string changeToken, DotCMIS.CMISWebServicesReference.cmisContentStreamType contentStream, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.repositoryId = repositoryId;
+ this.objectId = objectId;
+ this.overwriteFlag = overwriteFlag;
+ this.changeToken = changeToken;
+ this.contentStream = contentStream;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="setContentStreamResponse", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class setContentStreamResponse {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string objectId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ public string changeToken;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=2)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public setContentStreamResponse() {
+ }
+
+ public setContentStreamResponse(string objectId, string changeToken, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.objectId = objectId;
+ this.changeToken = changeToken;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="deleteContentStream", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class deleteContentStreamRequest {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string repositoryId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ public string objectId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=2)]
+ public string changeToken;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=3)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public deleteContentStreamRequest() {
+ }
+
+ public deleteContentStreamRequest(string repositoryId, string objectId, string changeToken, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.repositoryId = repositoryId;
+ this.objectId = objectId;
+ this.changeToken = changeToken;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="deleteContentStreamResponse", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class deleteContentStreamResponse {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string objectId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ public string changeToken;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=2)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public deleteContentStreamResponse() {
+ }
+
+ public deleteContentStreamResponse(string objectId, string changeToken, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.objectId = objectId;
+ this.changeToken = changeToken;
+ this.extension = extension;
+ }
+ }
+
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ internal interface ObjectServicePortChannel : DotCMIS.CMISWebServicesReference.ObjectServicePort, System.ServiceModel.IClientChannel {
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ internal partial class ObjectServicePortClient : System.ServiceModel.ClientBase<DotCMIS.CMISWebServicesReference.ObjectServicePort>, DotCMIS.CMISWebServicesReference.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)]
+ DotCMIS.CMISWebServicesReference.createDocumentResponse DotCMIS.CMISWebServicesReference.ObjectServicePort.createDocument(DotCMIS.CMISWebServicesReference.createDocumentRequest request) {
+ return base.Channel.createDocument(request);
+ }
+
+ public string createDocument(string repositoryId, DotCMIS.CMISWebServicesReference.cmisPropertiesType properties, string folderId, DotCMIS.CMISWebServicesReference.cmisContentStreamType contentStream, System.Nullable<enumVersioningState> versioningState, string[] policies, DotCMIS.CMISWebServicesReference.cmisAccessControlListType addACEs, DotCMIS.CMISWebServicesReference.cmisAccessControlListType removeACEs, ref DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ DotCMIS.CMISWebServicesReference.createDocumentRequest inValue = new DotCMIS.CMISWebServicesReference.createDocumentRequest();
+ inValue.repositoryId = repositoryId;
+ inValue.properties = properties;
+ inValue.folderId = folderId;
+ inValue.contentStream = contentStream;
+ inValue.versioningState = versioningState;
+ inValue.policies = policies;
+ inValue.addACEs = addACEs;
+ inValue.removeACEs = removeACEs;
+ inValue.extension = extension;
+ DotCMIS.CMISWebServicesReference.createDocumentResponse retVal = ((DotCMIS.CMISWebServicesReference.ObjectServicePort)(this)).createDocument(inValue);
+ extension = retVal.extension;
+ return retVal.objectId;
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ DotCMIS.CMISWebServicesReference.createDocumentFromSourceResponse DotCMIS.CMISWebServicesReference.ObjectServicePort.createDocumentFromSource(DotCMIS.CMISWebServicesReference.createDocumentFromSourceRequest request) {
+ return base.Channel.createDocumentFromSource(request);
+ }
+
+ public string createDocumentFromSource(string repositoryId, string sourceId, DotCMIS.CMISWebServicesReference.cmisPropertiesType properties, string folderId, System.Nullable<enumVersioningState> versioningState, string[] policies, DotCMIS.CMISWebServicesReference.cmisAccessControlListType addACEs, DotCMIS.CMISWebServicesReference.cmisAccessControlListType removeACEs, ref DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ DotCMIS.CMISWebServicesReference.createDocumentFromSourceRequest inValue = new DotCMIS.CMISWebServicesReference.createDocumentFromSourceRequest();
+ inValue.repositoryId = repositoryId;
+ inValue.sourceId = sourceId;
+ inValue.properties = properties;
+ inValue.folderId = folderId;
+ inValue.versioningState = versioningState;
+ inValue.policies = policies;
+ inValue.addACEs = addACEs;
+ inValue.removeACEs = removeACEs;
+ inValue.extension = extension;
+ DotCMIS.CMISWebServicesReference.createDocumentFromSourceResponse retVal = ((DotCMIS.CMISWebServicesReference.ObjectServicePort)(this)).createDocumentFromSource(inValue);
+ extension = retVal.extension;
+ return retVal.objectId;
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ DotCMIS.CMISWebServicesReference.createFolderResponse DotCMIS.CMISWebServicesReference.ObjectServicePort.createFolder(DotCMIS.CMISWebServicesReference.createFolderRequest request) {
+ return base.Channel.createFolder(request);
+ }
+
+ public string createFolder(string repositoryId, DotCMIS.CMISWebServicesReference.cmisPropertiesType properties, string folderId, string[] policies, DotCMIS.CMISWebServicesReference.cmisAccessControlListType addACEs, DotCMIS.CMISWebServicesReference.cmisAccessControlListType removeACEs, ref DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ DotCMIS.CMISWebServicesReference.createFolderRequest inValue = new DotCMIS.CMISWebServicesReference.createFolderRequest();
+ inValue.repositoryId = repositoryId;
+ inValue.properties = properties;
+ inValue.folderId = folderId;
+ inValue.policies = policies;
+ inValue.addACEs = addACEs;
+ inValue.removeACEs = removeACEs;
+ inValue.extension = extension;
+ DotCMIS.CMISWebServicesReference.createFolderResponse retVal = ((DotCMIS.CMISWebServicesReference.ObjectServicePort)(this)).createFolder(inValue);
+ extension = retVal.extension;
+ return retVal.objectId;
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ DotCMIS.CMISWebServicesReference.createRelationshipResponse DotCMIS.CMISWebServicesReference.ObjectServicePort.createRelationship(DotCMIS.CMISWebServicesReference.createRelationshipRequest request) {
+ return base.Channel.createRelationship(request);
+ }
+
+ public string createRelationship(string repositoryId, DotCMIS.CMISWebServicesReference.cmisPropertiesType properties, string[] policies, DotCMIS.CMISWebServicesReference.cmisAccessControlListType addACEs, DotCMIS.CMISWebServicesReference.cmisAccessControlListType removeACEs, ref DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ DotCMIS.CMISWebServicesReference.createRelationshipRequest inValue = new DotCMIS.CMISWebServicesReference.createRelationshipRequest();
+ inValue.repositoryId = repositoryId;
+ inValue.properties = properties;
+ inValue.policies = policies;
+ inValue.addACEs = addACEs;
+ inValue.removeACEs = removeACEs;
+ inValue.extension = extension;
+ DotCMIS.CMISWebServicesReference.createRelationshipResponse retVal = ((DotCMIS.CMISWebServicesReference.ObjectServicePort)(this)).createRelationship(inValue);
+ extension = retVal.extension;
+ return retVal.objectId;
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ DotCMIS.CMISWebServicesReference.createPolicyResponse DotCMIS.CMISWebServicesReference.ObjectServicePort.createPolicy(DotCMIS.CMISWebServicesReference.createPolicyRequest request) {
+ return base.Channel.createPolicy(request);
+ }
+
+ public string createPolicy(string repositoryId, DotCMIS.CMISWebServicesReference.cmisPropertiesType properties, string folderId, string[] policies, DotCMIS.CMISWebServicesReference.cmisAccessControlListType addACEs, DotCMIS.CMISWebServicesReference.cmisAccessControlListType removeACEs, ref DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ DotCMIS.CMISWebServicesReference.createPolicyRequest inValue = new DotCMIS.CMISWebServicesReference.createPolicyRequest();
+ inValue.repositoryId = repositoryId;
+ inValue.properties = properties;
+ inValue.folderId = folderId;
+ inValue.policies = policies;
+ inValue.addACEs = addACEs;
+ inValue.removeACEs = removeACEs;
+ inValue.extension = extension;
+ DotCMIS.CMISWebServicesReference.createPolicyResponse retVal = ((DotCMIS.CMISWebServicesReference.ObjectServicePort)(this)).createPolicy(inValue);
+ extension = retVal.extension;
+ return retVal.objectId;
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ DotCMIS.CMISWebServicesReference.getAllowableActionsResponse DotCMIS.CMISWebServicesReference.ObjectServicePort.getAllowableActions(DotCMIS.CMISWebServicesReference.getAllowableActionsRequest request) {
+ return base.Channel.getAllowableActions(request);
+ }
+
+ public DotCMIS.CMISWebServicesReference.cmisAllowableActionsType getAllowableActions(string repositoryId, string objectId, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ DotCMIS.CMISWebServicesReference.getAllowableActionsRequest inValue = new DotCMIS.CMISWebServicesReference.getAllowableActionsRequest();
+ inValue.repositoryId = repositoryId;
+ inValue.objectId = objectId;
+ inValue.extension = extension;
+ DotCMIS.CMISWebServicesReference.getAllowableActionsResponse retVal = ((DotCMIS.CMISWebServicesReference.ObjectServicePort)(this)).getAllowableActions(inValue);
+ return retVal.allowableActions;
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ DotCMIS.CMISWebServicesReference.getObjectResponse DotCMIS.CMISWebServicesReference.ObjectServicePort.getObject(DotCMIS.CMISWebServicesReference.getObjectRequest request) {
+ return base.Channel.getObject(request);
+ }
+
+ public DotCMIS.CMISWebServicesReference.cmisObjectType getObject(string repositoryId, string objectId, string filter, System.Nullable<bool> includeAllowableActions, System.Nullable<enumIncludeRelationships> includeRelationships, string renditionFilter, System.Nullable<bool> includePolicyIds, System.Nullable<bool> includeACL, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ DotCMIS.CMISWebServicesReference.getObjectRequest inValue = new DotCMIS.CMISWebServicesReference.getObjectRequest();
+ inValue.repositoryId = repositoryId;
+ inValue.objectId = objectId;
+ inValue.filter = filter;
+ inValue.includeAllowableActions = includeAllowableActions;
+ inValue.includeRelationships = includeRelationships;
+ inValue.renditionFilter = renditionFilter;
+ inValue.includePolicyIds = includePolicyIds;
+ inValue.includeACL = includeACL;
+ inValue.extension = extension;
+ DotCMIS.CMISWebServicesReference.getObjectResponse retVal = ((DotCMIS.CMISWebServicesReference.ObjectServicePort)(this)).getObject(inValue);
+ return retVal.@object;
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ DotCMIS.CMISWebServicesReference.getPropertiesResponse DotCMIS.CMISWebServicesReference.ObjectServicePort.getProperties(DotCMIS.CMISWebServicesReference.getPropertiesRequest request) {
+ return base.Channel.getProperties(request);
+ }
+
+ public DotCMIS.CMISWebServicesReference.cmisPropertiesType getProperties(string repositoryId, string objectId, string filter, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ DotCMIS.CMISWebServicesReference.getPropertiesRequest inValue = new DotCMIS.CMISWebServicesReference.getPropertiesRequest();
+ inValue.repositoryId = repositoryId;
+ inValue.objectId = objectId;
+ inValue.filter = filter;
+ inValue.extension = extension;
+ DotCMIS.CMISWebServicesReference.getPropertiesResponse retVal = ((DotCMIS.CMISWebServicesReference.ObjectServicePort)(this)).getProperties(inValue);
+ return retVal.properties;
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ DotCMIS.CMISWebServicesReference.getRenditionsResponse DotCMIS.CMISWebServicesReference.ObjectServicePort.getRenditions(DotCMIS.CMISWebServicesReference.getRenditionsRequest request) {
+ return base.Channel.getRenditions(request);
+ }
+
+ public cmisRenditionType[] getRenditions(string repositoryId, string objectId, string renditionFilter, string maxItems, string skipCount, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ DotCMIS.CMISWebServicesReference.getRenditionsRequest inValue = new DotCMIS.CMISWebServicesReference.getRenditionsRequest();
+ inValue.repositoryId = repositoryId;
+ inValue.objectId = objectId;
+ inValue.renditionFilter = renditionFilter;
+ inValue.maxItems = maxItems;
+ inValue.skipCount = skipCount;
+ inValue.extension = extension;
+ DotCMIS.CMISWebServicesReference.getRenditionsResponse retVal = ((DotCMIS.CMISWebServicesReference.ObjectServicePort)(this)).getRenditions(inValue);
+ return retVal.renditions;
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ DotCMIS.CMISWebServicesReference.getObjectByPathResponse DotCMIS.CMISWebServicesReference.ObjectServicePort.getObjectByPath(DotCMIS.CMISWebServicesReference.getObjectByPathRequest request) {
+ return base.Channel.getObjectByPath(request);
+ }
+
+ public DotCMIS.CMISWebServicesReference.cmisObjectType getObjectByPath(string repositoryId, string path, string filter, System.Nullable<bool> includeAllowableActions, System.Nullable<enumIncludeRelationships> includeRelationships, string renditionFilter, System.Nullable<bool> includePolicyIds, System.Nullable<bool> includeACL, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ DotCMIS.CMISWebServicesReference.getObjectByPathRequest inValue = new DotCMIS.CMISWebServicesReference.getObjectByPathRequest();
+ inValue.repositoryId = repositoryId;
+ inValue.path = path;
+ inValue.filter = filter;
+ inValue.includeAllowableActions = includeAllowableActions;
+ inValue.includeRelationships = includeRelationships;
+ inValue.renditionFilter = renditionFilter;
+ inValue.includePolicyIds = includePolicyIds;
+ inValue.includeACL = includeACL;
+ inValue.extension = extension;
+ DotCMIS.CMISWebServicesReference.getObjectByPathResponse retVal = ((DotCMIS.CMISWebServicesReference.ObjectServicePort)(this)).getObjectByPath(inValue);
+ return retVal.@object;
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ DotCMIS.CMISWebServicesReference.getContentStreamResponse DotCMIS.CMISWebServicesReference.ObjectServicePort.getContentStream(DotCMIS.CMISWebServicesReference.getContentStreamRequest request) {
+ return base.Channel.getContentStream(request);
+ }
+
+ public DotCMIS.CMISWebServicesReference.cmisContentStreamType getContentStream(string repositoryId, string objectId, string streamId, string offset, string length, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ DotCMIS.CMISWebServicesReference.getContentStreamRequest inValue = new DotCMIS.CMISWebServicesReference.getContentStreamRequest();
+ inValue.repositoryId = repositoryId;
+ inValue.objectId = objectId;
+ inValue.streamId = streamId;
+ inValue.offset = offset;
+ inValue.length = length;
+ inValue.extension = extension;
+ DotCMIS.CMISWebServicesReference.getContentStreamResponse retVal = ((DotCMIS.CMISWebServicesReference.ObjectServicePort)(this)).getContentStream(inValue);
+ return retVal.contentStream;
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ DotCMIS.CMISWebServicesReference.updatePropertiesResponse DotCMIS.CMISWebServicesReference.ObjectServicePort.updateProperties(DotCMIS.CMISWebServicesReference.updatePropertiesRequest request) {
+ return base.Channel.updateProperties(request);
+ }
+
+ public void updateProperties(string repositoryId, ref string objectId, ref string changeToken, DotCMIS.CMISWebServicesReference.cmisPropertiesType properties, ref DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ DotCMIS.CMISWebServicesReference.updatePropertiesRequest inValue = new DotCMIS.CMISWebServicesReference.updatePropertiesRequest();
+ inValue.repositoryId = repositoryId;
+ inValue.objectId = objectId;
+ inValue.changeToken = changeToken;
+ inValue.properties = properties;
+ inValue.extension = extension;
+ DotCMIS.CMISWebServicesReference.updatePropertiesResponse retVal = ((DotCMIS.CMISWebServicesReference.ObjectServicePort)(this)).updateProperties(inValue);
+ objectId = retVal.objectId;
+ changeToken = retVal.changeToken;
+ extension = retVal.extension;
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ DotCMIS.CMISWebServicesReference.moveObjectResponse DotCMIS.CMISWebServicesReference.ObjectServicePort.moveObject(DotCMIS.CMISWebServicesReference.moveObjectRequest request) {
+ return base.Channel.moveObject(request);
+ }
+
+ public void moveObject(string repositoryId, ref string objectId, string targetFolderId, string sourceFolderId, ref DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ DotCMIS.CMISWebServicesReference.moveObjectRequest inValue = new DotCMIS.CMISWebServicesReference.moveObjectRequest();
+ inValue.repositoryId = repositoryId;
+ inValue.objectId = objectId;
+ inValue.targetFolderId = targetFolderId;
+ inValue.sourceFolderId = sourceFolderId;
+ inValue.extension = extension;
+ DotCMIS.CMISWebServicesReference.moveObjectResponse retVal = ((DotCMIS.CMISWebServicesReference.ObjectServicePort)(this)).moveObject(inValue);
+ objectId = retVal.objectId;
+ extension = retVal.extension;
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ DotCMIS.CMISWebServicesReference.deleteObjectResponse DotCMIS.CMISWebServicesReference.ObjectServicePort.deleteObject(DotCMIS.CMISWebServicesReference.deleteObjectRequest request) {
+ return base.Channel.deleteObject(request);
+ }
+
+ public void deleteObject(string repositoryId, string objectId, System.Nullable<bool> allVersions, ref DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ DotCMIS.CMISWebServicesReference.deleteObjectRequest inValue = new DotCMIS.CMISWebServicesReference.deleteObjectRequest();
+ inValue.repositoryId = repositoryId;
+ inValue.objectId = objectId;
+ inValue.allVersions = allVersions;
+ inValue.extension = extension;
+ DotCMIS.CMISWebServicesReference.deleteObjectResponse retVal = ((DotCMIS.CMISWebServicesReference.ObjectServicePort)(this)).deleteObject(inValue);
+ extension = retVal.extension;
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ DotCMIS.CMISWebServicesReference.deleteTreeResponse DotCMIS.CMISWebServicesReference.ObjectServicePort.deleteTree(DotCMIS.CMISWebServicesReference.deleteTreeRequest request) {
+ return base.Channel.deleteTree(request);
+ }
+
+ public DotCMIS.CMISWebServicesReference.deleteTreeResponseFailedToDelete deleteTree(string repositoryId, string folderId, System.Nullable<bool> allVersions, System.Nullable<enumUnfileObject> unfileObjects, System.Nullable<bool> continueOnFailure, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ DotCMIS.CMISWebServicesReference.deleteTreeRequest inValue = new DotCMIS.CMISWebServicesReference.deleteTreeRequest();
+ inValue.repositoryId = repositoryId;
+ inValue.folderId = folderId;
+ inValue.allVersions = allVersions;
+ inValue.unfileObjects = unfileObjects;
+ inValue.continueOnFailure = continueOnFailure;
+ inValue.extension = extension;
+ DotCMIS.CMISWebServicesReference.deleteTreeResponse retVal = ((DotCMIS.CMISWebServicesReference.ObjectServicePort)(this)).deleteTree(inValue);
+ return retVal.failedToDelete;
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ DotCMIS.CMISWebServicesReference.setContentStreamResponse DotCMIS.CMISWebServicesReference.ObjectServicePort.setContentStream(DotCMIS.CMISWebServicesReference.setContentStreamRequest request) {
+ return base.Channel.setContentStream(request);
+ }
+
+ public void setContentStream(string repositoryId, ref string objectId, System.Nullable<bool> overwriteFlag, ref string changeToken, DotCMIS.CMISWebServicesReference.cmisContentStreamType contentStream, ref DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ DotCMIS.CMISWebServicesReference.setContentStreamRequest inValue = new DotCMIS.CMISWebServicesReference.setContentStreamRequest();
+ inValue.repositoryId = repositoryId;
+ inValue.objectId = objectId;
+ inValue.overwriteFlag = overwriteFlag;
+ inValue.changeToken = changeToken;
+ inValue.contentStream = contentStream;
+ inValue.extension = extension;
+ DotCMIS.CMISWebServicesReference.setContentStreamResponse retVal = ((DotCMIS.CMISWebServicesReference.ObjectServicePort)(this)).setContentStream(inValue);
+ objectId = retVal.objectId;
+ changeToken = retVal.changeToken;
+ extension = retVal.extension;
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ DotCMIS.CMISWebServicesReference.deleteContentStreamResponse DotCMIS.CMISWebServicesReference.ObjectServicePort.deleteContentStream(DotCMIS.CMISWebServicesReference.deleteContentStreamRequest request) {
+ return base.Channel.deleteContentStream(request);
+ }
+
+ public void deleteContentStream(string repositoryId, ref string objectId, ref string changeToken, ref DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ DotCMIS.CMISWebServicesReference.deleteContentStreamRequest inValue = new DotCMIS.CMISWebServicesReference.deleteContentStreamRequest();
+ inValue.repositoryId = repositoryId;
+ inValue.objectId = objectId;
+ inValue.changeToken = changeToken;
+ inValue.extension = extension;
+ DotCMIS.CMISWebServicesReference.deleteContentStreamResponse retVal = ((DotCMIS.CMISWebServicesReference.ObjectServicePort)(this)).deleteContentStream(inValue);
+ objectId = retVal.objectId;
+ changeToken = retVal.changeToken;
+ extension = retVal.extension;
+ }
+ }
+
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ServiceModel.ServiceContractAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/ws/200908/", ConfigurationName="CMISWebServicesReference.PolicyServicePort")]
+ internal interface PolicyServicePort {
+
+ // CODEGEN: Generating message contract since the wrapper namespace (http://docs.oasis-open.org/ns/cmis/messaging/200908/) of message applyPolicyRequest does not match the default value (http://docs.oasis-open.org/ns/cmis/ws/200908/)
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(DotCMIS.CMISWebServicesReference.cmisFaultType), Action="", Name="cmisFault", Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(cmisProperty))]
+ DotCMIS.CMISWebServicesReference.applyPolicyResponse applyPolicy(DotCMIS.CMISWebServicesReference.applyPolicyRequest request);
+
+ // CODEGEN: Generating message contract since the wrapper namespace (http://docs.oasis-open.org/ns/cmis/messaging/200908/) of message removePolicyRequest does not match the default value (http://docs.oasis-open.org/ns/cmis/ws/200908/)
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(DotCMIS.CMISWebServicesReference.cmisFaultType), Action="", Name="cmisFault", Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(cmisProperty))]
+ DotCMIS.CMISWebServicesReference.removePolicyResponse removePolicy(DotCMIS.CMISWebServicesReference.removePolicyRequest request);
+
+ // CODEGEN: Generating message contract since the wrapper namespace (http://docs.oasis-open.org/ns/cmis/messaging/200908/) of message getAppliedPoliciesRequest does not match the default value (http://docs.oasis-open.org/ns/cmis/ws/200908/)
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(DotCMIS.CMISWebServicesReference.cmisFaultType), Action="", Name="cmisFault", Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(cmisProperty))]
+ DotCMIS.CMISWebServicesReference.getAppliedPoliciesResponse getAppliedPolicies(DotCMIS.CMISWebServicesReference.getAppliedPoliciesRequest request);
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="applyPolicy", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class applyPolicyRequest {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string repositoryId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ public string policyId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=2)]
+ public string objectId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=3)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public applyPolicyRequest() {
+ }
+
+ public applyPolicyRequest(string repositoryId, string policyId, string objectId, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.repositoryId = repositoryId;
+ this.policyId = policyId;
+ this.objectId = objectId;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="applyPolicyResponse", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class applyPolicyResponse {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public applyPolicyResponse() {
+ }
+
+ public applyPolicyResponse(DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="removePolicy", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class removePolicyRequest {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string repositoryId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ public string policyId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=2)]
+ public string objectId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=3)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public removePolicyRequest() {
+ }
+
+ public removePolicyRequest(string repositoryId, string policyId, string objectId, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.repositoryId = repositoryId;
+ this.policyId = policyId;
+ this.objectId = objectId;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="removePolicyResponse", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class removePolicyResponse {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public removePolicyResponse() {
+ }
+
+ public removePolicyResponse(DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getAppliedPolicies", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getAppliedPoliciesRequest {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string repositoryId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ public string objectId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=2)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public string filter;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=3)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public getAppliedPoliciesRequest() {
+ }
+
+ public getAppliedPoliciesRequest(string repositoryId, string objectId, string filter, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.repositoryId = repositoryId;
+ this.objectId = objectId;
+ this.filter = filter;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getAppliedPoliciesResponse", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getAppliedPoliciesResponse {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ [System.Xml.Serialization.XmlElementAttribute("objects")]
+ public cmisObjectType[] objects;
+
+ public getAppliedPoliciesResponse() {
+ }
+
+ public getAppliedPoliciesResponse(cmisObjectType[] objects) {
+ this.objects = objects;
+ }
+ }
+
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ internal interface PolicyServicePortChannel : DotCMIS.CMISWebServicesReference.PolicyServicePort, System.ServiceModel.IClientChannel {
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ internal partial class PolicyServicePortClient : System.ServiceModel.ClientBase<DotCMIS.CMISWebServicesReference.PolicyServicePort>, DotCMIS.CMISWebServicesReference.PolicyServicePort {
+
+ public PolicyServicePortClient() {
+ }
+
+ public PolicyServicePortClient(string endpointConfigurationName) :
+ base(endpointConfigurationName) {
+ }
+
+ public PolicyServicePortClient(string endpointConfigurationName, string remoteAddress) :
+ base(endpointConfigurationName, remoteAddress) {
+ }
+
+ public PolicyServicePortClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) :
+ base(endpointConfigurationName, remoteAddress) {
+ }
+
+ public PolicyServicePortClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) :
+ base(binding, remoteAddress) {
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ DotCMIS.CMISWebServicesReference.applyPolicyResponse DotCMIS.CMISWebServicesReference.PolicyServicePort.applyPolicy(DotCMIS.CMISWebServicesReference.applyPolicyRequest request) {
+ return base.Channel.applyPolicy(request);
+ }
+
+ public void applyPolicy(string repositoryId, string policyId, string objectId, ref DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ DotCMIS.CMISWebServicesReference.applyPolicyRequest inValue = new DotCMIS.CMISWebServicesReference.applyPolicyRequest();
+ inValue.repositoryId = repositoryId;
+ inValue.policyId = policyId;
+ inValue.objectId = objectId;
+ inValue.extension = extension;
+ DotCMIS.CMISWebServicesReference.applyPolicyResponse retVal = ((DotCMIS.CMISWebServicesReference.PolicyServicePort)(this)).applyPolicy(inValue);
+ extension = retVal.extension;
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ DotCMIS.CMISWebServicesReference.removePolicyResponse DotCMIS.CMISWebServicesReference.PolicyServicePort.removePolicy(DotCMIS.CMISWebServicesReference.removePolicyRequest request) {
+ return base.Channel.removePolicy(request);
+ }
+
+ public void removePolicy(string repositoryId, string policyId, string objectId, ref DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ DotCMIS.CMISWebServicesReference.removePolicyRequest inValue = new DotCMIS.CMISWebServicesReference.removePolicyRequest();
+ inValue.repositoryId = repositoryId;
+ inValue.policyId = policyId;
+ inValue.objectId = objectId;
+ inValue.extension = extension;
+ DotCMIS.CMISWebServicesReference.removePolicyResponse retVal = ((DotCMIS.CMISWebServicesReference.PolicyServicePort)(this)).removePolicy(inValue);
+ extension = retVal.extension;
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ DotCMIS.CMISWebServicesReference.getAppliedPoliciesResponse DotCMIS.CMISWebServicesReference.PolicyServicePort.getAppliedPolicies(DotCMIS.CMISWebServicesReference.getAppliedPoliciesRequest request) {
+ return base.Channel.getAppliedPolicies(request);
+ }
+
+ public cmisObjectType[] getAppliedPolicies(string repositoryId, string objectId, string filter, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ DotCMIS.CMISWebServicesReference.getAppliedPoliciesRequest inValue = new DotCMIS.CMISWebServicesReference.getAppliedPoliciesRequest();
+ inValue.repositoryId = repositoryId;
+ inValue.objectId = objectId;
+ inValue.filter = filter;
+ inValue.extension = extension;
+ DotCMIS.CMISWebServicesReference.getAppliedPoliciesResponse retVal = ((DotCMIS.CMISWebServicesReference.PolicyServicePort)(this)).getAppliedPolicies(inValue);
+ return retVal.objects;
+ }
+ }
+
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ServiceModel.ServiceContractAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/ws/200908/", ConfigurationName="CMISWebServicesReference.RelationshipServicePort")]
+ internal interface RelationshipServicePort {
+
+ // CODEGEN: Generating message contract since the wrapper namespace (http://docs.oasis-open.org/ns/cmis/messaging/200908/) of message getObjectRelationshipsRequest does not match the default value (http://docs.oasis-open.org/ns/cmis/ws/200908/)
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(DotCMIS.CMISWebServicesReference.cmisFaultType), Action="", Name="cmisFault", Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(cmisProperty))]
+ DotCMIS.CMISWebServicesReference.getObjectRelationshipsResponse getObjectRelationships(DotCMIS.CMISWebServicesReference.getObjectRelationshipsRequest request);
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public enum enumRelationshipDirection {
+
+ /// <remarks/>
+ source,
+
+ /// <remarks/>
+ target,
+
+ /// <remarks/>
+ either,
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getObjectRelationships", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getObjectRelationshipsRequest {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string repositoryId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ public string objectId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=2)]
+ public bool includeSubRelationshipTypes;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=3)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public System.Nullable<enumRelationshipDirection> relationshipDirection;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=4)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public string typeId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=5)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public string filter;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=6)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public System.Nullable<bool> includeAllowableActions;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=7)]
+ [System.Xml.Serialization.XmlElementAttribute(DataType="integer", IsNullable=true)]
+ public string maxItems;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=8)]
+ [System.Xml.Serialization.XmlElementAttribute(DataType="integer", IsNullable=true)]
+ public string skipCount;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=9)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public getObjectRelationshipsRequest() {
+ }
+
+ public getObjectRelationshipsRequest(string repositoryId, string objectId, bool includeSubRelationshipTypes, System.Nullable<enumRelationshipDirection> relationshipDirection, string typeId, string filter, System.Nullable<bool> includeAllowableActions, string maxItems, string skipCount, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.repositoryId = repositoryId;
+ this.objectId = objectId;
+ this.includeSubRelationshipTypes = includeSubRelationshipTypes;
+ this.relationshipDirection = relationshipDirection;
+ this.typeId = typeId;
+ this.filter = filter;
+ this.includeAllowableActions = includeAllowableActions;
+ this.maxItems = maxItems;
+ this.skipCount = skipCount;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getObjectRelationshipsResponse", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getObjectRelationshipsResponse {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public DotCMIS.CMISWebServicesReference.cmisObjectListType objects;
+
+ public getObjectRelationshipsResponse() {
+ }
+
+ public getObjectRelationshipsResponse(DotCMIS.CMISWebServicesReference.cmisObjectListType objects) {
+ this.objects = objects;
+ }
+ }
+
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ internal interface RelationshipServicePortChannel : DotCMIS.CMISWebServicesReference.RelationshipServicePort, System.ServiceModel.IClientChannel {
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ internal partial class RelationshipServicePortClient : System.ServiceModel.ClientBase<DotCMIS.CMISWebServicesReference.RelationshipServicePort>, DotCMIS.CMISWebServicesReference.RelationshipServicePort {
+
+ public RelationshipServicePortClient() {
+ }
+
+ public RelationshipServicePortClient(string endpointConfigurationName) :
+ base(endpointConfigurationName) {
+ }
+
+ public RelationshipServicePortClient(string endpointConfigurationName, string remoteAddress) :
+ base(endpointConfigurationName, remoteAddress) {
+ }
+
+ public RelationshipServicePortClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) :
+ base(endpointConfigurationName, remoteAddress) {
+ }
+
+ public RelationshipServicePortClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) :
+ base(binding, remoteAddress) {
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ DotCMIS.CMISWebServicesReference.getObjectRelationshipsResponse DotCMIS.CMISWebServicesReference.RelationshipServicePort.getObjectRelationships(DotCMIS.CMISWebServicesReference.getObjectRelationshipsRequest request) {
+ return base.Channel.getObjectRelationships(request);
+ }
+
+ public DotCMIS.CMISWebServicesReference.cmisObjectListType getObjectRelationships(string repositoryId, string objectId, bool includeSubRelationshipTypes, System.Nullable<enumRelationshipDirection> relationshipDirection, string typeId, string filter, System.Nullable<bool> includeAllowableActions, string maxItems, string skipCount, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ DotCMIS.CMISWebServicesReference.getObjectRelationshipsRequest inValue = new DotCMIS.CMISWebServicesReference.getObjectRelationshipsRequest();
+ inValue.repositoryId = repositoryId;
+ inValue.objectId = objectId;
+ inValue.includeSubRelationshipTypes = includeSubRelationshipTypes;
+ inValue.relationshipDirection = relationshipDirection;
+ inValue.typeId = typeId;
+ inValue.filter = filter;
+ inValue.includeAllowableActions = includeAllowableActions;
+ inValue.maxItems = maxItems;
+ inValue.skipCount = skipCount;
+ inValue.extension = extension;
+ DotCMIS.CMISWebServicesReference.getObjectRelationshipsResponse retVal = ((DotCMIS.CMISWebServicesReference.RelationshipServicePort)(this)).getObjectRelationships(inValue);
+ return retVal.objects;
+ }
+ }
+
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ServiceModel.ServiceContractAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/ws/200908/", ConfigurationName="CMISWebServicesReference.RepositoryServicePort")]
+ internal interface RepositoryServicePort {
+
+ // CODEGEN: Generating message contract since the wrapper namespace (http://docs.oasis-open.org/ns/cmis/messaging/200908/) of message getRepositoriesRequest does not match the default value (http://docs.oasis-open.org/ns/cmis/ws/200908/)
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(DotCMIS.CMISWebServicesReference.cmisFaultType), Action="", Name="cmisFault", Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(cmisProperty))]
+ DotCMIS.CMISWebServicesReference.getRepositoriesResponse getRepositories(DotCMIS.CMISWebServicesReference.getRepositoriesRequest request);
+
+ // CODEGEN: Generating message contract since the wrapper namespace (http://docs.oasis-open.org/ns/cmis/messaging/200908/) of message getRepositoryInfoRequest does not match the default value (http://docs.oasis-open.org/ns/cmis/ws/200908/)
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(DotCMIS.CMISWebServicesReference.cmisFaultType), Action="", Name="cmisFault", Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(cmisProperty))]
+ DotCMIS.CMISWebServicesReference.getRepositoryInfoResponse getRepositoryInfo(DotCMIS.CMISWebServicesReference.getRepositoryInfoRequest request);
+
+ // CODEGEN: Generating message contract since the wrapper namespace (http://docs.oasis-open.org/ns/cmis/messaging/200908/) of message getTypeChildrenRequest does not match the default value (http://docs.oasis-open.org/ns/cmis/ws/200908/)
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(DotCMIS.CMISWebServicesReference.cmisFaultType), Action="", Name="cmisFault", Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(cmisProperty))]
+ DotCMIS.CMISWebServicesReference.getTypeChildrenResponse getTypeChildren(DotCMIS.CMISWebServicesReference.getTypeChildrenRequest request);
+
+ // CODEGEN: Generating message contract since the wrapper namespace (http://docs.oasis-open.org/ns/cmis/messaging/200908/) of message getTypeDescendantsRequest does not match the default value (http://docs.oasis-open.org/ns/cmis/ws/200908/)
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(DotCMIS.CMISWebServicesReference.cmisFaultType), Action="", Name="cmisFault", Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(cmisProperty))]
+ DotCMIS.CMISWebServicesReference.getTypeDescendantsResponse getTypeDescendants(DotCMIS.CMISWebServicesReference.getTypeDescendantsRequest request);
+
+ // CODEGEN: Generating message contract since the wrapper namespace (http://docs.oasis-open.org/ns/cmis/messaging/200908/) of message getTypeDefinitionRequest does not match the default value (http://docs.oasis-open.org/ns/cmis/ws/200908/)
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(DotCMIS.CMISWebServicesReference.cmisFaultType), Action="", Name="cmisFault", Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(cmisProperty))]
+ DotCMIS.CMISWebServicesReference.getTypeDefinitionResponse getTypeDefinition(DotCMIS.CMISWebServicesReference.getTypeDefinitionRequest request);
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ public partial class cmisRepositoryEntryType : object, System.ComponentModel.INotifyPropertyChanged {
+
+ private string repositoryIdField;
+
+ private string repositoryNameField;
+
+ private System.Xml.XmlElement[] anyField;
+
+ private System.Xml.XmlAttribute[] anyAttrField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=0)]
+ public string repositoryId {
+ get {
+ return this.repositoryIdField;
+ }
+ set {
+ this.repositoryIdField = value;
+ this.RaisePropertyChanged("repositoryId");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=1)]
+ public string repositoryName {
+ get {
+ return this.repositoryNameField;
+ }
+ set {
+ this.repositoryNameField = value;
+ this.RaisePropertyChanged("repositoryName");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyElementAttribute(Order=2)]
+ public System.Xml.XmlElement[] Any {
+ get {
+ return this.anyField;
+ }
+ set {
+ this.anyField = value;
+ this.RaisePropertyChanged("Any");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyAttributeAttribute()]
+ public System.Xml.XmlAttribute[] AnyAttr {
+ get {
+ return this.anyAttrField;
+ }
+ set {
+ this.anyAttrField = value;
+ this.RaisePropertyChanged("AnyAttr");
+ }
+ }
+
+ public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+
+ protected void RaisePropertyChanged(string propertyName) {
+ System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+ if ((propertyChanged != null)) {
+ propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+ }
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getRepositories", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getRepositoriesRequest {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public getRepositoriesRequest() {
+ }
+
+ public getRepositoriesRequest(DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getRepositoriesResponse", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getRepositoriesResponse {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ [System.Xml.Serialization.XmlElementAttribute("repositories", IsNullable=true)]
+ public cmisRepositoryEntryType[] repositories;
+
+ public getRepositoriesResponse() {
+ }
+
+ public getRepositoriesResponse(cmisRepositoryEntryType[] repositories) {
+ this.repositories = repositories;
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public partial class cmisRepositoryInfoType : object, System.ComponentModel.INotifyPropertyChanged {
+
+ private string repositoryIdField;
+
+ private string repositoryNameField;
+
+ private string repositoryDescriptionField;
+
+ private string vendorNameField;
+
+ private string productNameField;
+
+ private string productVersionField;
+
+ private string rootFolderIdField;
+
+ private string latestChangeLogTokenField;
+
+ private cmisRepositoryCapabilitiesType capabilitiesField;
+
+ private cmisACLCapabilityType aclCapabilityField;
+
+ private string cmisVersionSupportedField;
+
+ private string thinClientURIField;
+
+ private bool changesIncompleteField;
+
+ private bool changesIncompleteFieldSpecified;
+
+ private enumBaseObjectTypeIds[] changesOnTypeField;
+
+ private string principalAnonymousField;
+
+ private string principalAnyoneField;
+
+ private System.Xml.XmlElement[] anyField;
+
+ private System.Xml.XmlAttribute[] anyAttrField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=0)]
+ public string repositoryId {
+ get {
+ return this.repositoryIdField;
+ }
+ set {
+ this.repositoryIdField = value;
+ this.RaisePropertyChanged("repositoryId");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=1)]
+ public string repositoryName {
+ get {
+ return this.repositoryNameField;
+ }
+ set {
+ this.repositoryNameField = value;
+ this.RaisePropertyChanged("repositoryName");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=2)]
+ public string repositoryDescription {
+ get {
+ return this.repositoryDescriptionField;
+ }
+ set {
+ this.repositoryDescriptionField = value;
+ this.RaisePropertyChanged("repositoryDescription");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=3)]
+ public string vendorName {
+ get {
+ return this.vendorNameField;
+ }
+ set {
+ this.vendorNameField = value;
+ this.RaisePropertyChanged("vendorName");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=4)]
+ public string productName {
+ get {
+ return this.productNameField;
+ }
+ set {
+ this.productNameField = value;
+ this.RaisePropertyChanged("productName");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=5)]
+ public string productVersion {
+ get {
+ return this.productVersionField;
+ }
+ set {
+ this.productVersionField = value;
+ this.RaisePropertyChanged("productVersion");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=6)]
+ public string rootFolderId {
+ get {
+ return this.rootFolderIdField;
+ }
+ set {
+ this.rootFolderIdField = value;
+ this.RaisePropertyChanged("rootFolderId");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=7)]
+ public string latestChangeLogToken {
+ get {
+ return this.latestChangeLogTokenField;
+ }
+ set {
+ this.latestChangeLogTokenField = value;
+ this.RaisePropertyChanged("latestChangeLogToken");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=8)]
+ public cmisRepositoryCapabilitiesType capabilities {
+ get {
+ return this.capabilitiesField;
+ }
+ set {
+ this.capabilitiesField = value;
+ this.RaisePropertyChanged("capabilities");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=9)]
+ public cmisACLCapabilityType aclCapability {
+ get {
+ return this.aclCapabilityField;
+ }
+ set {
+ this.aclCapabilityField = value;
+ this.RaisePropertyChanged("aclCapability");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=10)]
+ public string cmisVersionSupported {
+ get {
+ return this.cmisVersionSupportedField;
+ }
+ set {
+ this.cmisVersionSupportedField = value;
+ this.RaisePropertyChanged("cmisVersionSupported");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(DataType="anyURI", Order=11)]
+ public string thinClientURI {
+ get {
+ return this.thinClientURIField;
+ }
+ set {
+ this.thinClientURIField = value;
+ this.RaisePropertyChanged("thinClientURI");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=12)]
+ public bool changesIncomplete {
+ get {
+ return this.changesIncompleteField;
+ }
+ set {
+ this.changesIncompleteField = value;
+ this.RaisePropertyChanged("changesIncomplete");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool changesIncompleteSpecified {
+ get {
+ return this.changesIncompleteFieldSpecified;
+ }
+ set {
+ this.changesIncompleteFieldSpecified = value;
+ this.RaisePropertyChanged("changesIncompleteSpecified");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("changesOnType", Order=13)]
+ public enumBaseObjectTypeIds[] changesOnType {
+ get {
+ return this.changesOnTypeField;
+ }
+ set {
+ this.changesOnTypeField = value;
+ this.RaisePropertyChanged("changesOnType");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=14)]
+ public string principalAnonymous {
+ get {
+ return this.principalAnonymousField;
+ }
+ set {
+ this.principalAnonymousField = value;
+ this.RaisePropertyChanged("principalAnonymous");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=15)]
+ public string principalAnyone {
+ get {
+ return this.principalAnyoneField;
+ }
+ set {
+ this.principalAnyoneField = value;
+ this.RaisePropertyChanged("principalAnyone");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyElementAttribute(Order=16)]
+ public System.Xml.XmlElement[] Any {
+ get {
+ return this.anyField;
+ }
+ set {
+ this.anyField = value;
+ this.RaisePropertyChanged("Any");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyAttributeAttribute()]
+ public System.Xml.XmlAttribute[] AnyAttr {
+ get {
+ return this.anyAttrField;
+ }
+ set {
+ this.anyAttrField = value;
+ this.RaisePropertyChanged("AnyAttr");
+ }
+ }
+
+ public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+
+ protected void RaisePropertyChanged(string propertyName) {
+ System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+ if ((propertyChanged != null)) {
+ propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public partial class cmisRepositoryCapabilitiesType : object, System.ComponentModel.INotifyPropertyChanged {
+
+ private enumCapabilityACL capabilityACLField;
+
+ private bool capabilityAllVersionsSearchableField;
+
+ private enumCapabilityChanges capabilityChangesField;
+
+ private enumCapabilityContentStreamUpdates capabilityContentStreamUpdatabilityField;
+
+ private bool capabilityGetDescendantsField;
+
+ private bool capabilityGetFolderTreeField;
+
+ private bool capabilityMultifilingField;
+
+ private bool capabilityPWCSearchableField;
+
+ private bool capabilityPWCUpdatableField;
+
+ private enumCapabilityQuery capabilityQueryField;
+
+ private enumCapabilityRendition capabilityRenditionsField;
+
+ private bool capabilityUnfilingField;
+
+ private bool capabilityVersionSpecificFilingField;
+
+ private enumCapabilityJoin capabilityJoinField;
+
+ private System.Xml.XmlElement[] anyField;
+
+ private System.Xml.XmlAttribute[] anyAttrField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=0)]
+ public enumCapabilityACL capabilityACL {
+ get {
+ return this.capabilityACLField;
+ }
+ set {
+ this.capabilityACLField = value;
+ this.RaisePropertyChanged("capabilityACL");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=1)]
+ public bool capabilityAllVersionsSearchable {
+ get {
+ return this.capabilityAllVersionsSearchableField;
+ }
+ set {
+ this.capabilityAllVersionsSearchableField = value;
+ this.RaisePropertyChanged("capabilityAllVersionsSearchable");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=2)]
+ public enumCapabilityChanges capabilityChanges {
+ get {
+ return this.capabilityChangesField;
+ }
+ set {
+ this.capabilityChangesField = value;
+ this.RaisePropertyChanged("capabilityChanges");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=3)]
+ public enumCapabilityContentStreamUpdates capabilityContentStreamUpdatability {
+ get {
+ return this.capabilityContentStreamUpdatabilityField;
+ }
+ set {
+ this.capabilityContentStreamUpdatabilityField = value;
+ this.RaisePropertyChanged("capabilityContentStreamUpdatability");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=4)]
+ public bool capabilityGetDescendants {
+ get {
+ return this.capabilityGetDescendantsField;
+ }
+ set {
+ this.capabilityGetDescendantsField = value;
+ this.RaisePropertyChanged("capabilityGetDescendants");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=5)]
+ public bool capabilityGetFolderTree {
+ get {
+ return this.capabilityGetFolderTreeField;
+ }
+ set {
+ this.capabilityGetFolderTreeField = value;
+ this.RaisePropertyChanged("capabilityGetFolderTree");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=6)]
+ public bool capabilityMultifiling {
+ get {
+ return this.capabilityMultifilingField;
+ }
+ set {
+ this.capabilityMultifilingField = value;
+ this.RaisePropertyChanged("capabilityMultifiling");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=7)]
+ public bool capabilityPWCSearchable {
+ get {
+ return this.capabilityPWCSearchableField;
+ }
+ set {
+ this.capabilityPWCSearchableField = value;
+ this.RaisePropertyChanged("capabilityPWCSearchable");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=8)]
+ public bool capabilityPWCUpdatable {
+ get {
+ return this.capabilityPWCUpdatableField;
+ }
+ set {
+ this.capabilityPWCUpdatableField = value;
+ this.RaisePropertyChanged("capabilityPWCUpdatable");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=9)]
+ public enumCapabilityQuery capabilityQuery {
+ get {
+ return this.capabilityQueryField;
+ }
+ set {
+ this.capabilityQueryField = value;
+ this.RaisePropertyChanged("capabilityQuery");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=10)]
+ public enumCapabilityRendition capabilityRenditions {
+ get {
+ return this.capabilityRenditionsField;
+ }
+ set {
+ this.capabilityRenditionsField = value;
+ this.RaisePropertyChanged("capabilityRenditions");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=11)]
+ public bool capabilityUnfiling {
+ get {
+ return this.capabilityUnfilingField;
+ }
+ set {
+ this.capabilityUnfilingField = value;
+ this.RaisePropertyChanged("capabilityUnfiling");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=12)]
+ public bool capabilityVersionSpecificFiling {
+ get {
+ return this.capabilityVersionSpecificFilingField;
+ }
+ set {
+ this.capabilityVersionSpecificFilingField = value;
+ this.RaisePropertyChanged("capabilityVersionSpecificFiling");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=13)]
+ public enumCapabilityJoin capabilityJoin {
+ get {
+ return this.capabilityJoinField;
+ }
+ set {
+ this.capabilityJoinField = value;
+ this.RaisePropertyChanged("capabilityJoin");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyElementAttribute(Order=14)]
+ public System.Xml.XmlElement[] Any {
+ get {
+ return this.anyField;
+ }
+ set {
+ this.anyField = value;
+ this.RaisePropertyChanged("Any");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyAttributeAttribute()]
+ public System.Xml.XmlAttribute[] AnyAttr {
+ get {
+ return this.anyAttrField;
+ }
+ set {
+ this.anyAttrField = value;
+ this.RaisePropertyChanged("AnyAttr");
+ }
+ }
+
+ public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+
+ protected void RaisePropertyChanged(string propertyName) {
+ System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+ if ((propertyChanged != null)) {
+ propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public enum enumCapabilityACL {
+
+ /// <remarks/>
+ none,
+
+ /// <remarks/>
+ discover,
+
+ /// <remarks/>
+ manage,
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public enum enumCapabilityChanges {
+
+ /// <remarks/>
+ none,
+
+ /// <remarks/>
+ objectidsonly,
+
+ /// <remarks/>
+ properties,
+
+ /// <remarks/>
+ all,
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public enum enumCapabilityContentStreamUpdates {
+
+ /// <remarks/>
+ anytime,
+
+ /// <remarks/>
+ pwconly,
+
+ /// <remarks/>
+ none,
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public enum enumCapabilityQuery {
+
+ /// <remarks/>
+ none,
+
+ /// <remarks/>
+ metadataonly,
+
+ /// <remarks/>
+ fulltextonly,
+
+ /// <remarks/>
+ bothseparate,
+
+ /// <remarks/>
+ bothcombined,
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public enum enumCapabilityRendition {
+
+ /// <remarks/>
+ none,
+
+ /// <remarks/>
+ read,
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public enum enumCapabilityJoin {
+
+ /// <remarks/>
+ none,
+
+ /// <remarks/>
+ inneronly,
+
+ /// <remarks/>
+ innerandouter,
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public partial class cmisACLCapabilityType : object, System.ComponentModel.INotifyPropertyChanged {
+
+ private enumSupportedPermissions supportedPermissionsField;
+
+ private enumACLPropagation propagationField;
+
+ private cmisPermissionDefinition[] permissionsField;
+
+ private cmisPermissionMapping[] mappingField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=0)]
+ public enumSupportedPermissions supportedPermissions {
+ get {
+ return this.supportedPermissionsField;
+ }
+ set {
+ this.supportedPermissionsField = value;
+ this.RaisePropertyChanged("supportedPermissions");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=1)]
+ public enumACLPropagation propagation {
+ get {
+ return this.propagationField;
+ }
+ set {
+ this.propagationField = value;
+ this.RaisePropertyChanged("propagation");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("permissions", Order=2)]
+ public cmisPermissionDefinition[] permissions {
+ get {
+ return this.permissionsField;
+ }
+ set {
+ this.permissionsField = value;
+ this.RaisePropertyChanged("permissions");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("mapping", Order=3)]
+ public cmisPermissionMapping[] mapping {
+ get {
+ return this.mappingField;
+ }
+ set {
+ this.mappingField = value;
+ this.RaisePropertyChanged("mapping");
+ }
+ }
+
+ public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+
+ protected void RaisePropertyChanged(string propertyName) {
+ System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+ if ((propertyChanged != null)) {
+ propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public enum enumSupportedPermissions {
+
+ /// <remarks/>
+ basic,
+
+ /// <remarks/>
+ repository,
+
+ /// <remarks/>
+ both,
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public enum enumACLPropagation {
+
+ /// <remarks/>
+ repositorydetermined,
+
+ /// <remarks/>
+ objectonly,
+
+ /// <remarks/>
+ propagate,
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public partial class cmisPermissionDefinition : object, System.ComponentModel.INotifyPropertyChanged {
+
+ private string permissionField;
+
+ private string descriptionField;
+
+ private System.Xml.XmlElement[] anyField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=0)]
+ public string permission {
+ get {
+ return this.permissionField;
+ }
+ set {
+ this.permissionField = value;
+ this.RaisePropertyChanged("permission");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=1)]
+ public string description {
+ get {
+ return this.descriptionField;
+ }
+ set {
+ this.descriptionField = value;
+ this.RaisePropertyChanged("description");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyElementAttribute(Order=2)]
+ public System.Xml.XmlElement[] Any {
+ get {
+ return this.anyField;
+ }
+ set {
+ this.anyField = value;
+ this.RaisePropertyChanged("Any");
+ }
+ }
+
+ public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+
+ protected void RaisePropertyChanged(string propertyName) {
+ System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+ if ((propertyChanged != null)) {
+ propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public partial class cmisPermissionMapping : object, System.ComponentModel.INotifyPropertyChanged {
+
+ private enumAllowableActionsKey keyField;
+
+ private string[] permissionField;
+
+ private System.Xml.XmlElement[] anyField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=0)]
+ public enumAllowableActionsKey key {
+ get {
+ return this.keyField;
+ }
+ set {
+ this.keyField = value;
+ this.RaisePropertyChanged("key");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("permission", Order=1)]
+ public string[] permission {
+ get {
+ return this.permissionField;
+ }
+ set {
+ this.permissionField = value;
+ this.RaisePropertyChanged("permission");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyElementAttribute(Order=2)]
+ public System.Xml.XmlElement[] Any {
+ get {
+ return this.anyField;
+ }
+ set {
+ this.anyField = value;
+ this.RaisePropertyChanged("Any");
+ }
+ }
+
+ public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+
+ protected void RaisePropertyChanged(string propertyName) {
+ System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+ if ((propertyChanged != null)) {
+ propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public enum enumAllowableActionsKey {
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlEnumAttribute("canGetDescendents.Folder")]
+ canGetDescendentsFolder,
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlEnumAttribute("canGetChildren.Folder")]
+ canGetChildrenFolder,
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlEnumAttribute("canGetParents.Folder")]
+ canGetParentsFolder,
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlEnumAttribute("canGetFolderParent.Object")]
+ canGetFolderParentObject,
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlEnumAttribute("canCreateDocument.Folder")]
+ canCreateDocumentFolder,
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlEnumAttribute("canCreateFolder.Folder")]
+ canCreateFolderFolder,
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlEnumAttribute("canCreateRelationship.Source")]
+ canCreateRelationshipSource,
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlEnumAttribute("canCreateRelationship.Target")]
+ canCreateRelationshipTarget,
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlEnumAttribute("canGetProperties.Object")]
+ canGetPropertiesObject,
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlEnumAttribute("canViewContent.Object")]
+ canViewContentObject,
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlEnumAttribute("canUpdateProperties.Object")]
+ canUpdatePropertiesObject,
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlEnumAttribute("canMove.Object")]
+ canMoveObject,
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlEnumAttribute("canMove.Target")]
+ canMoveTarget,
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlEnumAttribute("canMove.Source")]
+ canMoveSource,
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlEnumAttribute("canDelete.Object")]
+ canDeleteObject,
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlEnumAttribute("canDeleteTree.Folder")]
+ canDeleteTreeFolder,
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlEnumAttribute("canSetContent.Document")]
+ canSetContentDocument,
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlEnumAttribute("canDeleteContent.Document")]
+ canDeleteContentDocument,
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlEnumAttribute("canAddToFolder.Object")]
+ canAddToFolderObject,
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlEnumAttribute("canAddToFolder.Folder")]
+ canAddToFolderFolder,
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlEnumAttribute("canRemoveFromFolder.Object")]
+ canRemoveFromFolderObject,
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlEnumAttribute("canRemoveFromFolder.Folder")]
+ canRemoveFromFolderFolder,
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlEnumAttribute("canCheckout.Document")]
+ canCheckoutDocument,
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlEnumAttribute("canCancelCheckout.Document")]
+ canCancelCheckoutDocument,
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlEnumAttribute("canCheckin.Document")]
+ canCheckinDocument,
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlEnumAttribute("canGetAllVersions.VersionSeries")]
+ canGetAllVersionsVersionSeries,
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlEnumAttribute("canGetObjectRelationships.Object")]
+ canGetObjectRelationshipsObject,
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlEnumAttribute("canAddPolicy.Object")]
+ canAddPolicyObject,
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlEnumAttribute("canAddPolicy.Policy")]
+ canAddPolicyPolicy,
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlEnumAttribute("canRemovePolicy.Object")]
+ canRemovePolicyObject,
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlEnumAttribute("canRemovePolicy.Policy")]
+ canRemovePolicyPolicy,
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlEnumAttribute("canGetAppliedPolicies.Object")]
+ canGetAppliedPoliciesObject,
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlEnumAttribute("canGetACL.Object")]
+ canGetACLObject,
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlEnumAttribute("canApplyACL.Object")]
+ canApplyACLObject,
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public enum enumBaseObjectTypeIds {
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlEnumAttribute("cmis:document")]
+ cmisdocument,
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlEnumAttribute("cmis:folder")]
+ cmisfolder,
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlEnumAttribute("cmis:relationship")]
+ cmisrelationship,
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlEnumAttribute("cmis:policy")]
+ cmispolicy,
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getRepositoryInfo", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getRepositoryInfoRequest {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string repositoryId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public getRepositoryInfoRequest() {
+ }
+
+ public getRepositoryInfoRequest(string repositoryId, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.repositoryId = repositoryId;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getRepositoryInfoResponse", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getRepositoryInfoResponse {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public DotCMIS.CMISWebServicesReference.cmisRepositoryInfoType repositoryInfo;
+
+ public getRepositoryInfoResponse() {
+ }
+
+ public getRepositoryInfoResponse(DotCMIS.CMISWebServicesReference.cmisRepositoryInfoType repositoryInfo) {
+ this.repositoryInfo = repositoryInfo;
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ public partial class cmisTypeDefinitionListType : object, System.ComponentModel.INotifyPropertyChanged {
+
+ private cmisTypeDefinitionType[] typesField;
+
+ private bool hasMoreItemsField;
+
+ private string numItemsField;
+
+ private System.Xml.XmlElement[] anyField;
+
+ private System.Xml.XmlAttribute[] anyAttrField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("types", Order=0)]
+ public cmisTypeDefinitionType[] types {
+ get {
+ return this.typesField;
+ }
+ set {
+ this.typesField = value;
+ this.RaisePropertyChanged("types");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=1)]
+ public bool hasMoreItems {
+ get {
+ return this.hasMoreItemsField;
+ }
+ set {
+ this.hasMoreItemsField = value;
+ this.RaisePropertyChanged("hasMoreItems");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(DataType="integer", Order=2)]
+ public string numItems {
+ get {
+ return this.numItemsField;
+ }
+ set {
+ this.numItemsField = value;
+ this.RaisePropertyChanged("numItems");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyElementAttribute(Order=3)]
+ public System.Xml.XmlElement[] Any {
+ get {
+ return this.anyField;
+ }
+ set {
+ this.anyField = value;
+ this.RaisePropertyChanged("Any");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyAttributeAttribute()]
+ public System.Xml.XmlAttribute[] AnyAttr {
+ get {
+ return this.anyAttrField;
+ }
+ set {
+ this.anyAttrField = value;
+ this.RaisePropertyChanged("AnyAttr");
+ }
+ }
+
+ public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+
+ protected void RaisePropertyChanged(string propertyName) {
+ System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+ if ((propertyChanged != null)) {
+ propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlIncludeAttribute(typeof(cmisTypePolicyDefinitionType))]
+ [System.Xml.Serialization.XmlIncludeAttribute(typeof(cmisTypeRelationshipDefinitionType))]
+ [System.Xml.Serialization.XmlIncludeAttribute(typeof(cmisTypeFolderDefinitionType))]
+ [System.Xml.Serialization.XmlIncludeAttribute(typeof(cmisTypeDocumentDefinitionType))]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public partial class cmisTypeDefinitionType : object, System.ComponentModel.INotifyPropertyChanged {
+
+ private string idField;
+
+ private string localNameField;
+
+ private string localNamespaceField;
+
+ private string displayNameField;
+
+ private string queryNameField;
+
+ private string descriptionField;
+
+ private enumBaseObjectTypeIds baseIdField;
+
+ private string parentIdField;
+
+ private bool creatableField;
+
+ private bool fileableField;
+
+ private bool queryableField;
+
+ private bool fulltextIndexedField;
+
+ private bool includedInSupertypeQueryField;
+
+ private bool controllablePolicyField;
+
+ private bool controllableACLField;
+
+ private cmisPropertyDefinitionType[] itemsField;
+
+ private System.Xml.XmlElement[] anyField;
+
+ private System.Xml.XmlAttribute[] anyAttrField;
+
+ public cmisTypeDefinitionType() {
+ this.includedInSupertypeQueryField = true;
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=0)]
+ public string id {
+ get {
+ return this.idField;
+ }
+ set {
+ this.idField = value;
+ this.RaisePropertyChanged("id");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=1)]
+ public string localName {
+ get {
+ return this.localNameField;
+ }
+ set {
+ this.localNameField = value;
+ this.RaisePropertyChanged("localName");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(DataType="anyURI", IsNullable=true, Order=2)]
+ public string localNamespace {
+ get {
+ return this.localNamespaceField;
+ }
+ set {
+ this.localNamespaceField = value;
+ this.RaisePropertyChanged("localNamespace");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=3)]
+ public string displayName {
+ get {
+ return this.displayNameField;
+ }
+ set {
+ this.displayNameField = value;
+ this.RaisePropertyChanged("displayName");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=4)]
+ public string queryName {
+ get {
+ return this.queryNameField;
+ }
+ set {
+ this.queryNameField = value;
+ this.RaisePropertyChanged("queryName");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=5)]
+ public string description {
+ get {
+ return this.descriptionField;
+ }
+ set {
+ this.descriptionField = value;
+ this.RaisePropertyChanged("description");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=6)]
+ public enumBaseObjectTypeIds baseId {
+ get {
+ return this.baseIdField;
+ }
+ set {
+ this.baseIdField = value;
+ this.RaisePropertyChanged("baseId");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=7)]
+ public string parentId {
+ get {
+ return this.parentIdField;
+ }
+ set {
+ this.parentIdField = value;
+ this.RaisePropertyChanged("parentId");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=8)]
+ public bool creatable {
+ get {
+ return this.creatableField;
+ }
+ set {
+ this.creatableField = value;
+ this.RaisePropertyChanged("creatable");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=9)]
+ public bool fileable {
+ get {
+ return this.fileableField;
+ }
+ set {
+ this.fileableField = value;
+ this.RaisePropertyChanged("fileable");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=10)]
+ public bool queryable {
+ get {
+ return this.queryableField;
+ }
+ set {
+ this.queryableField = value;
+ this.RaisePropertyChanged("queryable");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=11)]
+ public bool fulltextIndexed {
+ get {
+ return this.fulltextIndexedField;
+ }
+ set {
+ this.fulltextIndexedField = value;
+ this.RaisePropertyChanged("fulltextIndexed");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=12)]
+ public bool includedInSupertypeQuery {
+ get {
+ return this.includedInSupertypeQueryField;
+ }
+ set {
+ this.includedInSupertypeQueryField = value;
+ this.RaisePropertyChanged("includedInSupertypeQuery");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=13)]
+ public bool controllablePolicy {
+ get {
+ return this.controllablePolicyField;
+ }
+ set {
+ this.controllablePolicyField = value;
+ this.RaisePropertyChanged("controllablePolicy");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=14)]
+ public bool controllableACL {
+ get {
+ return this.controllableACLField;
+ }
+ set {
+ this.controllableACLField = value;
+ this.RaisePropertyChanged("controllableACL");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("propertyBooleanDefinition", typeof(cmisPropertyBooleanDefinitionType), Order=15)]
+ [System.Xml.Serialization.XmlElementAttribute("propertyDateTimeDefinition", typeof(cmisPropertyDateTimeDefinitionType), Order=15)]
+ [System.Xml.Serialization.XmlElementAttribute("propertyDecimalDefinition", typeof(cmisPropertyDecimalDefinitionType), Order=15)]
+ [System.Xml.Serialization.XmlElementAttribute("propertyHtmlDefinition", typeof(cmisPropertyHtmlDefinitionType), Order=15)]
+ [System.Xml.Serialization.XmlElementAttribute("propertyIdDefinition", typeof(cmisPropertyIdDefinitionType), Order=15)]
+ [System.Xml.Serialization.XmlElementAttribute("propertyIntegerDefinition", typeof(cmisPropertyIntegerDefinitionType), Order=15)]
+ [System.Xml.Serialization.XmlElementAttribute("propertyStringDefinition", typeof(cmisPropertyStringDefinitionType), Order=15)]
+ [System.Xml.Serialization.XmlElementAttribute("propertyUriDefinition", typeof(cmisPropertyUriDefinitionType), Order=15)]
+ public cmisPropertyDefinitionType[] Items {
+ get {
+ return this.itemsField;
+ }
+ set {
+ this.itemsField = value;
+ this.RaisePropertyChanged("Items");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyElementAttribute(Order=16)]
+ public System.Xml.XmlElement[] Any {
+ get {
+ return this.anyField;
+ }
+ set {
+ this.anyField = value;
+ this.RaisePropertyChanged("Any");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyAttributeAttribute()]
+ public System.Xml.XmlAttribute[] AnyAttr {
+ get {
+ return this.anyAttrField;
+ }
+ set {
+ this.anyAttrField = value;
+ this.RaisePropertyChanged("AnyAttr");
+ }
+ }
+
+ public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+
+ protected void RaisePropertyChanged(string propertyName) {
+ System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+ if ((propertyChanged != null)) {
+ propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public partial class cmisPropertyBooleanDefinitionType : cmisPropertyDefinitionType {
+
+ private cmisPropertyBoolean defaultValueField;
+
+ private cmisChoiceBoolean[] choiceField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=0)]
+ public cmisPropertyBoolean defaultValue {
+ get {
+ return this.defaultValueField;
+ }
+ set {
+ this.defaultValueField = value;
+ this.RaisePropertyChanged("defaultValue");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("choice", Order=1)]
+ public cmisChoiceBoolean[] choice {
+ get {
+ return this.choiceField;
+ }
+ set {
+ this.choiceField = value;
+ this.RaisePropertyChanged("choice");
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public partial class cmisChoiceBoolean : cmisChoice {
+
+ private bool[] valueField;
+
+ private cmisChoiceBoolean[] choiceField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("value", Order=0)]
+ public bool[] value {
+ get {
+ return this.valueField;
+ }
+ set {
+ this.valueField = value;
+ this.RaisePropertyChanged("value");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("choice", Order=1)]
+ public cmisChoiceBoolean[] choice {
+ get {
+ return this.choiceField;
+ }
+ set {
+ this.choiceField = value;
+ this.RaisePropertyChanged("choice");
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlIncludeAttribute(typeof(cmisChoiceUri))]
+ [System.Xml.Serialization.XmlIncludeAttribute(typeof(cmisChoiceString))]
+ [System.Xml.Serialization.XmlIncludeAttribute(typeof(cmisChoiceHtml))]
+ [System.Xml.Serialization.XmlIncludeAttribute(typeof(cmisChoiceDecimal))]
+ [System.Xml.Serialization.XmlIncludeAttribute(typeof(cmisChoiceDateTime))]
+ [System.Xml.Serialization.XmlIncludeAttribute(typeof(cmisChoiceInteger))]
+ [System.Xml.Serialization.XmlIncludeAttribute(typeof(cmisChoiceId))]
+ [System.Xml.Serialization.XmlIncludeAttribute(typeof(cmisChoiceBoolean))]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public partial class cmisChoice : object, System.ComponentModel.INotifyPropertyChanged {
+
+ private string displayNameField;
+
+ private System.Xml.XmlAttribute[] anyAttrField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAttributeAttribute()]
+ public string displayName {
+ get {
+ return this.displayNameField;
+ }
+ set {
+ this.displayNameField = value;
+ this.RaisePropertyChanged("displayName");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyAttributeAttribute()]
+ public System.Xml.XmlAttribute[] AnyAttr {
+ get {
+ return this.anyAttrField;
+ }
+ set {
+ this.anyAttrField = value;
+ this.RaisePropertyChanged("AnyAttr");
+ }
+ }
+
+ public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+
+ protected void RaisePropertyChanged(string propertyName) {
+ System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+ if ((propertyChanged != null)) {
+ propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public partial class cmisChoiceUri : cmisChoice {
+
+ private string[] valueField;
+
+ private cmisChoiceUri[] choiceField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("value", DataType="anyURI", Order=0)]
+ public string[] value {
+ get {
+ return this.valueField;
+ }
+ set {
+ this.valueField = value;
+ this.RaisePropertyChanged("value");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("choice", Order=1)]
+ public cmisChoiceUri[] choice {
+ get {
+ return this.choiceField;
+ }
+ set {
+ this.choiceField = value;
+ this.RaisePropertyChanged("choice");
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public partial class cmisChoiceString : cmisChoice {
+
+ private string[] valueField;
+
+ private cmisChoiceString[] choiceField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("value", Order=0)]
+ public string[] value {
+ get {
+ return this.valueField;
+ }
+ set {
+ this.valueField = value;
+ this.RaisePropertyChanged("value");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("choice", Order=1)]
+ public cmisChoiceString[] choice {
+ get {
+ return this.choiceField;
+ }
+ set {
+ this.choiceField = value;
+ this.RaisePropertyChanged("choice");
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public partial class cmisChoiceHtml : cmisChoice {
+
+ private string[] valueField;
+
+ private cmisChoiceHtml[] choiceField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("value", Order=0)]
+ public string[] value {
+ get {
+ return this.valueField;
+ }
+ set {
+ this.valueField = value;
+ this.RaisePropertyChanged("value");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("choice", Order=1)]
+ public cmisChoiceHtml[] choice {
+ get {
+ return this.choiceField;
+ }
+ set {
+ this.choiceField = value;
+ this.RaisePropertyChanged("choice");
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public partial class cmisChoiceDecimal : cmisChoice {
+
+ private decimal[] valueField;
+
+ private cmisChoiceDecimal[] choiceField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("value", Order=0)]
+ public decimal[] value {
+ get {
+ return this.valueField;
+ }
+ set {
+ this.valueField = value;
+ this.RaisePropertyChanged("value");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("choice", Order=1)]
+ public cmisChoiceDecimal[] choice {
+ get {
+ return this.choiceField;
+ }
+ set {
+ this.choiceField = value;
+ this.RaisePropertyChanged("choice");
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public partial class cmisChoiceDateTime : cmisChoice {
+
+ private System.DateTime[] valueField;
+
+ private cmisChoiceDateTime[] choiceField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("value", Order=0)]
+ public System.DateTime[] value {
+ get {
+ return this.valueField;
+ }
+ set {
+ this.valueField = value;
+ this.RaisePropertyChanged("value");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("choice", Order=1)]
+ public cmisChoiceDateTime[] choice {
+ get {
+ return this.choiceField;
+ }
+ set {
+ this.choiceField = value;
+ this.RaisePropertyChanged("choice");
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public partial class cmisChoiceInteger : cmisChoice {
+
+ private string[] valueField;
+
+ private cmisChoiceInteger[] choiceField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("value", DataType="integer", Order=0)]
+ public string[] value {
+ get {
+ return this.valueField;
+ }
+ set {
+ this.valueField = value;
+ this.RaisePropertyChanged("value");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("choice", Order=1)]
+ public cmisChoiceInteger[] choice {
+ get {
+ return this.choiceField;
+ }
+ set {
+ this.choiceField = value;
+ this.RaisePropertyChanged("choice");
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public partial class cmisChoiceId : cmisChoice {
+
+ private string[] valueField;
+
+ private cmisChoiceId[] choiceField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("value", Order=0)]
+ public string[] value {
+ get {
+ return this.valueField;
+ }
+ set {
+ this.valueField = value;
+ this.RaisePropertyChanged("value");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("choice", Order=1)]
+ public cmisChoiceId[] choice {
+ get {
+ return this.choiceField;
+ }
+ set {
+ this.choiceField = value;
+ this.RaisePropertyChanged("choice");
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlIncludeAttribute(typeof(cmisPropertyUriDefinitionType))]
+ [System.Xml.Serialization.XmlIncludeAttribute(typeof(cmisPropertyStringDefinitionType))]
+ [System.Xml.Serialization.XmlIncludeAttribute(typeof(cmisPropertyHtmlDefinitionType))]
+ [System.Xml.Serialization.XmlIncludeAttribute(typeof(cmisPropertyDecimalDefinitionType))]
+ [System.Xml.Serialization.XmlIncludeAttribute(typeof(cmisPropertyDateTimeDefinitionType))]
+ [System.Xml.Serialization.XmlIncludeAttribute(typeof(cmisPropertyIntegerDefinitionType))]
+ [System.Xml.Serialization.XmlIncludeAttribute(typeof(cmisPropertyIdDefinitionType))]
+ [System.Xml.Serialization.XmlIncludeAttribute(typeof(cmisPropertyBooleanDefinitionType))]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public partial class cmisPropertyDefinitionType : object, System.ComponentModel.INotifyPropertyChanged {
+
+ private string idField;
+
+ private string localNameField;
+
+ private string localNamespaceField;
+
+ private string displayNameField;
+
+ private string queryNameField;
+
+ private string descriptionField;
+
+ private enumPropertyType propertyTypeField;
+
+ private enumCardinality cardinalityField;
+
+ private enumUpdatability updatabilityField;
+
+ private bool inheritedField;
+
+ private bool inheritedFieldSpecified;
+
+ private bool requiredField;
+
+ private bool queryableField;
+
+ private bool orderableField;
+
+ private bool openChoiceField;
+
+ private bool openChoiceFieldSpecified;
+
+ private System.Xml.XmlElement[] anyField;
+
+ private System.Xml.XmlAttribute[] anyAttrField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=0)]
+ public string id {
+ get {
+ return this.idField;
+ }
+ set {
+ this.idField = value;
+ this.RaisePropertyChanged("id");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=1)]
+ public string localName {
+ get {
+ return this.localNameField;
+ }
+ set {
+ this.localNameField = value;
+ this.RaisePropertyChanged("localName");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(DataType="anyURI", Order=2)]
+ public string localNamespace {
+ get {
+ return this.localNamespaceField;
+ }
+ set {
+ this.localNamespaceField = value;
+ this.RaisePropertyChanged("localNamespace");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=3)]
+ public string displayName {
+ get {
+ return this.displayNameField;
+ }
+ set {
+ this.displayNameField = value;
+ this.RaisePropertyChanged("displayName");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=4)]
+ public string queryName {
+ get {
+ return this.queryNameField;
+ }
+ set {
+ this.queryNameField = value;
+ this.RaisePropertyChanged("queryName");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=5)]
+ public string description {
+ get {
+ return this.descriptionField;
+ }
+ set {
+ this.descriptionField = value;
+ this.RaisePropertyChanged("description");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=6)]
+ public enumPropertyType propertyType {
+ get {
+ return this.propertyTypeField;
+ }
+ set {
+ this.propertyTypeField = value;
+ this.RaisePropertyChanged("propertyType");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=7)]
+ public enumCardinality cardinality {
+ get {
+ return this.cardinalityField;
+ }
+ set {
+ this.cardinalityField = value;
+ this.RaisePropertyChanged("cardinality");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=8)]
+ public enumUpdatability updatability {
+ get {
+ return this.updatabilityField;
+ }
+ set {
+ this.updatabilityField = value;
+ this.RaisePropertyChanged("updatability");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=9)]
+ public bool inherited {
+ get {
+ return this.inheritedField;
+ }
+ set {
+ this.inheritedField = value;
+ this.RaisePropertyChanged("inherited");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool inheritedSpecified {
+ get {
+ return this.inheritedFieldSpecified;
+ }
+ set {
+ this.inheritedFieldSpecified = value;
+ this.RaisePropertyChanged("inheritedSpecified");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=10)]
+ public bool required {
+ get {
+ return this.requiredField;
+ }
+ set {
+ this.requiredField = value;
+ this.RaisePropertyChanged("required");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=11)]
+ public bool queryable {
+ get {
+ return this.queryableField;
+ }
+ set {
+ this.queryableField = value;
+ this.RaisePropertyChanged("queryable");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=12)]
+ public bool orderable {
+ get {
+ return this.orderableField;
+ }
+ set {
+ this.orderableField = value;
+ this.RaisePropertyChanged("orderable");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=13)]
+ public bool openChoice {
+ get {
+ return this.openChoiceField;
+ }
+ set {
+ this.openChoiceField = value;
+ this.RaisePropertyChanged("openChoice");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool openChoiceSpecified {
+ get {
+ return this.openChoiceFieldSpecified;
+ }
+ set {
+ this.openChoiceFieldSpecified = value;
+ this.RaisePropertyChanged("openChoiceSpecified");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyElementAttribute(Order=14)]
+ public System.Xml.XmlElement[] Any {
+ get {
+ return this.anyField;
+ }
+ set {
+ this.anyField = value;
+ this.RaisePropertyChanged("Any");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyAttributeAttribute()]
+ public System.Xml.XmlAttribute[] AnyAttr {
+ get {
+ return this.anyAttrField;
+ }
+ set {
+ this.anyAttrField = value;
+ this.RaisePropertyChanged("AnyAttr");
+ }
+ }
+
+ public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+
+ protected void RaisePropertyChanged(string propertyName) {
+ System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+ if ((propertyChanged != null)) {
+ propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public enum enumPropertyType {
+
+ /// <remarks/>
+ boolean,
+
+ /// <remarks/>
+ id,
+
+ /// <remarks/>
+ integer,
+
+ /// <remarks/>
+ datetime,
+
+ /// <remarks/>
+ @decimal,
+
+ /// <remarks/>
+ html,
+
+ /// <remarks/>
+ @string,
+
+ /// <remarks/>
+ uri,
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public enum enumCardinality {
+
+ /// <remarks/>
+ single,
+
+ /// <remarks/>
+ multi,
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public enum enumUpdatability {
+
+ /// <remarks/>
+ @readonly,
+
+ /// <remarks/>
+ readwrite,
+
+ /// <remarks/>
+ whencheckedout,
+
+ /// <remarks/>
+ oncreate,
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public partial class cmisPropertyUriDefinitionType : cmisPropertyDefinitionType {
+
+ private cmisPropertyUri defaultValueField;
+
+ private cmisChoiceUri[] choiceField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=0)]
+ public cmisPropertyUri defaultValue {
+ get {
+ return this.defaultValueField;
+ }
+ set {
+ this.defaultValueField = value;
+ this.RaisePropertyChanged("defaultValue");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("choice", Order=1)]
+ public cmisChoiceUri[] choice {
+ get {
+ return this.choiceField;
+ }
+ set {
+ this.choiceField = value;
+ this.RaisePropertyChanged("choice");
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public partial class cmisPropertyStringDefinitionType : cmisPropertyDefinitionType {
+
+ private cmisPropertyString defaultValueField;
+
+ private string maxLengthField;
+
+ private cmisChoiceString[] choiceField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=0)]
+ public cmisPropertyString defaultValue {
+ get {
+ return this.defaultValueField;
+ }
+ set {
+ this.defaultValueField = value;
+ this.RaisePropertyChanged("defaultValue");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(DataType="integer", Order=1)]
+ public string maxLength {
+ get {
+ return this.maxLengthField;
+ }
+ set {
+ this.maxLengthField = value;
+ this.RaisePropertyChanged("maxLength");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("choice", Order=2)]
+ public cmisChoiceString[] choice {
+ get {
+ return this.choiceField;
+ }
+ set {
+ this.choiceField = value;
+ this.RaisePropertyChanged("choice");
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public partial class cmisPropertyHtmlDefinitionType : cmisPropertyDefinitionType {
+
+ private cmisPropertyHtml defaultValueField;
+
+ private cmisChoiceHtml[] choiceField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=0)]
+ public cmisPropertyHtml defaultValue {
+ get {
+ return this.defaultValueField;
+ }
+ set {
+ this.defaultValueField = value;
+ this.RaisePropertyChanged("defaultValue");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("choice", Order=1)]
+ public cmisChoiceHtml[] choice {
+ get {
+ return this.choiceField;
+ }
+ set {
+ this.choiceField = value;
+ this.RaisePropertyChanged("choice");
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public partial class cmisPropertyDecimalDefinitionType : cmisPropertyDefinitionType {
+
+ private cmisPropertyDecimal defaultValueField;
+
+ private decimal maxValueField;
+
+ private bool maxValueFieldSpecified;
+
+ private decimal minValueField;
+
+ private bool minValueFieldSpecified;
+
+ private enumDecimalPrecision precisionField;
+
+ private bool precisionFieldSpecified;
+
+ private cmisChoiceDecimal[] choiceField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=0)]
+ public cmisPropertyDecimal defaultValue {
+ get {
+ return this.defaultValueField;
+ }
+ set {
+ this.defaultValueField = value;
+ this.RaisePropertyChanged("defaultValue");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=1)]
+ public decimal maxValue {
+ get {
+ return this.maxValueField;
+ }
+ set {
+ this.maxValueField = value;
+ this.RaisePropertyChanged("maxValue");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool maxValueSpecified {
+ get {
+ return this.maxValueFieldSpecified;
+ }
+ set {
+ this.maxValueFieldSpecified = value;
+ this.RaisePropertyChanged("maxValueSpecified");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=2)]
+ public decimal minValue {
+ get {
+ return this.minValueField;
+ }
+ set {
+ this.minValueField = value;
+ this.RaisePropertyChanged("minValue");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool minValueSpecified {
+ get {
+ return this.minValueFieldSpecified;
+ }
+ set {
+ this.minValueFieldSpecified = value;
+ this.RaisePropertyChanged("minValueSpecified");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=3)]
+ public enumDecimalPrecision precision {
+ get {
+ return this.precisionField;
+ }
+ set {
+ this.precisionField = value;
+ this.RaisePropertyChanged("precision");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool precisionSpecified {
+ get {
+ return this.precisionFieldSpecified;
+ }
+ set {
+ this.precisionFieldSpecified = value;
+ this.RaisePropertyChanged("precisionSpecified");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("choice", Order=4)]
+ public cmisChoiceDecimal[] choice {
+ get {
+ return this.choiceField;
+ }
+ set {
+ this.choiceField = value;
+ this.RaisePropertyChanged("choice");
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public enum enumDecimalPrecision {
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlEnumAttribute("32")]
+ Item32,
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlEnumAttribute("64")]
+ Item64,
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public partial class cmisPropertyDateTimeDefinitionType : cmisPropertyDefinitionType {
+
+ private cmisPropertyDateTime defaultValueField;
+
+ private enumDateTimeResolution resolutionField;
+
+ private bool resolutionFieldSpecified;
+
+ private cmisChoiceDateTime[] choiceField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=0)]
+ public cmisPropertyDateTime defaultValue {
+ get {
+ return this.defaultValueField;
+ }
+ set {
+ this.defaultValueField = value;
+ this.RaisePropertyChanged("defaultValue");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=1)]
+ public enumDateTimeResolution resolution {
+ get {
+ return this.resolutionField;
+ }
+ set {
+ this.resolutionField = value;
+ this.RaisePropertyChanged("resolution");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool resolutionSpecified {
+ get {
+ return this.resolutionFieldSpecified;
+ }
+ set {
+ this.resolutionFieldSpecified = value;
+ this.RaisePropertyChanged("resolutionSpecified");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("choice", Order=2)]
+ public cmisChoiceDateTime[] choice {
+ get {
+ return this.choiceField;
+ }
+ set {
+ this.choiceField = value;
+ this.RaisePropertyChanged("choice");
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public enum enumDateTimeResolution {
+
+ /// <remarks/>
+ year,
+
+ /// <remarks/>
+ date,
+
+ /// <remarks/>
+ time,
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public partial class cmisPropertyIntegerDefinitionType : cmisPropertyDefinitionType {
+
+ private cmisPropertyInteger defaultValueField;
+
+ private string maxValueField;
+
+ private string minValueField;
+
+ private cmisChoiceInteger[] choiceField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=0)]
+ public cmisPropertyInteger defaultValue {
+ get {
+ return this.defaultValueField;
+ }
+ set {
+ this.defaultValueField = value;
+ this.RaisePropertyChanged("defaultValue");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(DataType="integer", Order=1)]
+ public string maxValue {
+ get {
+ return this.maxValueField;
+ }
+ set {
+ this.maxValueField = value;
+ this.RaisePropertyChanged("maxValue");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(DataType="integer", Order=2)]
+ public string minValue {
+ get {
+ return this.minValueField;
+ }
+ set {
+ this.minValueField = value;
+ this.RaisePropertyChanged("minValue");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("choice", Order=3)]
+ public cmisChoiceInteger[] choice {
+ get {
+ return this.choiceField;
+ }
+ set {
+ this.choiceField = value;
+ this.RaisePropertyChanged("choice");
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public partial class cmisPropertyIdDefinitionType : cmisPropertyDefinitionType {
+
+ private cmisPropertyId defaultValueField;
+
+ private cmisChoiceId[] choiceField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=0)]
+ public cmisPropertyId defaultValue {
+ get {
+ return this.defaultValueField;
+ }
+ set {
+ this.defaultValueField = value;
+ this.RaisePropertyChanged("defaultValue");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("choice", Order=1)]
+ public cmisChoiceId[] choice {
+ get {
+ return this.choiceField;
+ }
+ set {
+ this.choiceField = value;
+ this.RaisePropertyChanged("choice");
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public partial class cmisTypePolicyDefinitionType : cmisTypeDefinitionType {
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public partial class cmisTypeRelationshipDefinitionType : cmisTypeDefinitionType {
+
+ private string[] allowedSourceTypesField;
+
+ private string[] allowedTargetTypesField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("allowedSourceTypes", Order=0)]
+ public string[] allowedSourceTypes {
+ get {
+ return this.allowedSourceTypesField;
+ }
+ set {
+ this.allowedSourceTypesField = value;
+ this.RaisePropertyChanged("allowedSourceTypes");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("allowedTargetTypes", Order=1)]
+ public string[] allowedTargetTypes {
+ get {
+ return this.allowedTargetTypesField;
+ }
+ set {
+ this.allowedTargetTypesField = value;
+ this.RaisePropertyChanged("allowedTargetTypes");
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public partial class cmisTypeFolderDefinitionType : cmisTypeDefinitionType {
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public partial class cmisTypeDocumentDefinitionType : cmisTypeDefinitionType {
+
+ private bool versionableField;
+
+ private enumContentStreamAllowed contentStreamAllowedField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=0)]
+ public bool versionable {
+ get {
+ return this.versionableField;
+ }
+ set {
+ this.versionableField = value;
+ this.RaisePropertyChanged("versionable");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=1)]
+ public enumContentStreamAllowed contentStreamAllowed {
+ get {
+ return this.contentStreamAllowedField;
+ }
+ set {
+ this.contentStreamAllowedField = value;
+ this.RaisePropertyChanged("contentStreamAllowed");
+ }
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/core/200908/")]
+ public enum enumContentStreamAllowed {
+
+ /// <remarks/>
+ notallowed,
+
+ /// <remarks/>
+ allowed,
+
+ /// <remarks/>
+ required,
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getTypeChildren", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getTypeChildrenRequest {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string repositoryId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public string typeId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=2)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public System.Nullable<bool> includePropertyDefinitions;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=3)]
+ [System.Xml.Serialization.XmlElementAttribute(DataType="integer", IsNullable=true)]
+ public string maxItems;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=4)]
+ [System.Xml.Serialization.XmlElementAttribute(DataType="integer", IsNullable=true)]
+ public string skipCount;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=5)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public getTypeChildrenRequest() {
+ }
+
+ public getTypeChildrenRequest(string repositoryId, string typeId, System.Nullable<bool> includePropertyDefinitions, string maxItems, string skipCount, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.repositoryId = repositoryId;
+ this.typeId = typeId;
+ this.includePropertyDefinitions = includePropertyDefinitions;
+ this.maxItems = maxItems;
+ this.skipCount = skipCount;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getTypeChildrenResponse", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getTypeChildrenResponse {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public DotCMIS.CMISWebServicesReference.cmisTypeDefinitionListType types;
+
+ public getTypeChildrenResponse() {
+ }
+
+ public getTypeChildrenResponse(DotCMIS.CMISWebServicesReference.cmisTypeDefinitionListType types) {
+ this.types = types;
+ }
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ public partial class cmisTypeContainer : object, System.ComponentModel.INotifyPropertyChanged {
+
+ private cmisTypeDefinitionType typeField;
+
+ private cmisTypeContainer[] childrenField;
+
+ private System.Xml.XmlElement[] anyField;
+
+ private System.Xml.XmlAttribute[] anyAttrField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=0)]
+ public cmisTypeDefinitionType type {
+ get {
+ return this.typeField;
+ }
+ set {
+ this.typeField = value;
+ this.RaisePropertyChanged("type");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute("children", Order=1)]
+ public cmisTypeContainer[] children {
+ get {
+ return this.childrenField;
+ }
+ set {
+ this.childrenField = value;
+ this.RaisePropertyChanged("children");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyElementAttribute(Order=2)]
+ public System.Xml.XmlElement[] Any {
+ get {
+ return this.anyField;
+ }
+ set {
+ this.anyField = value;
+ this.RaisePropertyChanged("Any");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyAttributeAttribute()]
+ public System.Xml.XmlAttribute[] AnyAttr {
+ get {
+ return this.anyAttrField;
+ }
+ set {
+ this.anyAttrField = value;
+ this.RaisePropertyChanged("AnyAttr");
+ }
+ }
+
+ public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+
+ protected void RaisePropertyChanged(string propertyName) {
+ System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+ if ((propertyChanged != null)) {
+ propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+ }
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getTypeDescendants", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getTypeDescendantsRequest {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string repositoryId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public string typeId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=2)]
+ [System.Xml.Serialization.XmlElementAttribute(DataType="integer", IsNullable=true)]
+ public string depth;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=3)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public System.Nullable<bool> includePropertyDefinitions;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=4)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public getTypeDescendantsRequest() {
+ }
+
+ public getTypeDescendantsRequest(string repositoryId, string typeId, string depth, System.Nullable<bool> includePropertyDefinitions, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.repositoryId = repositoryId;
+ this.typeId = typeId;
+ this.depth = depth;
+ this.includePropertyDefinitions = includePropertyDefinitions;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getTypeDescendantsResponse", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getTypeDescendantsResponse {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ [System.Xml.Serialization.XmlElementAttribute("types")]
+ public cmisTypeContainer[] types;
+
+ public getTypeDescendantsResponse() {
+ }
+
+ public getTypeDescendantsResponse(cmisTypeContainer[] types) {
+ this.types = types;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getTypeDefinition", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getTypeDefinitionRequest {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string repositoryId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ public string typeId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=2)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public getTypeDefinitionRequest() {
+ }
+
+ public getTypeDefinitionRequest(string repositoryId, string typeId, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.repositoryId = repositoryId;
+ this.typeId = typeId;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getTypeDefinitionResponse", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getTypeDefinitionResponse {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public DotCMIS.CMISWebServicesReference.cmisTypeDefinitionType type;
+
+ public getTypeDefinitionResponse() {
+ }
+
+ public getTypeDefinitionResponse(DotCMIS.CMISWebServicesReference.cmisTypeDefinitionType type) {
+ this.type = type;
+ }
+ }
+
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ internal interface RepositoryServicePortChannel : DotCMIS.CMISWebServicesReference.RepositoryServicePort, System.ServiceModel.IClientChannel {
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ internal partial class RepositoryServicePortClient : System.ServiceModel.ClientBase<DotCMIS.CMISWebServicesReference.RepositoryServicePort>, DotCMIS.CMISWebServicesReference.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) {
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ DotCMIS.CMISWebServicesReference.getRepositoriesResponse DotCMIS.CMISWebServicesReference.RepositoryServicePort.getRepositories(DotCMIS.CMISWebServicesReference.getRepositoriesRequest request) {
+ return base.Channel.getRepositories(request);
+ }
+
+ public cmisRepositoryEntryType[] getRepositories(DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ DotCMIS.CMISWebServicesReference.getRepositoriesRequest inValue = new DotCMIS.CMISWebServicesReference.getRepositoriesRequest();
+ inValue.extension = extension;
+ DotCMIS.CMISWebServicesReference.getRepositoriesResponse retVal = ((DotCMIS.CMISWebServicesReference.RepositoryServicePort)(this)).getRepositories(inValue);
+ return retVal.repositories;
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ DotCMIS.CMISWebServicesReference.getRepositoryInfoResponse DotCMIS.CMISWebServicesReference.RepositoryServicePort.getRepositoryInfo(DotCMIS.CMISWebServicesReference.getRepositoryInfoRequest request) {
+ return base.Channel.getRepositoryInfo(request);
+ }
+
+ public DotCMIS.CMISWebServicesReference.cmisRepositoryInfoType getRepositoryInfo(string repositoryId, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ DotCMIS.CMISWebServicesReference.getRepositoryInfoRequest inValue = new DotCMIS.CMISWebServicesReference.getRepositoryInfoRequest();
+ inValue.repositoryId = repositoryId;
+ inValue.extension = extension;
+ DotCMIS.CMISWebServicesReference.getRepositoryInfoResponse retVal = ((DotCMIS.CMISWebServicesReference.RepositoryServicePort)(this)).getRepositoryInfo(inValue);
+ return retVal.repositoryInfo;
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ DotCMIS.CMISWebServicesReference.getTypeChildrenResponse DotCMIS.CMISWebServicesReference.RepositoryServicePort.getTypeChildren(DotCMIS.CMISWebServicesReference.getTypeChildrenRequest request) {
+ return base.Channel.getTypeChildren(request);
+ }
+
+ public DotCMIS.CMISWebServicesReference.cmisTypeDefinitionListType getTypeChildren(string repositoryId, string typeId, System.Nullable<bool> includePropertyDefinitions, string maxItems, string skipCount, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ DotCMIS.CMISWebServicesReference.getTypeChildrenRequest inValue = new DotCMIS.CMISWebServicesReference.getTypeChildrenRequest();
+ inValue.repositoryId = repositoryId;
+ inValue.typeId = typeId;
+ inValue.includePropertyDefinitions = includePropertyDefinitions;
+ inValue.maxItems = maxItems;
+ inValue.skipCount = skipCount;
+ inValue.extension = extension;
+ DotCMIS.CMISWebServicesReference.getTypeChildrenResponse retVal = ((DotCMIS.CMISWebServicesReference.RepositoryServicePort)(this)).getTypeChildren(inValue);
+ return retVal.types;
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ DotCMIS.CMISWebServicesReference.getTypeDescendantsResponse DotCMIS.CMISWebServicesReference.RepositoryServicePort.getTypeDescendants(DotCMIS.CMISWebServicesReference.getTypeDescendantsRequest request) {
+ return base.Channel.getTypeDescendants(request);
+ }
+
+ public cmisTypeContainer[] getTypeDescendants(string repositoryId, string typeId, string depth, System.Nullable<bool> includePropertyDefinitions, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ DotCMIS.CMISWebServicesReference.getTypeDescendantsRequest inValue = new DotCMIS.CMISWebServicesReference.getTypeDescendantsRequest();
+ inValue.repositoryId = repositoryId;
+ inValue.typeId = typeId;
+ inValue.depth = depth;
+ inValue.includePropertyDefinitions = includePropertyDefinitions;
+ inValue.extension = extension;
+ DotCMIS.CMISWebServicesReference.getTypeDescendantsResponse retVal = ((DotCMIS.CMISWebServicesReference.RepositoryServicePort)(this)).getTypeDescendants(inValue);
+ return retVal.types;
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ DotCMIS.CMISWebServicesReference.getTypeDefinitionResponse DotCMIS.CMISWebServicesReference.RepositoryServicePort.getTypeDefinition(DotCMIS.CMISWebServicesReference.getTypeDefinitionRequest request) {
+ return base.Channel.getTypeDefinition(request);
+ }
+
+ public DotCMIS.CMISWebServicesReference.cmisTypeDefinitionType getTypeDefinition(string repositoryId, string typeId, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ DotCMIS.CMISWebServicesReference.getTypeDefinitionRequest inValue = new DotCMIS.CMISWebServicesReference.getTypeDefinitionRequest();
+ inValue.repositoryId = repositoryId;
+ inValue.typeId = typeId;
+ inValue.extension = extension;
+ DotCMIS.CMISWebServicesReference.getTypeDefinitionResponse retVal = ((DotCMIS.CMISWebServicesReference.RepositoryServicePort)(this)).getTypeDefinition(inValue);
+ return retVal.type;
+ }
+ }
+
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ServiceModel.ServiceContractAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/ws/200908/", ConfigurationName="CMISWebServicesReference.VersioningServicePort")]
+ internal interface VersioningServicePort {
+
+ // CODEGEN: Generating message contract since the wrapper namespace (http://docs.oasis-open.org/ns/cmis/messaging/200908/) of message checkOutRequest does not match the default value (http://docs.oasis-open.org/ns/cmis/ws/200908/)
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(DotCMIS.CMISWebServicesReference.cmisFaultType), Action="", Name="cmisFault", Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(cmisProperty))]
+ DotCMIS.CMISWebServicesReference.checkOutResponse checkOut(DotCMIS.CMISWebServicesReference.checkOutRequest request);
+
+ // CODEGEN: Generating message contract since the wrapper namespace (http://docs.oasis-open.org/ns/cmis/messaging/200908/) of message cancelCheckOutRequest does not match the default value (http://docs.oasis-open.org/ns/cmis/ws/200908/)
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(DotCMIS.CMISWebServicesReference.cmisFaultType), Action="", Name="cmisFault", Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(cmisProperty))]
+ DotCMIS.CMISWebServicesReference.cancelCheckOutResponse cancelCheckOut(DotCMIS.CMISWebServicesReference.cancelCheckOutRequest request);
+
+ // CODEGEN: Generating message contract since the wrapper namespace (http://docs.oasis-open.org/ns/cmis/messaging/200908/) of message checkInRequest does not match the default value (http://docs.oasis-open.org/ns/cmis/ws/200908/)
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(DotCMIS.CMISWebServicesReference.cmisFaultType), Action="", Name="cmisFault", Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(cmisProperty))]
+ DotCMIS.CMISWebServicesReference.checkInResponse checkIn(DotCMIS.CMISWebServicesReference.checkInRequest request);
+
+ // CODEGEN: Generating message contract since the wrapper namespace (http://docs.oasis-open.org/ns/cmis/messaging/200908/) of message getObjectOfLatestVersionRequest does not match the default value (http://docs.oasis-open.org/ns/cmis/ws/200908/)
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(DotCMIS.CMISWebServicesReference.cmisFaultType), Action="", Name="cmisFault", Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(cmisProperty))]
+ DotCMIS.CMISWebServicesReference.getObjectOfLatestVersionResponse getObjectOfLatestVersion(DotCMIS.CMISWebServicesReference.getObjectOfLatestVersionRequest request);
+
+ // CODEGEN: Generating message contract since the wrapper namespace (http://docs.oasis-open.org/ns/cmis/messaging/200908/) of message getPropertiesOfLatestVersionRequest does not match the default value (http://docs.oasis-open.org/ns/cmis/ws/200908/)
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(DotCMIS.CMISWebServicesReference.cmisFaultType), Action="", Name="cmisFault", Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(cmisProperty))]
+ DotCMIS.CMISWebServicesReference.getPropertiesOfLatestVersionResponse getPropertiesOfLatestVersion(DotCMIS.CMISWebServicesReference.getPropertiesOfLatestVersionRequest request);
+
+ // CODEGEN: Generating message contract since the wrapper namespace (http://docs.oasis-open.org/ns/cmis/messaging/200908/) of message getAllVersionsRequest does not match the default value (http://docs.oasis-open.org/ns/cmis/ws/200908/)
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(DotCMIS.CMISWebServicesReference.cmisFaultType), Action="", Name="cmisFault", Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(cmisProperty))]
+ DotCMIS.CMISWebServicesReference.getAllVersionsResponse getAllVersions(DotCMIS.CMISWebServicesReference.getAllVersionsRequest request);
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="checkOut", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class checkOutRequest {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string repositoryId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ public string objectId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=2)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public checkOutRequest() {
+ }
+
+ public checkOutRequest(string repositoryId, string objectId, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.repositoryId = repositoryId;
+ this.objectId = objectId;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="checkOutResponse", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class checkOutResponse {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string objectId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ public bool contentCopied;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=2)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public checkOutResponse() {
+ }
+
+ public checkOutResponse(string objectId, bool contentCopied, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.objectId = objectId;
+ this.contentCopied = contentCopied;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="cancelCheckOut", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class cancelCheckOutRequest {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string repositoryId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ public string objectId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=2)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public cancelCheckOutRequest() {
+ }
+
+ public cancelCheckOutRequest(string repositoryId, string objectId, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.repositoryId = repositoryId;
+ this.objectId = objectId;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="cancelCheckOutResponse", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class cancelCheckOutResponse {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public cancelCheckOutResponse() {
+ }
+
+ public cancelCheckOutResponse(DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="checkIn", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class checkInRequest {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string repositoryId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ public string objectId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=2)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public System.Nullable<bool> major;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=3)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisPropertiesType properties;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=4)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisContentStreamType contentStream;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=5)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public string checkinComment;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=6)]
+ [System.Xml.Serialization.XmlElementAttribute("policies", IsNullable=true)]
+ public string[] policies;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=7)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisAccessControlListType addACEs;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=8)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisAccessControlListType removeACEs;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=9)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public checkInRequest() {
+ }
+
+ public checkInRequest(string repositoryId, string objectId, System.Nullable<bool> major, DotCMIS.CMISWebServicesReference.cmisPropertiesType properties, DotCMIS.CMISWebServicesReference.cmisContentStreamType contentStream, string checkinComment, string[] policies, DotCMIS.CMISWebServicesReference.cmisAccessControlListType addACEs, DotCMIS.CMISWebServicesReference.cmisAccessControlListType removeACEs, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.repositoryId = repositoryId;
+ this.objectId = objectId;
+ this.major = major;
+ this.properties = properties;
+ this.contentStream = contentStream;
+ this.checkinComment = checkinComment;
+ this.policies = policies;
+ this.addACEs = addACEs;
+ this.removeACEs = removeACEs;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="checkInResponse", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class checkInResponse {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string objectId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public checkInResponse() {
+ }
+
+ public checkInResponse(string objectId, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.objectId = objectId;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getObjectOfLatestVersion", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getObjectOfLatestVersionRequest {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string repositoryId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ public string objectId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=2)]
+ public bool major;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=3)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public string filter;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=4)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public System.Nullable<bool> includeAllowableActions;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=5)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public System.Nullable<enumIncludeRelationships> includeRelationships;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=6)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public string renditionFilter;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=7)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public System.Nullable<bool> includePolicyIds;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=8)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public System.Nullable<bool> includeACL;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=9)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public getObjectOfLatestVersionRequest() {
+ }
+
+ public getObjectOfLatestVersionRequest(string repositoryId, string objectId, bool major, string filter, System.Nullable<bool> includeAllowableActions, System.Nullable<enumIncludeRelationships> includeRelationships, string renditionFilter, System.Nullable<bool> includePolicyIds, System.Nullable<bool> includeACL, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.repositoryId = repositoryId;
+ this.objectId = objectId;
+ this.major = major;
+ this.filter = filter;
+ this.includeAllowableActions = includeAllowableActions;
+ this.includeRelationships = includeRelationships;
+ this.renditionFilter = renditionFilter;
+ this.includePolicyIds = includePolicyIds;
+ this.includeACL = includeACL;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getObjectOfLatestVersionResponse", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getObjectOfLatestVersionResponse {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public DotCMIS.CMISWebServicesReference.cmisObjectType @object;
+
+ public getObjectOfLatestVersionResponse() {
+ }
+
+ public getObjectOfLatestVersionResponse(DotCMIS.CMISWebServicesReference.cmisObjectType @object) {
+ this.@object = @object;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getPropertiesOfLatestVersion", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getPropertiesOfLatestVersionRequest {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string repositoryId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ public string objectId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=2)]
+ public bool major;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=3)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public string filter;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=4)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public getPropertiesOfLatestVersionRequest() {
+ }
+
+ public getPropertiesOfLatestVersionRequest(string repositoryId, string objectId, bool major, string filter, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.repositoryId = repositoryId;
+ this.objectId = objectId;
+ this.major = major;
+ this.filter = filter;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getPropertiesOfLatestVersionResponse", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getPropertiesOfLatestVersionResponse {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public DotCMIS.CMISWebServicesReference.cmisPropertiesType properties;
+
+ public getPropertiesOfLatestVersionResponse() {
+ }
+
+ public getPropertiesOfLatestVersionResponse(DotCMIS.CMISWebServicesReference.cmisPropertiesType properties) {
+ this.properties = properties;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getAllVersions", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getAllVersionsRequest {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string repositoryId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ public string objectId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=2)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public string filter;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=3)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public System.Nullable<bool> includeAllowableActions;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=4)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public getAllVersionsRequest() {
+ }
+
+ public getAllVersionsRequest(string repositoryId, string objectId, string filter, System.Nullable<bool> includeAllowableActions, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.repositoryId = repositoryId;
+ this.objectId = objectId;
+ this.filter = filter;
+ this.includeAllowableActions = includeAllowableActions;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getAllVersionsResponse", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getAllVersionsResponse {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ [System.Xml.Serialization.XmlElementAttribute("objects")]
+ public cmisObjectType[] objects;
+
+ public getAllVersionsResponse() {
+ }
+
+ public getAllVersionsResponse(cmisObjectType[] objects) {
+ this.objects = objects;
+ }
+ }
+
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ internal interface VersioningServicePortChannel : DotCMIS.CMISWebServicesReference.VersioningServicePort, System.ServiceModel.IClientChannel {
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ internal partial class VersioningServicePortClient : System.ServiceModel.ClientBase<DotCMIS.CMISWebServicesReference.VersioningServicePort>, DotCMIS.CMISWebServicesReference.VersioningServicePort {
+
+ public VersioningServicePortClient() {
+ }
+
+ public VersioningServicePortClient(string endpointConfigurationName) :
+ base(endpointConfigurationName) {
+ }
+
+ public VersioningServicePortClient(string endpointConfigurationName, string remoteAddress) :
+ base(endpointConfigurationName, remoteAddress) {
+ }
+
+ public VersioningServicePortClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) :
+ base(endpointConfigurationName, remoteAddress) {
+ }
+
+ public VersioningServicePortClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) :
+ base(binding, remoteAddress) {
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ DotCMIS.CMISWebServicesReference.checkOutResponse DotCMIS.CMISWebServicesReference.VersioningServicePort.checkOut(DotCMIS.CMISWebServicesReference.checkOutRequest request) {
+ return base.Channel.checkOut(request);
+ }
+
+ public bool checkOut(string repositoryId, ref string objectId, ref DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ DotCMIS.CMISWebServicesReference.checkOutRequest inValue = new DotCMIS.CMISWebServicesReference.checkOutRequest();
+ inValue.repositoryId = repositoryId;
+ inValue.objectId = objectId;
+ inValue.extension = extension;
+ DotCMIS.CMISWebServicesReference.checkOutResponse retVal = ((DotCMIS.CMISWebServicesReference.VersioningServicePort)(this)).checkOut(inValue);
+ objectId = retVal.objectId;
+ extension = retVal.extension;
+ return retVal.contentCopied;
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ DotCMIS.CMISWebServicesReference.cancelCheckOutResponse DotCMIS.CMISWebServicesReference.VersioningServicePort.cancelCheckOut(DotCMIS.CMISWebServicesReference.cancelCheckOutRequest request) {
+ return base.Channel.cancelCheckOut(request);
+ }
+
+ public void cancelCheckOut(string repositoryId, string objectId, ref DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ DotCMIS.CMISWebServicesReference.cancelCheckOutRequest inValue = new DotCMIS.CMISWebServicesReference.cancelCheckOutRequest();
+ inValue.repositoryId = repositoryId;
+ inValue.objectId = objectId;
+ inValue.extension = extension;
+ DotCMIS.CMISWebServicesReference.cancelCheckOutResponse retVal = ((DotCMIS.CMISWebServicesReference.VersioningServicePort)(this)).cancelCheckOut(inValue);
+ extension = retVal.extension;
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ DotCMIS.CMISWebServicesReference.checkInResponse DotCMIS.CMISWebServicesReference.VersioningServicePort.checkIn(DotCMIS.CMISWebServicesReference.checkInRequest request) {
+ return base.Channel.checkIn(request);
+ }
+
+ public void checkIn(string repositoryId, ref string objectId, System.Nullable<bool> major, DotCMIS.CMISWebServicesReference.cmisPropertiesType properties, DotCMIS.CMISWebServicesReference.cmisContentStreamType contentStream, string checkinComment, string[] policies, DotCMIS.CMISWebServicesReference.cmisAccessControlListType addACEs, DotCMIS.CMISWebServicesReference.cmisAccessControlListType removeACEs, ref DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ DotCMIS.CMISWebServicesReference.checkInRequest inValue = new DotCMIS.CMISWebServicesReference.checkInRequest();
+ inValue.repositoryId = repositoryId;
+ inValue.objectId = objectId;
+ inValue.major = major;
+ inValue.properties = properties;
+ inValue.contentStream = contentStream;
+ inValue.checkinComment = checkinComment;
+ inValue.policies = policies;
+ inValue.addACEs = addACEs;
+ inValue.removeACEs = removeACEs;
+ inValue.extension = extension;
+ DotCMIS.CMISWebServicesReference.checkInResponse retVal = ((DotCMIS.CMISWebServicesReference.VersioningServicePort)(this)).checkIn(inValue);
+ objectId = retVal.objectId;
+ extension = retVal.extension;
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ DotCMIS.CMISWebServicesReference.getObjectOfLatestVersionResponse DotCMIS.CMISWebServicesReference.VersioningServicePort.getObjectOfLatestVersion(DotCMIS.CMISWebServicesReference.getObjectOfLatestVersionRequest request) {
+ return base.Channel.getObjectOfLatestVersion(request);
+ }
+
+ public DotCMIS.CMISWebServicesReference.cmisObjectType getObjectOfLatestVersion(string repositoryId, string objectId, bool major, string filter, System.Nullable<bool> includeAllowableActions, System.Nullable<enumIncludeRelationships> includeRelationships, string renditionFilter, System.Nullable<bool> includePolicyIds, System.Nullable<bool> includeACL, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ DotCMIS.CMISWebServicesReference.getObjectOfLatestVersionRequest inValue = new DotCMIS.CMISWebServicesReference.getObjectOfLatestVersionRequest();
+ inValue.repositoryId = repositoryId;
+ inValue.objectId = objectId;
+ inValue.major = major;
+ inValue.filter = filter;
+ inValue.includeAllowableActions = includeAllowableActions;
+ inValue.includeRelationships = includeRelationships;
+ inValue.renditionFilter = renditionFilter;
+ inValue.includePolicyIds = includePolicyIds;
+ inValue.includeACL = includeACL;
+ inValue.extension = extension;
+ DotCMIS.CMISWebServicesReference.getObjectOfLatestVersionResponse retVal = ((DotCMIS.CMISWebServicesReference.VersioningServicePort)(this)).getObjectOfLatestVersion(inValue);
+ return retVal.@object;
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ DotCMIS.CMISWebServicesReference.getPropertiesOfLatestVersionResponse DotCMIS.CMISWebServicesReference.VersioningServicePort.getPropertiesOfLatestVersion(DotCMIS.CMISWebServicesReference.getPropertiesOfLatestVersionRequest request) {
+ return base.Channel.getPropertiesOfLatestVersion(request);
+ }
+
+ public DotCMIS.CMISWebServicesReference.cmisPropertiesType getPropertiesOfLatestVersion(string repositoryId, string objectId, bool major, string filter, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ DotCMIS.CMISWebServicesReference.getPropertiesOfLatestVersionRequest inValue = new DotCMIS.CMISWebServicesReference.getPropertiesOfLatestVersionRequest();
+ inValue.repositoryId = repositoryId;
+ inValue.objectId = objectId;
+ inValue.major = major;
+ inValue.filter = filter;
+ inValue.extension = extension;
+ DotCMIS.CMISWebServicesReference.getPropertiesOfLatestVersionResponse retVal = ((DotCMIS.CMISWebServicesReference.VersioningServicePort)(this)).getPropertiesOfLatestVersion(inValue);
+ return retVal.properties;
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ DotCMIS.CMISWebServicesReference.getAllVersionsResponse DotCMIS.CMISWebServicesReference.VersioningServicePort.getAllVersions(DotCMIS.CMISWebServicesReference.getAllVersionsRequest request) {
+ return base.Channel.getAllVersions(request);
+ }
+
+ public cmisObjectType[] getAllVersions(string repositoryId, string objectId, string filter, System.Nullable<bool> includeAllowableActions, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ DotCMIS.CMISWebServicesReference.getAllVersionsRequest inValue = new DotCMIS.CMISWebServicesReference.getAllVersionsRequest();
+ inValue.repositoryId = repositoryId;
+ inValue.objectId = objectId;
+ inValue.filter = filter;
+ inValue.includeAllowableActions = includeAllowableActions;
+ inValue.extension = extension;
+ DotCMIS.CMISWebServicesReference.getAllVersionsResponse retVal = ((DotCMIS.CMISWebServicesReference.VersioningServicePort)(this)).getAllVersions(inValue);
+ return retVal.objects;
+ }
+ }
+
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ServiceModel.ServiceContractAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/ws/200908/", ConfigurationName="CMISWebServicesReference.ACLServicePort")]
+ internal interface ACLServicePort {
+
+ // CODEGEN: Generating message contract since the wrapper namespace (http://docs.oasis-open.org/ns/cmis/messaging/200908/) of message getACLRequest does not match the default value (http://docs.oasis-open.org/ns/cmis/ws/200908/)
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(DotCMIS.CMISWebServicesReference.cmisFaultType), Action="", Name="cmisFault", Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(cmisProperty))]
+ DotCMIS.CMISWebServicesReference.getACLResponse getACL(DotCMIS.CMISWebServicesReference.getACLRequest request);
+
+ // CODEGEN: Generating message contract since the wrapper namespace (http://docs.oasis-open.org/ns/cmis/messaging/200908/) of message applyACLRequest does not match the default value (http://docs.oasis-open.org/ns/cmis/ws/200908/)
+ [System.ServiceModel.OperationContractAttribute(Action="", ReplyAction="*")]
+ [System.ServiceModel.FaultContractAttribute(typeof(DotCMIS.CMISWebServicesReference.cmisFaultType), Action="", Name="cmisFault", Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ [System.ServiceModel.XmlSerializerFormatAttribute(SupportFaults=true)]
+ [System.ServiceModel.ServiceKnownTypeAttribute(typeof(cmisProperty))]
+ DotCMIS.CMISWebServicesReference.applyACLResponse applyACL(DotCMIS.CMISWebServicesReference.applyACLRequest request);
+ }
+
+ /// <remarks/>
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.1")]
+ [System.SerializableAttribute()]
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.ComponentModel.DesignerCategoryAttribute("code")]
+ [System.Xml.Serialization.XmlTypeAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/")]
+ public partial class cmisACLType : object, System.ComponentModel.INotifyPropertyChanged {
+
+ private cmisAccessControlListType aCLField;
+
+ private bool exactField;
+
+ private bool exactFieldSpecified;
+
+ private System.Xml.XmlElement[] anyField;
+
+ private System.Xml.XmlAttribute[] anyAttrField;
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=0)]
+ public cmisAccessControlListType ACL {
+ get {
+ return this.aCLField;
+ }
+ set {
+ this.aCLField = value;
+ this.RaisePropertyChanged("ACL");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlElementAttribute(Order=1)]
+ public bool exact {
+ get {
+ return this.exactField;
+ }
+ set {
+ this.exactField = value;
+ this.RaisePropertyChanged("exact");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlIgnoreAttribute()]
+ public bool exactSpecified {
+ get {
+ return this.exactFieldSpecified;
+ }
+ set {
+ this.exactFieldSpecified = value;
+ this.RaisePropertyChanged("exactSpecified");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyElementAttribute(Order=2)]
+ public System.Xml.XmlElement[] Any {
+ get {
+ return this.anyField;
+ }
+ set {
+ this.anyField = value;
+ this.RaisePropertyChanged("Any");
+ }
+ }
+
+ /// <remarks/>
+ [System.Xml.Serialization.XmlAnyAttributeAttribute()]
+ public System.Xml.XmlAttribute[] AnyAttr {
+ get {
+ return this.anyAttrField;
+ }
+ set {
+ this.anyAttrField = value;
+ this.RaisePropertyChanged("AnyAttr");
+ }
+ }
+
+ public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
+
+ protected void RaisePropertyChanged(string propertyName) {
+ System.ComponentModel.PropertyChangedEventHandler propertyChanged = this.PropertyChanged;
+ if ((propertyChanged != null)) {
+ propertyChanged(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));
+ }
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getACL", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getACLRequest {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string repositoryId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ public string objectId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=2)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public System.Nullable<bool> onlyBasicPermissions;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=3)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public getACLRequest() {
+ }
+
+ public getACLRequest(string repositoryId, string objectId, System.Nullable<bool> onlyBasicPermissions, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.repositoryId = repositoryId;
+ this.objectId = objectId;
+ this.onlyBasicPermissions = onlyBasicPermissions;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="getACLResponse", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class getACLResponse {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public DotCMIS.CMISWebServicesReference.cmisACLType ACL;
+
+ public getACLResponse() {
+ }
+
+ public getACLResponse(DotCMIS.CMISWebServicesReference.cmisACLType ACL) {
+ this.ACL = ACL;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="applyACL", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class applyACLRequest {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public string repositoryId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=1)]
+ public string objectId;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=2)]
+ public DotCMIS.CMISWebServicesReference.cmisAccessControlListType addACEs;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=3)]
+ public DotCMIS.CMISWebServicesReference.cmisAccessControlListType removeACEs;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=4)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public System.Nullable<enumACLPropagation> ACLPropagation;
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=5)]
+ [System.Xml.Serialization.XmlElementAttribute(IsNullable=true)]
+ public DotCMIS.CMISWebServicesReference.cmisExtensionType extension;
+
+ public applyACLRequest() {
+ }
+
+ public applyACLRequest(string repositoryId, string objectId, DotCMIS.CMISWebServicesReference.cmisAccessControlListType addACEs, DotCMIS.CMISWebServicesReference.cmisAccessControlListType removeACEs, System.Nullable<enumACLPropagation> ACLPropagation, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ this.repositoryId = repositoryId;
+ this.objectId = objectId;
+ this.addACEs = addACEs;
+ this.removeACEs = removeACEs;
+ this.ACLPropagation = ACLPropagation;
+ this.extension = extension;
+ }
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ [System.ServiceModel.MessageContractAttribute(WrapperName="applyACLResponse", WrapperNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", IsWrapped=true)]
+ internal partial class applyACLResponse {
+
+ [System.ServiceModel.MessageBodyMemberAttribute(Namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/", Order=0)]
+ public DotCMIS.CMISWebServicesReference.cmisACLType ACL;
+
+ public applyACLResponse() {
+ }
+
+ public applyACLResponse(DotCMIS.CMISWebServicesReference.cmisACLType ACL) {
+ this.ACL = ACL;
+ }
+ }
+
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ internal interface ACLServicePortChannel : DotCMIS.CMISWebServicesReference.ACLServicePort, System.ServiceModel.IClientChannel {
+ }
+
+ [System.Diagnostics.DebuggerStepThroughAttribute()]
+ [System.CodeDom.Compiler.GeneratedCodeAttribute("System.ServiceModel", "4.0.0.0")]
+ internal partial class ACLServicePortClient : System.ServiceModel.ClientBase<DotCMIS.CMISWebServicesReference.ACLServicePort>, DotCMIS.CMISWebServicesReference.ACLServicePort {
+
+ public ACLServicePortClient() {
+ }
+
+ public ACLServicePortClient(string endpointConfigurationName) :
+ base(endpointConfigurationName) {
+ }
+
+ public ACLServicePortClient(string endpointConfigurationName, string remoteAddress) :
+ base(endpointConfigurationName, remoteAddress) {
+ }
+
+ public ACLServicePortClient(string endpointConfigurationName, System.ServiceModel.EndpointAddress remoteAddress) :
+ base(endpointConfigurationName, remoteAddress) {
+ }
+
+ public ACLServicePortClient(System.ServiceModel.Channels.Binding binding, System.ServiceModel.EndpointAddress remoteAddress) :
+ base(binding, remoteAddress) {
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ DotCMIS.CMISWebServicesReference.getACLResponse DotCMIS.CMISWebServicesReference.ACLServicePort.getACL(DotCMIS.CMISWebServicesReference.getACLRequest request) {
+ return base.Channel.getACL(request);
+ }
+
+ public DotCMIS.CMISWebServicesReference.cmisACLType getACL(string repositoryId, string objectId, System.Nullable<bool> onlyBasicPermissions, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ DotCMIS.CMISWebServicesReference.getACLRequest inValue = new DotCMIS.CMISWebServicesReference.getACLRequest();
+ inValue.repositoryId = repositoryId;
+ inValue.objectId = objectId;
+ inValue.onlyBasicPermissions = onlyBasicPermissions;
+ inValue.extension = extension;
+ DotCMIS.CMISWebServicesReference.getACLResponse retVal = ((DotCMIS.CMISWebServicesReference.ACLServicePort)(this)).getACL(inValue);
+ return retVal.ACL;
+ }
+
+ [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Advanced)]
+ DotCMIS.CMISWebServicesReference.applyACLResponse DotCMIS.CMISWebServicesReference.ACLServicePort.applyACL(DotCMIS.CMISWebServicesReference.applyACLRequest request) {
+ return base.Channel.applyACL(request);
+ }
+
+ public DotCMIS.CMISWebServicesReference.cmisACLType applyACL(string repositoryId, string objectId, DotCMIS.CMISWebServicesReference.cmisAccessControlListType addACEs, DotCMIS.CMISWebServicesReference.cmisAccessControlListType removeACEs, System.Nullable<enumACLPropagation> ACLPropagation, DotCMIS.CMISWebServicesReference.cmisExtensionType extension) {
+ DotCMIS.CMISWebServicesReference.applyACLRequest inValue = new DotCMIS.CMISWebServicesReference.applyACLRequest();
+ inValue.repositoryId = repositoryId;
+ inValue.objectId = objectId;
+ inValue.addACEs = addACEs;
+ inValue.removeACEs = removeACEs;
+ inValue.ACLPropagation = ACLPropagation;
+ inValue.extension = extension;
+ DotCMIS.CMISWebServicesReference.applyACLResponse retVal = ((DotCMIS.CMISWebServicesReference.ACLServicePort)(this)).applyACL(inValue);
+ return retVal.ACL;
+ }
+ }
+}
diff --git a/DotCMIS/Service References/CMISWebServicesReference/Reference.svcmap b/DotCMIS/Service References/CMISWebServicesReference/Reference.svcmap
new file mode 100644
index 0000000..48d6a68
--- /dev/null
+++ b/DotCMIS/Service References/CMISWebServicesReference/Reference.svcmap
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?>
+<ReferenceGroup xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ID="3d5abe42-7fbf-4694-8527-bfbf3463347e" xmlns="urn:schemas-microsoft-com:xml-wcfservicemap">
+ <ClientOptions>
+ <GenerateAsynchronousMethods>false</GenerateAsynchronousMethods>
+ <EnableDataBinding>true</EnableDataBinding>
+ <ExcludedTypes />
+ <ImportXmlTypes>false</ImportXmlTypes>
+ <GenerateInternalTypes>true</GenerateInternalTypes>
+ <GenerateMessageContracts>false</GenerateMessageContracts>
+ <NamespaceMappings />
+ <CollectionMappings />
+ <GenerateSerializableTypes>true</GenerateSerializableTypes>
+ <Serializer>Auto</Serializer>
+ <UseSerializerForFaults>true</UseSerializerForFaults>
+ <ReferenceAllAssemblies>true</ReferenceAllAssemblies>
+ <ReferencedAssemblies />
+ <ReferencedDataContractTypes />
+ <ServiceContractMappings />
+ </ClientOptions>
+ <MetadataSources>
+ <MetadataSource Address="C:\projects\opencmis\DotCMIS\DotCMIS\wsdl\CMISWS-Service.wsdl" Protocol="file" SourceId="1" />
+ </MetadataSources>
+ <Metadata>
+ <MetadataFile FileName="CMIS-Messaging.xsd" MetadataType="Schema" ID="a67cdce6-4ed5-4a16-9a77-3681a58e7436" SourceId="1" SourceUrl="file:///C:/projects/opencmis/DotCMIS/DotCMIS/wsdl/CMIS-Messaging.xsd" />
+ <MetadataFile FileName="CMIS-Core.xsd" MetadataType="Schema" ID="308bb947-3023-485c-aa3d-1b44b4f62b3e" SourceId="1" SourceUrl="file:///C:/projects/opencmis/DotCMIS/DotCMIS/wsdl/CMIS-Core.xsd" />
+ <MetadataFile FileName="CMISWebServices.wsdl" MetadataType="Wsdl" ID="51836210-8920-4bad-af93-ce566d98ae3a" SourceId="1" SourceUrl="file:///C:/projects/opencmis/DotCMIS/DotCMIS/wsdl/CMISWS-Service.wsdl" />
+ </Metadata>
+ <Extensions>
+ <ExtensionFile FileName="configuration91.svcinfo" Name="configuration91.svcinfo" />
+ <ExtensionFile FileName="configuration.svcinfo" Name="configuration.svcinfo" />
+ </Extensions>
+</ReferenceGroup>
\ No newline at end of file
diff --git a/DotCMIS/Service References/CMISWebServicesReference/configuration.svcinfo b/DotCMIS/Service References/CMISWebServicesReference/configuration.svcinfo
new file mode 100644
index 0000000..854a2e8
--- /dev/null
+++ b/DotCMIS/Service References/CMISWebServicesReference/configuration.svcinfo
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configurationSnapshot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:schemas-microsoft-com:xml-wcfconfigurationsnapshot">
+ <behaviors />
+ <bindings>
+ <binding digest="System.ServiceModel.Configuration.BasicHttpBindingElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089:<?xml version="1.0" encoding="utf-16"?><Data hostNameComparisonMode="StrongWildcard" maxBufferSize="65536" messageEncoding="Text" name="DiscoveryServicePortBinding" textEncoding="utf-8" transferMode="Buffered"><readerQuotas maxArrayLength="16384" maxBytesPerRead="4096" maxDepth="32" maxNameTableCharCount="16384" maxStringContentLength="8192" /><security mode="None"><message algorithmSuite="Default" clientCredentialType="UserName" /><transport clientCredentialType="None" proxyCredentialType="None" realm="" /></security></Data>" bindingType="basicHttpBinding" name="DiscoveryServicePortBinding" />
+ <binding digest="System.ServiceModel.Configuration.BasicHttpBindingElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089:<?xml version="1.0" encoding="utf-16"?><Data hostNameComparisonMode="StrongWildcard" maxBufferSize="65536" messageEncoding="Text" name="MultiFilingServicePortBinding" textEncoding="utf-8" transferMode="Buffered"><readerQuotas maxArrayLength="16384" maxBytesPerRead="4096" maxDepth="32" maxNameTableCharCount="16384" maxStringContentLength="8192" /><security mode="None"><message algorithmSuite="Default" clientCredentialType="UserName" /><transport clientCredentialType="None" proxyCredentialType="None" realm="" /></security></Data>" bindingType="basicHttpBinding" name="MultiFilingServicePortBinding" />
+ <binding digest="System.ServiceModel.Configuration.BasicHttpBindingElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089:<?xml version="1.0" encoding="utf-16"?><Data hostNameComparisonMode="StrongWildcard" maxBufferSize="65536" messageEncoding="Text" name="NavigationServicePortBinding" textEncoding="utf-8" transferMode="Buffered"><readerQuotas maxArrayLength="16384" maxBytesPerRead="4096" maxDepth="32" maxNameTableCharCount="16384" maxStringContentLength="8192" /><security mode="None"><message algorithmSuite="Default" clientCredentialType="UserName" /><transport clientCredentialType="None" proxyCredentialType="None" realm="" /></security></Data>" bindingType="basicHttpBinding" name="NavigationServicePortBinding" />
+ <binding digest="System.ServiceModel.Configuration.BasicHttpBindingElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089:<?xml version="1.0" encoding="utf-16"?><Data hostNameComparisonMode="StrongWildcard" maxBufferSize="65536" messageEncoding="Text" name="ObjectServicePortBinding" textEncoding="utf-8" transferMode="Buffered"><readerQuotas maxArrayLength="16384" maxBytesPerRead="4096" maxDepth="32" maxNameTableCharCount="16384" maxStringContentLength="8192" /><security mode="None"><message algorithmSuite="Default" clientCredentialType="UserName" /><transport clientCredentialType="None" proxyCredentialType="None" realm="" /></security></Data>" bindingType="basicHttpBinding" name="ObjectServicePortBinding" />
+ <binding digest="System.ServiceModel.Configuration.BasicHttpBindingElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089:<?xml version="1.0" encoding="utf-16"?><Data hostNameComparisonMode="StrongWildcard" maxBufferSize="65536" messageEncoding="Text" name="PolicyServicePortBinding" textEncoding="utf-8" transferMode="Buffered"><readerQuotas maxArrayLength="16384" maxBytesPerRead="4096" maxDepth="32" maxNameTableCharCount="16384" maxStringContentLength="8192" /><security mode="None"><message algorithmSuite="Default" clientCredentialType="UserName" /><transport clientCredentialType="None" proxyCredentialType="None" realm="" /></security></Data>" bindingType="basicHttpBinding" name="PolicyServicePortBinding" />
+ <binding digest="System.ServiceModel.Configuration.BasicHttpBindingElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089:<?xml version="1.0" encoding="utf-16"?><Data hostNameComparisonMode="StrongWildcard" maxBufferSize="65536" messageEncoding="Text" name="RelationshipServicePortBinding" textEncoding="utf-8" transferMode="Buffered"><readerQuotas maxArrayLength="16384" maxBytesPerRead="4096" maxDepth="32" maxNameTableCharCount="16384" maxStringContentLength="8192" /><security mode="None"><message algorithmSuite="Default" clientCredentialType="UserName" /><transport clientCredentialType="None" proxyCredentialType="None" realm="" /></security></Data>" bindingType="basicHttpBinding" name="RelationshipServicePortBinding" />
+ <binding digest="System.ServiceModel.Configuration.BasicHttpBindingElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089:<?xml version="1.0" encoding="utf-16"?><Data hostNameComparisonMode="StrongWildcard" maxBufferSize="65536" messageEncoding="Text" name="RepositoryServicePortBinding" textEncoding="utf-8" transferMode="Buffered"><readerQuotas maxArrayLength="16384" maxBytesPerRead="4096" maxDepth="32" maxNameTableCharCount="16384" maxStringContentLength="8192" /><security mode="None"><message algorithmSuite="Default" clientCredentialType="UserName" /><transport clientCredentialType="None" proxyCredentialType="None" realm="" /></security></Data>" bindingType="basicHttpBinding" name="RepositoryServicePortBinding" />
+ <binding digest="System.ServiceModel.Configuration.BasicHttpBindingElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089:<?xml version="1.0" encoding="utf-16"?><Data hostNameComparisonMode="StrongWildcard" maxBufferSize="65536" messageEncoding="Text" name="VersioningServicePortBinding" textEncoding="utf-8" transferMode="Buffered"><readerQuotas maxArrayLength="16384" maxBytesPerRead="4096" maxDepth="32" maxNameTableCharCount="16384" maxStringContentLength="8192" /><security mode="None"><message algorithmSuite="Default" clientCredentialType="UserName" /><transport clientCredentialType="None" proxyCredentialType="None" realm="" /></security></Data>" bindingType="basicHttpBinding" name="VersioningServicePortBinding" />
+ <binding digest="System.ServiceModel.Configuration.BasicHttpBindingElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089:<?xml version="1.0" encoding="utf-16"?><Data hostNameComparisonMode="StrongWildcard" maxBufferSize="65536" messageEncoding="Text" name="ACLServicePortBinding" textEncoding="utf-8" transferMode="Buffered"><readerQuotas maxArrayLength="16384" maxBytesPerRead="4096" maxDepth="32" maxNameTableCharCount="16384" maxStringContentLength="8192" /><security mode="None"><message algorithmSuite="Default" clientCredentialType="UserName" /><transport clientCredentialType="None" proxyCredentialType="None" realm="" /></security></Data>" bindingType="basicHttpBinding" name="ACLServicePortBinding" />
+ </bindings>
+ <endpoints>
+ <endpoint normalizedDigest="<?xml version="1.0" encoding="utf-16"?><Data address="http://cmis/services/DiscoveryService.DiscoveryServicePort" binding="basicHttpBinding" bindingConfiguration="DiscoveryServicePortBinding" contract="CMISWebServicesReference.DiscoveryServicePort" name="DiscoveryServicePort" />" digest="<?xml version="1.0" encoding="utf-16"?><Data address="http://cmis/services/DiscoveryService.DiscoveryServicePort" binding="basicHttpBinding" bindingConfiguration="DiscoveryServicePortBinding" contract="CMISWebServicesReference.DiscoveryServicePort" name="DiscoveryServicePort" />" contractName="CMISWebServicesReference.DiscoveryServicePort" name="DiscoveryServicePort" />
+ <endpoint normalizedDigest="<?xml version="1.0" encoding="utf-16"?><Data address="http://cmis/services/MultiFilingService.MultiFilingServicePort" binding="basicHttpBinding" bindingConfiguration="MultiFilingServicePortBinding" contract="CMISWebServicesReference.MultiFilingServicePort" name="MultiFilingServicePort" />" digest="<?xml version="1.0" encoding="utf-16"?><Data address="http://cmis/services/MultiFilingService.MultiFilingServicePort" binding="basicHttpBinding" bindingConfiguration="MultiFilingServicePortBinding" contract="CMISWebServicesReference.MultiFilingServicePort" name="MultiFilingServicePort" />" contractName="CMISWebServicesReference.MultiFilingServicePort" name="MultiFilingServicePort" />
+ <endpoint normalizedDigest="<?xml version="1.0" encoding="utf-16"?><Data address="http://cmis/services/NavigationService.NavigationServicePort" binding="basicHttpBinding" bindingConfiguration="NavigationServicePortBinding" contract="CMISWebServicesReference.NavigationServicePort" name="NavigationServicePort" />" digest="<?xml version="1.0" encoding="utf-16"?><Data address="http://cmis/services/NavigationService.NavigationServicePort" binding="basicHttpBinding" bindingConfiguration="NavigationServicePortBinding" contract="CMISWebServicesReference.NavigationServicePort" name="NavigationServicePort" />" contractName="CMISWebServicesReference.NavigationServicePort" name="NavigationServicePort" />
+ <endpoint normalizedDigest="<?xml version="1.0" encoding="utf-16"?><Data address="http://cmis/services/ObjectService.ObjectServicePort" binding="basicHttpBinding" bindingConfiguration="ObjectServicePortBinding" contract="CMISWebServicesReference.ObjectServicePort" name="ObjectServicePort" />" digest="<?xml version="1.0" encoding="utf-16"?><Data address="http://cmis/services/ObjectService.ObjectServicePort" binding="basicHttpBinding" bindingConfiguration="ObjectServicePortBinding" contract="CMISWebServicesReference.ObjectServicePort" name="ObjectServicePort" />" contractName="CMISWebServicesReference.ObjectServicePort" name="ObjectServicePort" />
+ <endpoint normalizedDigest="<?xml version="1.0" encoding="utf-16"?><Data address="http://cmis/services/PolicyService.PolicyServicePort" binding="basicHttpBinding" bindingConfiguration="PolicyServicePortBinding" contract="CMISWebServicesReference.PolicyServicePort" name="PolicyServicePort" />" digest="<?xml version="1.0" encoding="utf-16"?><Data address="http://cmis/services/PolicyService.PolicyServicePort" binding="basicHttpBinding" bindingConfiguration="PolicyServicePortBinding" contract="CMISWebServicesReference.PolicyServicePort" name="PolicyServicePort" />" contractName="CMISWebServicesReference.PolicyServicePort" name="PolicyServicePort" />
+ <endpoint normalizedDigest="<?xml version="1.0" encoding="utf-16"?><Data address="http://cmis/services/RelationshipService.RelationshipServicePort" binding="basicHttpBinding" bindingConfiguration="RelationshipServicePortBinding" contract="CMISWebServicesReference.RelationshipServicePort" name="RelationshipServicePort" />" digest="<?xml version="1.0" encoding="utf-16"?><Data address="http://cmis/services/RelationshipService.RelationshipServicePort" binding="basicHttpBinding" bindingConfiguration="RelationshipServicePortBinding" contract="CMISWebServicesReference.RelationshipServicePort" name="RelationshipServicePort" />" contractName="CMISWebServicesReference.RelationshipServicePort" name="RelationshipServicePort" />
+ <endpoint normalizedDigest="<?xml version="1.0" encoding="utf-16"?><Data address="http://cmis/services/RepositoryService.RepositoryServicePort" binding="basicHttpBinding" bindingConfiguration="RepositoryServicePortBinding" contract="CMISWebServicesReference.RepositoryServicePort" name="RepositoryServicePort" />" digest="<?xml version="1.0" encoding="utf-16"?><Data address="http://cmis/services/RepositoryService.RepositoryServicePort" binding="basicHttpBinding" bindingConfiguration="RepositoryServicePortBinding" contract="CMISWebServicesReference.RepositoryServicePort" name="RepositoryServicePort" />" contractName="CMISWebServicesReference.RepositoryServicePort" name="RepositoryServicePort" />
+ <endpoint normalizedDigest="<?xml version="1.0" encoding="utf-16"?><Data address="http://cmis/services/VersioningService.VersioningServicePort" binding="basicHttpBinding" bindingConfiguration="VersioningServicePortBinding" contract="CMISWebServicesReference.VersioningServicePort" name="VersioningServicePort" />" digest="<?xml version="1.0" encoding="utf-16"?><Data address="http://cmis/services/VersioningService.VersioningServicePort" binding="basicHttpBinding" bindingConfiguration="VersioningServicePortBinding" contract="CMISWebServicesReference.VersioningServicePort" name="VersioningServicePort" />" contractName="CMISWebServicesReference.VersioningServicePort" name="VersioningServicePort" />
+ <endpoint normalizedDigest="<?xml version="1.0" encoding="utf-16"?><Data address="http://cmis/services/ACLService.ACLServicePort" binding="basicHttpBinding" bindingConfiguration="ACLServicePortBinding" contract="CMISWebServicesReference.ACLServicePort" name="ACLServicePort" />" digest="<?xml version="1.0" encoding="utf-16"?><Data address="http://cmis/services/ACLService.ACLServicePort" binding="basicHttpBinding" bindingConfiguration="ACLServicePortBinding" contract="CMISWebServicesReference.ACLServicePort" name="ACLServicePort" />" contractName="CMISWebServicesReference.ACLServicePort" name="ACLServicePort" />
+ </endpoints>
+</configurationSnapshot>
\ No newline at end of file
diff --git a/DotCMIS/Service References/CMISWebServicesReference/configuration91.svcinfo b/DotCMIS/Service References/CMISWebServicesReference/configuration91.svcinfo
new file mode 100644
index 0000000..8f10281
--- /dev/null
+++ b/DotCMIS/Service References/CMISWebServicesReference/configuration91.svcinfo
@@ -0,0 +1,1753 @@
+<?xml version="1.0" encoding="utf-8"?>
+<SavedWcfConfigurationInformation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="9.1" CheckSum="wtnVK4WWzbkR4CP0ACq1tygHNKM=">
+ <bindingConfigurations>
+ <bindingConfiguration bindingType="basicHttpBinding" name="DiscoveryServicePortBinding">
+ <properties>
+ <property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>DiscoveryServicePortBinding</serializedValue>
+ </property>
+ <property path="/closeTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>00:01:00</serializedValue>
+ </property>
+ <property path="/openTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>00:01:00</serializedValue>
+ </property>
+ <property path="/receiveTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>00:10:00</serializedValue>
+ </property>
+ <property path="/sendTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>00:01:00</serializedValue>
+ </property>
+ <property path="/allowCookies" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>False</serializedValue>
+ </property>
+ <property path="/bypassProxyOnLocal" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>False</serializedValue>
+ </property>
+ <property path="/hostNameComparisonMode" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.HostNameComparisonMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>StrongWildcard</serializedValue>
+ </property>
+ <property path="/maxBufferSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>65536</serializedValue>
+ </property>
+ <property path="/maxBufferPoolSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>524288</serializedValue>
+ </property>
+ <property path="/maxReceivedMessageSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>65536</serializedValue>
+ </property>
+ <property path="/messageEncoding" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.WSMessageEncoding, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>Text</serializedValue>
+ </property>
+ <property path="/proxyAddress" isComplexType="false" isExplicitlyDefined="false" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/readerQuotas" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement</serializedValue>
+ </property>
+ <property path="/readerQuotas/maxDepth" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>32</serializedValue>
+ </property>
+ <property path="/readerQuotas/maxStringContentLength" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>8192</serializedValue>
+ </property>
+ <property path="/readerQuotas/maxArrayLength" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>16384</serializedValue>
+ </property>
+ <property path="/readerQuotas/maxBytesPerRead" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>4096</serializedValue>
+ </property>
+ <property path="/readerQuotas/maxNameTableCharCount" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>16384</serializedValue>
+ </property>
+ <property path="/security" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.BasicHttpSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.BasicHttpSecurityElement</serializedValue>
+ </property>
+ <property path="/security/mode" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.BasicHttpSecurityMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>None</serializedValue>
+ </property>
+ <property path="/security/transport" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.HttpTransportSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.HttpTransportSecurityElement</serializedValue>
+ </property>
+ <property path="/security/transport/clientCredentialType" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.HttpClientCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>None</serializedValue>
+ </property>
+ <property path="/security/transport/proxyCredentialType" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.HttpProxyCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>None</serializedValue>
+ </property>
+ <property path="/security/transport/extendedProtectionPolicy" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement</serializedValue>
+ </property>
+ <property path="/security/transport/extendedProtectionPolicy/policyEnforcement" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.PolicyEnforcement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>Never</serializedValue>
+ </property>
+ <property path="/security/transport/extendedProtectionPolicy/protectionScenario" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.ProtectionScenario, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>TransportSelected</serializedValue>
+ </property>
+ <property path="/security/transport/extendedProtectionPolicy/customServiceNames" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ServiceNameElementCollection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>(Collection)</serializedValue>
+ </property>
+ <property path="/security/transport/realm" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/security/message" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.BasicHttpMessageSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.BasicHttpMessageSecurityElement</serializedValue>
+ </property>
+ <property path="/security/message/clientCredentialType" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.BasicHttpMessageCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>UserName</serializedValue>
+ </property>
+ <property path="/security/message/algorithmSuite" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.Security.SecurityAlgorithmSuite, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>Default</serializedValue>
+ </property>
+ <property path="/textEncoding" isComplexType="false" isExplicitlyDefined="true" clrType="System.Text.Encoding, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.Text.UTF8Encoding</serializedValue>
+ </property>
+ <property path="/transferMode" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.TransferMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>Buffered</serializedValue>
+ </property>
+ <property path="/useDefaultWebProxy" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>True</serializedValue>
+ </property>
+ </properties>
+ </bindingConfiguration>
+ <bindingConfiguration bindingType="basicHttpBinding" name="MultiFilingServicePortBinding">
+ <properties>
+ <property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>MultiFilingServicePortBinding</serializedValue>
+ </property>
+ <property path="/closeTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>00:01:00</serializedValue>
+ </property>
+ <property path="/openTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>00:01:00</serializedValue>
+ </property>
+ <property path="/receiveTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>00:10:00</serializedValue>
+ </property>
+ <property path="/sendTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>00:01:00</serializedValue>
+ </property>
+ <property path="/allowCookies" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>False</serializedValue>
+ </property>
+ <property path="/bypassProxyOnLocal" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>False</serializedValue>
+ </property>
+ <property path="/hostNameComparisonMode" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.HostNameComparisonMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>StrongWildcard</serializedValue>
+ </property>
+ <property path="/maxBufferSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>65536</serializedValue>
+ </property>
+ <property path="/maxBufferPoolSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>524288</serializedValue>
+ </property>
+ <property path="/maxReceivedMessageSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>65536</serializedValue>
+ </property>
+ <property path="/messageEncoding" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.WSMessageEncoding, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>Text</serializedValue>
+ </property>
+ <property path="/proxyAddress" isComplexType="false" isExplicitlyDefined="false" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/readerQuotas" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement</serializedValue>
+ </property>
+ <property path="/readerQuotas/maxDepth" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>32</serializedValue>
+ </property>
+ <property path="/readerQuotas/maxStringContentLength" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>8192</serializedValue>
+ </property>
+ <property path="/readerQuotas/maxArrayLength" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>16384</serializedValue>
+ </property>
+ <property path="/readerQuotas/maxBytesPerRead" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>4096</serializedValue>
+ </property>
+ <property path="/readerQuotas/maxNameTableCharCount" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>16384</serializedValue>
+ </property>
+ <property path="/security" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.BasicHttpSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.BasicHttpSecurityElement</serializedValue>
+ </property>
+ <property path="/security/mode" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.BasicHttpSecurityMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>None</serializedValue>
+ </property>
+ <property path="/security/transport" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.HttpTransportSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.HttpTransportSecurityElement</serializedValue>
+ </property>
+ <property path="/security/transport/clientCredentialType" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.HttpClientCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>None</serializedValue>
+ </property>
+ <property path="/security/transport/proxyCredentialType" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.HttpProxyCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>None</serializedValue>
+ </property>
+ <property path="/security/transport/extendedProtectionPolicy" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement</serializedValue>
+ </property>
+ <property path="/security/transport/extendedProtectionPolicy/policyEnforcement" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.PolicyEnforcement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>Never</serializedValue>
+ </property>
+ <property path="/security/transport/extendedProtectionPolicy/protectionScenario" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.ProtectionScenario, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>TransportSelected</serializedValue>
+ </property>
+ <property path="/security/transport/extendedProtectionPolicy/customServiceNames" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ServiceNameElementCollection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>(Collection)</serializedValue>
+ </property>
+ <property path="/security/transport/realm" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/security/message" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.BasicHttpMessageSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.BasicHttpMessageSecurityElement</serializedValue>
+ </property>
+ <property path="/security/message/clientCredentialType" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.BasicHttpMessageCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>UserName</serializedValue>
+ </property>
+ <property path="/security/message/algorithmSuite" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.Security.SecurityAlgorithmSuite, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>Default</serializedValue>
+ </property>
+ <property path="/textEncoding" isComplexType="false" isExplicitlyDefined="true" clrType="System.Text.Encoding, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.Text.UTF8Encoding</serializedValue>
+ </property>
+ <property path="/transferMode" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.TransferMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>Buffered</serializedValue>
+ </property>
+ <property path="/useDefaultWebProxy" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>True</serializedValue>
+ </property>
+ </properties>
+ </bindingConfiguration>
+ <bindingConfiguration bindingType="basicHttpBinding" name="NavigationServicePortBinding">
+ <properties>
+ <property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>NavigationServicePortBinding</serializedValue>
+ </property>
+ <property path="/closeTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>00:01:00</serializedValue>
+ </property>
+ <property path="/openTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>00:01:00</serializedValue>
+ </property>
+ <property path="/receiveTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>00:10:00</serializedValue>
+ </property>
+ <property path="/sendTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>00:01:00</serializedValue>
+ </property>
+ <property path="/allowCookies" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>False</serializedValue>
+ </property>
+ <property path="/bypassProxyOnLocal" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>False</serializedValue>
+ </property>
+ <property path="/hostNameComparisonMode" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.HostNameComparisonMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>StrongWildcard</serializedValue>
+ </property>
+ <property path="/maxBufferSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>65536</serializedValue>
+ </property>
+ <property path="/maxBufferPoolSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>524288</serializedValue>
+ </property>
+ <property path="/maxReceivedMessageSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>65536</serializedValue>
+ </property>
+ <property path="/messageEncoding" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.WSMessageEncoding, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>Text</serializedValue>
+ </property>
+ <property path="/proxyAddress" isComplexType="false" isExplicitlyDefined="false" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/readerQuotas" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement</serializedValue>
+ </property>
+ <property path="/readerQuotas/maxDepth" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>32</serializedValue>
+ </property>
+ <property path="/readerQuotas/maxStringContentLength" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>8192</serializedValue>
+ </property>
+ <property path="/readerQuotas/maxArrayLength" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>16384</serializedValue>
+ </property>
+ <property path="/readerQuotas/maxBytesPerRead" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>4096</serializedValue>
+ </property>
+ <property path="/readerQuotas/maxNameTableCharCount" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>16384</serializedValue>
+ </property>
+ <property path="/security" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.BasicHttpSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.BasicHttpSecurityElement</serializedValue>
+ </property>
+ <property path="/security/mode" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.BasicHttpSecurityMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>None</serializedValue>
+ </property>
+ <property path="/security/transport" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.HttpTransportSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.HttpTransportSecurityElement</serializedValue>
+ </property>
+ <property path="/security/transport/clientCredentialType" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.HttpClientCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>None</serializedValue>
+ </property>
+ <property path="/security/transport/proxyCredentialType" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.HttpProxyCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>None</serializedValue>
+ </property>
+ <property path="/security/transport/extendedProtectionPolicy" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement</serializedValue>
+ </property>
+ <property path="/security/transport/extendedProtectionPolicy/policyEnforcement" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.PolicyEnforcement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>Never</serializedValue>
+ </property>
+ <property path="/security/transport/extendedProtectionPolicy/protectionScenario" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.ProtectionScenario, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>TransportSelected</serializedValue>
+ </property>
+ <property path="/security/transport/extendedProtectionPolicy/customServiceNames" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ServiceNameElementCollection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>(Collection)</serializedValue>
+ </property>
+ <property path="/security/transport/realm" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/security/message" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.BasicHttpMessageSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.BasicHttpMessageSecurityElement</serializedValue>
+ </property>
+ <property path="/security/message/clientCredentialType" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.BasicHttpMessageCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>UserName</serializedValue>
+ </property>
+ <property path="/security/message/algorithmSuite" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.Security.SecurityAlgorithmSuite, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>Default</serializedValue>
+ </property>
+ <property path="/textEncoding" isComplexType="false" isExplicitlyDefined="true" clrType="System.Text.Encoding, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.Text.UTF8Encoding</serializedValue>
+ </property>
+ <property path="/transferMode" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.TransferMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>Buffered</serializedValue>
+ </property>
+ <property path="/useDefaultWebProxy" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>True</serializedValue>
+ </property>
+ </properties>
+ </bindingConfiguration>
+ <bindingConfiguration bindingType="basicHttpBinding" name="ObjectServicePortBinding">
+ <properties>
+ <property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>ObjectServicePortBinding</serializedValue>
+ </property>
+ <property path="/closeTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>00:01:00</serializedValue>
+ </property>
+ <property path="/openTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>00:01:00</serializedValue>
+ </property>
+ <property path="/receiveTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>00:10:00</serializedValue>
+ </property>
+ <property path="/sendTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>00:01:00</serializedValue>
+ </property>
+ <property path="/allowCookies" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>False</serializedValue>
+ </property>
+ <property path="/bypassProxyOnLocal" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>False</serializedValue>
+ </property>
+ <property path="/hostNameComparisonMode" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.HostNameComparisonMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>StrongWildcard</serializedValue>
+ </property>
+ <property path="/maxBufferSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>65536</serializedValue>
+ </property>
+ <property path="/maxBufferPoolSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>524288</serializedValue>
+ </property>
+ <property path="/maxReceivedMessageSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>65536</serializedValue>
+ </property>
+ <property path="/messageEncoding" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.WSMessageEncoding, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>Text</serializedValue>
+ </property>
+ <property path="/proxyAddress" isComplexType="false" isExplicitlyDefined="false" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/readerQuotas" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement</serializedValue>
+ </property>
+ <property path="/readerQuotas/maxDepth" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>32</serializedValue>
+ </property>
+ <property path="/readerQuotas/maxStringContentLength" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>8192</serializedValue>
+ </property>
+ <property path="/readerQuotas/maxArrayLength" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>16384</serializedValue>
+ </property>
+ <property path="/readerQuotas/maxBytesPerRead" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>4096</serializedValue>
+ </property>
+ <property path="/readerQuotas/maxNameTableCharCount" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>16384</serializedValue>
+ </property>
+ <property path="/security" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.BasicHttpSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.BasicHttpSecurityElement</serializedValue>
+ </property>
+ <property path="/security/mode" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.BasicHttpSecurityMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>None</serializedValue>
+ </property>
+ <property path="/security/transport" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.HttpTransportSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.HttpTransportSecurityElement</serializedValue>
+ </property>
+ <property path="/security/transport/clientCredentialType" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.HttpClientCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>None</serializedValue>
+ </property>
+ <property path="/security/transport/proxyCredentialType" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.HttpProxyCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>None</serializedValue>
+ </property>
+ <property path="/security/transport/extendedProtectionPolicy" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement</serializedValue>
+ </property>
+ <property path="/security/transport/extendedProtectionPolicy/policyEnforcement" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.PolicyEnforcement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>Never</serializedValue>
+ </property>
+ <property path="/security/transport/extendedProtectionPolicy/protectionScenario" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.ProtectionScenario, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>TransportSelected</serializedValue>
+ </property>
+ <property path="/security/transport/extendedProtectionPolicy/customServiceNames" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ServiceNameElementCollection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>(Collection)</serializedValue>
+ </property>
+ <property path="/security/transport/realm" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/security/message" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.BasicHttpMessageSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.BasicHttpMessageSecurityElement</serializedValue>
+ </property>
+ <property path="/security/message/clientCredentialType" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.BasicHttpMessageCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>UserName</serializedValue>
+ </property>
+ <property path="/security/message/algorithmSuite" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.Security.SecurityAlgorithmSuite, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>Default</serializedValue>
+ </property>
+ <property path="/textEncoding" isComplexType="false" isExplicitlyDefined="true" clrType="System.Text.Encoding, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.Text.UTF8Encoding</serializedValue>
+ </property>
+ <property path="/transferMode" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.TransferMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>Buffered</serializedValue>
+ </property>
+ <property path="/useDefaultWebProxy" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>True</serializedValue>
+ </property>
+ </properties>
+ </bindingConfiguration>
+ <bindingConfiguration bindingType="basicHttpBinding" name="PolicyServicePortBinding">
+ <properties>
+ <property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>PolicyServicePortBinding</serializedValue>
+ </property>
+ <property path="/closeTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>00:01:00</serializedValue>
+ </property>
+ <property path="/openTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>00:01:00</serializedValue>
+ </property>
+ <property path="/receiveTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>00:10:00</serializedValue>
+ </property>
+ <property path="/sendTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>00:01:00</serializedValue>
+ </property>
+ <property path="/allowCookies" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>False</serializedValue>
+ </property>
+ <property path="/bypassProxyOnLocal" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>False</serializedValue>
+ </property>
+ <property path="/hostNameComparisonMode" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.HostNameComparisonMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>StrongWildcard</serializedValue>
+ </property>
+ <property path="/maxBufferSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>65536</serializedValue>
+ </property>
+ <property path="/maxBufferPoolSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>524288</serializedValue>
+ </property>
+ <property path="/maxReceivedMessageSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>65536</serializedValue>
+ </property>
+ <property path="/messageEncoding" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.WSMessageEncoding, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>Text</serializedValue>
+ </property>
+ <property path="/proxyAddress" isComplexType="false" isExplicitlyDefined="false" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/readerQuotas" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement</serializedValue>
+ </property>
+ <property path="/readerQuotas/maxDepth" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>32</serializedValue>
+ </property>
+ <property path="/readerQuotas/maxStringContentLength" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>8192</serializedValue>
+ </property>
+ <property path="/readerQuotas/maxArrayLength" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>16384</serializedValue>
+ </property>
+ <property path="/readerQuotas/maxBytesPerRead" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>4096</serializedValue>
+ </property>
+ <property path="/readerQuotas/maxNameTableCharCount" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>16384</serializedValue>
+ </property>
+ <property path="/security" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.BasicHttpSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.BasicHttpSecurityElement</serializedValue>
+ </property>
+ <property path="/security/mode" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.BasicHttpSecurityMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>None</serializedValue>
+ </property>
+ <property path="/security/transport" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.HttpTransportSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.HttpTransportSecurityElement</serializedValue>
+ </property>
+ <property path="/security/transport/clientCredentialType" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.HttpClientCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>None</serializedValue>
+ </property>
+ <property path="/security/transport/proxyCredentialType" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.HttpProxyCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>None</serializedValue>
+ </property>
+ <property path="/security/transport/extendedProtectionPolicy" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement</serializedValue>
+ </property>
+ <property path="/security/transport/extendedProtectionPolicy/policyEnforcement" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.PolicyEnforcement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>Never</serializedValue>
+ </property>
+ <property path="/security/transport/extendedProtectionPolicy/protectionScenario" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.ProtectionScenario, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>TransportSelected</serializedValue>
+ </property>
+ <property path="/security/transport/extendedProtectionPolicy/customServiceNames" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ServiceNameElementCollection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>(Collection)</serializedValue>
+ </property>
+ <property path="/security/transport/realm" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/security/message" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.BasicHttpMessageSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.BasicHttpMessageSecurityElement</serializedValue>
+ </property>
+ <property path="/security/message/clientCredentialType" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.BasicHttpMessageCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>UserName</serializedValue>
+ </property>
+ <property path="/security/message/algorithmSuite" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.Security.SecurityAlgorithmSuite, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>Default</serializedValue>
+ </property>
+ <property path="/textEncoding" isComplexType="false" isExplicitlyDefined="true" clrType="System.Text.Encoding, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.Text.UTF8Encoding</serializedValue>
+ </property>
+ <property path="/transferMode" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.TransferMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>Buffered</serializedValue>
+ </property>
+ <property path="/useDefaultWebProxy" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>True</serializedValue>
+ </property>
+ </properties>
+ </bindingConfiguration>
+ <bindingConfiguration bindingType="basicHttpBinding" name="RelationshipServicePortBinding">
+ <properties>
+ <property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>RelationshipServicePortBinding</serializedValue>
+ </property>
+ <property path="/closeTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>00:01:00</serializedValue>
+ </property>
+ <property path="/openTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>00:01:00</serializedValue>
+ </property>
+ <property path="/receiveTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>00:10:00</serializedValue>
+ </property>
+ <property path="/sendTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>00:01:00</serializedValue>
+ </property>
+ <property path="/allowCookies" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>False</serializedValue>
+ </property>
+ <property path="/bypassProxyOnLocal" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>False</serializedValue>
+ </property>
+ <property path="/hostNameComparisonMode" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.HostNameComparisonMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>StrongWildcard</serializedValue>
+ </property>
+ <property path="/maxBufferSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>65536</serializedValue>
+ </property>
+ <property path="/maxBufferPoolSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>524288</serializedValue>
+ </property>
+ <property path="/maxReceivedMessageSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>65536</serializedValue>
+ </property>
+ <property path="/messageEncoding" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.WSMessageEncoding, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>Text</serializedValue>
+ </property>
+ <property path="/proxyAddress" isComplexType="false" isExplicitlyDefined="false" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/readerQuotas" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement</serializedValue>
+ </property>
+ <property path="/readerQuotas/maxDepth" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>32</serializedValue>
+ </property>
+ <property path="/readerQuotas/maxStringContentLength" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>8192</serializedValue>
+ </property>
+ <property path="/readerQuotas/maxArrayLength" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>16384</serializedValue>
+ </property>
+ <property path="/readerQuotas/maxBytesPerRead" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>4096</serializedValue>
+ </property>
+ <property path="/readerQuotas/maxNameTableCharCount" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>16384</serializedValue>
+ </property>
+ <property path="/security" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.BasicHttpSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.BasicHttpSecurityElement</serializedValue>
+ </property>
+ <property path="/security/mode" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.BasicHttpSecurityMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>None</serializedValue>
+ </property>
+ <property path="/security/transport" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.HttpTransportSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.HttpTransportSecurityElement</serializedValue>
+ </property>
+ <property path="/security/transport/clientCredentialType" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.HttpClientCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>None</serializedValue>
+ </property>
+ <property path="/security/transport/proxyCredentialType" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.HttpProxyCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>None</serializedValue>
+ </property>
+ <property path="/security/transport/extendedProtectionPolicy" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement</serializedValue>
+ </property>
+ <property path="/security/transport/extendedProtectionPolicy/policyEnforcement" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.PolicyEnforcement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>Never</serializedValue>
+ </property>
+ <property path="/security/transport/extendedProtectionPolicy/protectionScenario" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.ProtectionScenario, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>TransportSelected</serializedValue>
+ </property>
+ <property path="/security/transport/extendedProtectionPolicy/customServiceNames" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ServiceNameElementCollection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>(Collection)</serializedValue>
+ </property>
+ <property path="/security/transport/realm" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/security/message" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.BasicHttpMessageSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.BasicHttpMessageSecurityElement</serializedValue>
+ </property>
+ <property path="/security/message/clientCredentialType" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.BasicHttpMessageCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>UserName</serializedValue>
+ </property>
+ <property path="/security/message/algorithmSuite" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.Security.SecurityAlgorithmSuite, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>Default</serializedValue>
+ </property>
+ <property path="/textEncoding" isComplexType="false" isExplicitlyDefined="true" clrType="System.Text.Encoding, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.Text.UTF8Encoding</serializedValue>
+ </property>
+ <property path="/transferMode" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.TransferMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>Buffered</serializedValue>
+ </property>
+ <property path="/useDefaultWebProxy" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>True</serializedValue>
+ </property>
+ </properties>
+ </bindingConfiguration>
+ <bindingConfiguration bindingType="basicHttpBinding" name="RepositoryServicePortBinding">
+ <properties>
+ <property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>RepositoryServicePortBinding</serializedValue>
+ </property>
+ <property path="/closeTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>00:01:00</serializedValue>
+ </property>
+ <property path="/openTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>00:01:00</serializedValue>
+ </property>
+ <property path="/receiveTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>00:10:00</serializedValue>
+ </property>
+ <property path="/sendTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>00:01:00</serializedValue>
+ </property>
+ <property path="/allowCookies" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>False</serializedValue>
+ </property>
+ <property path="/bypassProxyOnLocal" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>False</serializedValue>
+ </property>
+ <property path="/hostNameComparisonMode" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.HostNameComparisonMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>StrongWildcard</serializedValue>
+ </property>
+ <property path="/maxBufferSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>65536</serializedValue>
+ </property>
+ <property path="/maxBufferPoolSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>524288</serializedValue>
+ </property>
+ <property path="/maxReceivedMessageSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>65536</serializedValue>
+ </property>
+ <property path="/messageEncoding" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.WSMessageEncoding, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>Text</serializedValue>
+ </property>
+ <property path="/proxyAddress" isComplexType="false" isExplicitlyDefined="false" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/readerQuotas" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement</serializedValue>
+ </property>
+ <property path="/readerQuotas/maxDepth" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>32</serializedValue>
+ </property>
+ <property path="/readerQuotas/maxStringContentLength" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>8192</serializedValue>
+ </property>
+ <property path="/readerQuotas/maxArrayLength" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>16384</serializedValue>
+ </property>
+ <property path="/readerQuotas/maxBytesPerRead" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>4096</serializedValue>
+ </property>
+ <property path="/readerQuotas/maxNameTableCharCount" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>16384</serializedValue>
+ </property>
+ <property path="/security" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.BasicHttpSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.BasicHttpSecurityElement</serializedValue>
+ </property>
+ <property path="/security/mode" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.BasicHttpSecurityMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>None</serializedValue>
+ </property>
+ <property path="/security/transport" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.HttpTransportSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.HttpTransportSecurityElement</serializedValue>
+ </property>
+ <property path="/security/transport/clientCredentialType" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.HttpClientCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>None</serializedValue>
+ </property>
+ <property path="/security/transport/proxyCredentialType" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.HttpProxyCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>None</serializedValue>
+ </property>
+ <property path="/security/transport/extendedProtectionPolicy" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement</serializedValue>
+ </property>
+ <property path="/security/transport/extendedProtectionPolicy/policyEnforcement" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.PolicyEnforcement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>Never</serializedValue>
+ </property>
+ <property path="/security/transport/extendedProtectionPolicy/protectionScenario" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.ProtectionScenario, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>TransportSelected</serializedValue>
+ </property>
+ <property path="/security/transport/extendedProtectionPolicy/customServiceNames" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ServiceNameElementCollection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>(Collection)</serializedValue>
+ </property>
+ <property path="/security/transport/realm" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/security/message" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.BasicHttpMessageSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.BasicHttpMessageSecurityElement</serializedValue>
+ </property>
+ <property path="/security/message/clientCredentialType" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.BasicHttpMessageCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>UserName</serializedValue>
+ </property>
+ <property path="/security/message/algorithmSuite" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.Security.SecurityAlgorithmSuite, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>Default</serializedValue>
+ </property>
+ <property path="/textEncoding" isComplexType="false" isExplicitlyDefined="true" clrType="System.Text.Encoding, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.Text.UTF8Encoding</serializedValue>
+ </property>
+ <property path="/transferMode" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.TransferMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>Buffered</serializedValue>
+ </property>
+ <property path="/useDefaultWebProxy" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>True</serializedValue>
+ </property>
+ </properties>
+ </bindingConfiguration>
+ <bindingConfiguration bindingType="basicHttpBinding" name="VersioningServicePortBinding">
+ <properties>
+ <property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>VersioningServicePortBinding</serializedValue>
+ </property>
+ <property path="/closeTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>00:01:00</serializedValue>
+ </property>
+ <property path="/openTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>00:01:00</serializedValue>
+ </property>
+ <property path="/receiveTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>00:10:00</serializedValue>
+ </property>
+ <property path="/sendTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>00:01:00</serializedValue>
+ </property>
+ <property path="/allowCookies" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>False</serializedValue>
+ </property>
+ <property path="/bypassProxyOnLocal" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>False</serializedValue>
+ </property>
+ <property path="/hostNameComparisonMode" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.HostNameComparisonMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>StrongWildcard</serializedValue>
+ </property>
+ <property path="/maxBufferSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>65536</serializedValue>
+ </property>
+ <property path="/maxBufferPoolSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>524288</serializedValue>
+ </property>
+ <property path="/maxReceivedMessageSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>65536</serializedValue>
+ </property>
+ <property path="/messageEncoding" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.WSMessageEncoding, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>Text</serializedValue>
+ </property>
+ <property path="/proxyAddress" isComplexType="false" isExplicitlyDefined="false" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/readerQuotas" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement</serializedValue>
+ </property>
+ <property path="/readerQuotas/maxDepth" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>32</serializedValue>
+ </property>
+ <property path="/readerQuotas/maxStringContentLength" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>8192</serializedValue>
+ </property>
+ <property path="/readerQuotas/maxArrayLength" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>16384</serializedValue>
+ </property>
+ <property path="/readerQuotas/maxBytesPerRead" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>4096</serializedValue>
+ </property>
+ <property path="/readerQuotas/maxNameTableCharCount" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>16384</serializedValue>
+ </property>
+ <property path="/security" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.BasicHttpSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.BasicHttpSecurityElement</serializedValue>
+ </property>
+ <property path="/security/mode" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.BasicHttpSecurityMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>None</serializedValue>
+ </property>
+ <property path="/security/transport" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.HttpTransportSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.HttpTransportSecurityElement</serializedValue>
+ </property>
+ <property path="/security/transport/clientCredentialType" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.HttpClientCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>None</serializedValue>
+ </property>
+ <property path="/security/transport/proxyCredentialType" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.HttpProxyCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>None</serializedValue>
+ </property>
+ <property path="/security/transport/extendedProtectionPolicy" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement</serializedValue>
+ </property>
+ <property path="/security/transport/extendedProtectionPolicy/policyEnforcement" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.PolicyEnforcement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>Never</serializedValue>
+ </property>
+ <property path="/security/transport/extendedProtectionPolicy/protectionScenario" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.ProtectionScenario, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>TransportSelected</serializedValue>
+ </property>
+ <property path="/security/transport/extendedProtectionPolicy/customServiceNames" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ServiceNameElementCollection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>(Collection)</serializedValue>
+ </property>
+ <property path="/security/transport/realm" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/security/message" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.BasicHttpMessageSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.BasicHttpMessageSecurityElement</serializedValue>
+ </property>
+ <property path="/security/message/clientCredentialType" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.BasicHttpMessageCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>UserName</serializedValue>
+ </property>
+ <property path="/security/message/algorithmSuite" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.Security.SecurityAlgorithmSuite, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>Default</serializedValue>
+ </property>
+ <property path="/textEncoding" isComplexType="false" isExplicitlyDefined="true" clrType="System.Text.Encoding, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.Text.UTF8Encoding</serializedValue>
+ </property>
+ <property path="/transferMode" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.TransferMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>Buffered</serializedValue>
+ </property>
+ <property path="/useDefaultWebProxy" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>True</serializedValue>
+ </property>
+ </properties>
+ </bindingConfiguration>
+ <bindingConfiguration bindingType="basicHttpBinding" name="ACLServicePortBinding">
+ <properties>
+ <property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>ACLServicePortBinding</serializedValue>
+ </property>
+ <property path="/closeTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>00:01:00</serializedValue>
+ </property>
+ <property path="/openTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>00:01:00</serializedValue>
+ </property>
+ <property path="/receiveTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>00:10:00</serializedValue>
+ </property>
+ <property path="/sendTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>00:01:00</serializedValue>
+ </property>
+ <property path="/allowCookies" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>False</serializedValue>
+ </property>
+ <property path="/bypassProxyOnLocal" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>False</serializedValue>
+ </property>
+ <property path="/hostNameComparisonMode" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.HostNameComparisonMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>StrongWildcard</serializedValue>
+ </property>
+ <property path="/maxBufferSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>65536</serializedValue>
+ </property>
+ <property path="/maxBufferPoolSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>524288</serializedValue>
+ </property>
+ <property path="/maxReceivedMessageSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>65536</serializedValue>
+ </property>
+ <property path="/messageEncoding" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.WSMessageEncoding, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>Text</serializedValue>
+ </property>
+ <property path="/proxyAddress" isComplexType="false" isExplicitlyDefined="false" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/readerQuotas" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement</serializedValue>
+ </property>
+ <property path="/readerQuotas/maxDepth" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>32</serializedValue>
+ </property>
+ <property path="/readerQuotas/maxStringContentLength" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>8192</serializedValue>
+ </property>
+ <property path="/readerQuotas/maxArrayLength" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>16384</serializedValue>
+ </property>
+ <property path="/readerQuotas/maxBytesPerRead" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>4096</serializedValue>
+ </property>
+ <property path="/readerQuotas/maxNameTableCharCount" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>16384</serializedValue>
+ </property>
+ <property path="/security" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.BasicHttpSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.BasicHttpSecurityElement</serializedValue>
+ </property>
+ <property path="/security/mode" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.BasicHttpSecurityMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>None</serializedValue>
+ </property>
+ <property path="/security/transport" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.HttpTransportSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.HttpTransportSecurityElement</serializedValue>
+ </property>
+ <property path="/security/transport/clientCredentialType" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.HttpClientCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>None</serializedValue>
+ </property>
+ <property path="/security/transport/proxyCredentialType" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.HttpProxyCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>None</serializedValue>
+ </property>
+ <property path="/security/transport/extendedProtectionPolicy" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement</serializedValue>
+ </property>
+ <property path="/security/transport/extendedProtectionPolicy/policyEnforcement" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.PolicyEnforcement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>Never</serializedValue>
+ </property>
+ <property path="/security/transport/extendedProtectionPolicy/protectionScenario" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.ProtectionScenario, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>TransportSelected</serializedValue>
+ </property>
+ <property path="/security/transport/extendedProtectionPolicy/customServiceNames" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ServiceNameElementCollection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>(Collection)</serializedValue>
+ </property>
+ <property path="/security/transport/realm" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/security/message" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.BasicHttpMessageSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.BasicHttpMessageSecurityElement</serializedValue>
+ </property>
+ <property path="/security/message/clientCredentialType" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.BasicHttpMessageCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>UserName</serializedValue>
+ </property>
+ <property path="/security/message/algorithmSuite" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.Security.SecurityAlgorithmSuite, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>Default</serializedValue>
+ </property>
+ <property path="/textEncoding" isComplexType="false" isExplicitlyDefined="true" clrType="System.Text.Encoding, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.Text.UTF8Encoding</serializedValue>
+ </property>
+ <property path="/transferMode" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.TransferMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>Buffered</serializedValue>
+ </property>
+ <property path="/useDefaultWebProxy" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>True</serializedValue>
+ </property>
+ </properties>
+ </bindingConfiguration>
+ </bindingConfigurations>
+ <endpoints>
+ <endpoint name="DiscoveryServicePort" contract="CMISWebServicesReference.DiscoveryServicePort" bindingType="basicHttpBinding" address="http://cmis/services/DiscoveryService.DiscoveryServicePort" bindingConfiguration="DiscoveryServicePortBinding">
+ <properties>
+ <property path="/address" isComplexType="false" isExplicitlyDefined="true" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>http://cmis/services/DiscoveryService.DiscoveryServicePort</serializedValue>
+ </property>
+ <property path="/behaviorConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/binding" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>basicHttpBinding</serializedValue>
+ </property>
+ <property path="/bindingConfiguration" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>DiscoveryServicePortBinding</serializedValue>
+ </property>
+ <property path="/contract" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>CMISWebServicesReference.DiscoveryServicePort</serializedValue>
+ </property>
+ <property path="/headers" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.AddressHeaderCollectionElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.AddressHeaderCollectionElement</serializedValue>
+ </property>
+ <property path="/headers/headers" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.Channels.AddressHeaderCollection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue><Header /></serializedValue>
+ </property>
+ <property path="/identity" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.IdentityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.IdentityElement</serializedValue>
+ </property>
+ <property path="/identity/userPrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.UserPrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.UserPrincipalNameElement</serializedValue>
+ </property>
+ <property path="/identity/userPrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/servicePrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.ServicePrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.ServicePrincipalNameElement</serializedValue>
+ </property>
+ <property path="/identity/servicePrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/dns" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.DnsElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.DnsElement</serializedValue>
+ </property>
+ <property path="/identity/dns/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/rsa" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.RsaElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.RsaElement</serializedValue>
+ </property>
+ <property path="/identity/rsa/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/certificate" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.CertificateElement</serializedValue>
+ </property>
+ <property path="/identity/certificate/encodedValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/certificateReference" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateReferenceElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.CertificateReferenceElement</serializedValue>
+ </property>
+ <property path="/identity/certificateReference/storeName" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreName, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>My</serializedValue>
+ </property>
+ <property path="/identity/certificateReference/storeLocation" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreLocation, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>LocalMachine</serializedValue>
+ </property>
+ <property path="/identity/certificateReference/x509FindType" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.X509FindType, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>FindBySubjectDistinguishedName</serializedValue>
+ </property>
+ <property path="/identity/certificateReference/findValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/certificateReference/isChainIncluded" isComplexType="false" isExplicitlyDefined="false" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>False</serializedValue>
+ </property>
+ <property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>DiscoveryServicePort</serializedValue>
+ </property>
+ <property path="/kind" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/endpointConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ </properties>
+ </endpoint>
+ <endpoint name="MultiFilingServicePort" contract="CMISWebServicesReference.MultiFilingServicePort" bindingType="basicHttpBinding" address="http://cmis/services/MultiFilingService.MultiFilingServicePort" bindingConfiguration="MultiFilingServicePortBinding">
+ <properties>
+ <property path="/address" isComplexType="false" isExplicitlyDefined="true" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>http://cmis/services/MultiFilingService.MultiFilingServicePort</serializedValue>
+ </property>
+ <property path="/behaviorConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/binding" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>basicHttpBinding</serializedValue>
+ </property>
+ <property path="/bindingConfiguration" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>MultiFilingServicePortBinding</serializedValue>
+ </property>
+ <property path="/contract" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>CMISWebServicesReference.MultiFilingServicePort</serializedValue>
+ </property>
+ <property path="/headers" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.AddressHeaderCollectionElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.AddressHeaderCollectionElement</serializedValue>
+ </property>
+ <property path="/headers/headers" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.Channels.AddressHeaderCollection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue><Header /></serializedValue>
+ </property>
+ <property path="/identity" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.IdentityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.IdentityElement</serializedValue>
+ </property>
+ <property path="/identity/userPrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.UserPrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.UserPrincipalNameElement</serializedValue>
+ </property>
+ <property path="/identity/userPrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/servicePrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.ServicePrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.ServicePrincipalNameElement</serializedValue>
+ </property>
+ <property path="/identity/servicePrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/dns" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.DnsElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.DnsElement</serializedValue>
+ </property>
+ <property path="/identity/dns/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/rsa" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.RsaElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.RsaElement</serializedValue>
+ </property>
+ <property path="/identity/rsa/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/certificate" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.CertificateElement</serializedValue>
+ </property>
+ <property path="/identity/certificate/encodedValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/certificateReference" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateReferenceElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.CertificateReferenceElement</serializedValue>
+ </property>
+ <property path="/identity/certificateReference/storeName" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreName, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>My</serializedValue>
+ </property>
+ <property path="/identity/certificateReference/storeLocation" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreLocation, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>LocalMachine</serializedValue>
+ </property>
+ <property path="/identity/certificateReference/x509FindType" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.X509FindType, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>FindBySubjectDistinguishedName</serializedValue>
+ </property>
+ <property path="/identity/certificateReference/findValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/certificateReference/isChainIncluded" isComplexType="false" isExplicitlyDefined="false" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>False</serializedValue>
+ </property>
+ <property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>MultiFilingServicePort</serializedValue>
+ </property>
+ <property path="/kind" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/endpointConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ </properties>
+ </endpoint>
+ <endpoint name="NavigationServicePort" contract="CMISWebServicesReference.NavigationServicePort" bindingType="basicHttpBinding" address="http://cmis/services/NavigationService.NavigationServicePort" bindingConfiguration="NavigationServicePortBinding">
+ <properties>
+ <property path="/address" isComplexType="false" isExplicitlyDefined="true" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>http://cmis/services/NavigationService.NavigationServicePort</serializedValue>
+ </property>
+ <property path="/behaviorConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/binding" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>basicHttpBinding</serializedValue>
+ </property>
+ <property path="/bindingConfiguration" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>NavigationServicePortBinding</serializedValue>
+ </property>
+ <property path="/contract" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>CMISWebServicesReference.NavigationServicePort</serializedValue>
+ </property>
+ <property path="/headers" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.AddressHeaderCollectionElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.AddressHeaderCollectionElement</serializedValue>
+ </property>
+ <property path="/headers/headers" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.Channels.AddressHeaderCollection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue><Header /></serializedValue>
+ </property>
+ <property path="/identity" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.IdentityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.IdentityElement</serializedValue>
+ </property>
+ <property path="/identity/userPrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.UserPrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.UserPrincipalNameElement</serializedValue>
+ </property>
+ <property path="/identity/userPrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/servicePrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.ServicePrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.ServicePrincipalNameElement</serializedValue>
+ </property>
+ <property path="/identity/servicePrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/dns" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.DnsElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.DnsElement</serializedValue>
+ </property>
+ <property path="/identity/dns/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/rsa" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.RsaElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.RsaElement</serializedValue>
+ </property>
+ <property path="/identity/rsa/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/certificate" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.CertificateElement</serializedValue>
+ </property>
+ <property path="/identity/certificate/encodedValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/certificateReference" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateReferenceElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.CertificateReferenceElement</serializedValue>
+ </property>
+ <property path="/identity/certificateReference/storeName" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreName, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>My</serializedValue>
+ </property>
+ <property path="/identity/certificateReference/storeLocation" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreLocation, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>LocalMachine</serializedValue>
+ </property>
+ <property path="/identity/certificateReference/x509FindType" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.X509FindType, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>FindBySubjectDistinguishedName</serializedValue>
+ </property>
+ <property path="/identity/certificateReference/findValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/certificateReference/isChainIncluded" isComplexType="false" isExplicitlyDefined="false" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>False</serializedValue>
+ </property>
+ <property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>NavigationServicePort</serializedValue>
+ </property>
+ <property path="/kind" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/endpointConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ </properties>
+ </endpoint>
+ <endpoint name="ObjectServicePort" contract="CMISWebServicesReference.ObjectServicePort" bindingType="basicHttpBinding" address="http://cmis/services/ObjectService.ObjectServicePort" bindingConfiguration="ObjectServicePortBinding">
+ <properties>
+ <property path="/address" isComplexType="false" isExplicitlyDefined="true" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>http://cmis/services/ObjectService.ObjectServicePort</serializedValue>
+ </property>
+ <property path="/behaviorConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/binding" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>basicHttpBinding</serializedValue>
+ </property>
+ <property path="/bindingConfiguration" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>ObjectServicePortBinding</serializedValue>
+ </property>
+ <property path="/contract" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>CMISWebServicesReference.ObjectServicePort</serializedValue>
+ </property>
+ <property path="/headers" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.AddressHeaderCollectionElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.AddressHeaderCollectionElement</serializedValue>
+ </property>
+ <property path="/headers/headers" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.Channels.AddressHeaderCollection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue><Header /></serializedValue>
+ </property>
+ <property path="/identity" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.IdentityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.IdentityElement</serializedValue>
+ </property>
+ <property path="/identity/userPrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.UserPrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.UserPrincipalNameElement</serializedValue>
+ </property>
+ <property path="/identity/userPrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/servicePrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.ServicePrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.ServicePrincipalNameElement</serializedValue>
+ </property>
+ <property path="/identity/servicePrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/dns" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.DnsElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.DnsElement</serializedValue>
+ </property>
+ <property path="/identity/dns/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/rsa" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.RsaElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.RsaElement</serializedValue>
+ </property>
+ <property path="/identity/rsa/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/certificate" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.CertificateElement</serializedValue>
+ </property>
+ <property path="/identity/certificate/encodedValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/certificateReference" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateReferenceElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.CertificateReferenceElement</serializedValue>
+ </property>
+ <property path="/identity/certificateReference/storeName" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreName, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>My</serializedValue>
+ </property>
+ <property path="/identity/certificateReference/storeLocation" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreLocation, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>LocalMachine</serializedValue>
+ </property>
+ <property path="/identity/certificateReference/x509FindType" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.X509FindType, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>FindBySubjectDistinguishedName</serializedValue>
+ </property>
+ <property path="/identity/certificateReference/findValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/certificateReference/isChainIncluded" isComplexType="false" isExplicitlyDefined="false" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>False</serializedValue>
+ </property>
+ <property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>ObjectServicePort</serializedValue>
+ </property>
+ <property path="/kind" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/endpointConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ </properties>
+ </endpoint>
+ <endpoint name="PolicyServicePort" contract="CMISWebServicesReference.PolicyServicePort" bindingType="basicHttpBinding" address="http://cmis/services/PolicyService.PolicyServicePort" bindingConfiguration="PolicyServicePortBinding">
+ <properties>
+ <property path="/address" isComplexType="false" isExplicitlyDefined="true" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>http://cmis/services/PolicyService.PolicyServicePort</serializedValue>
+ </property>
+ <property path="/behaviorConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/binding" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>basicHttpBinding</serializedValue>
+ </property>
+ <property path="/bindingConfiguration" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>PolicyServicePortBinding</serializedValue>
+ </property>
+ <property path="/contract" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>CMISWebServicesReference.PolicyServicePort</serializedValue>
+ </property>
+ <property path="/headers" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.AddressHeaderCollectionElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.AddressHeaderCollectionElement</serializedValue>
+ </property>
+ <property path="/headers/headers" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.Channels.AddressHeaderCollection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue><Header /></serializedValue>
+ </property>
+ <property path="/identity" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.IdentityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.IdentityElement</serializedValue>
+ </property>
+ <property path="/identity/userPrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.UserPrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.UserPrincipalNameElement</serializedValue>
+ </property>
+ <property path="/identity/userPrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/servicePrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.ServicePrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.ServicePrincipalNameElement</serializedValue>
+ </property>
+ <property path="/identity/servicePrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/dns" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.DnsElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.DnsElement</serializedValue>
+ </property>
+ <property path="/identity/dns/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/rsa" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.RsaElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.RsaElement</serializedValue>
+ </property>
+ <property path="/identity/rsa/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/certificate" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.CertificateElement</serializedValue>
+ </property>
+ <property path="/identity/certificate/encodedValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/certificateReference" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateReferenceElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.CertificateReferenceElement</serializedValue>
+ </property>
+ <property path="/identity/certificateReference/storeName" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreName, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>My</serializedValue>
+ </property>
+ <property path="/identity/certificateReference/storeLocation" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreLocation, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>LocalMachine</serializedValue>
+ </property>
+ <property path="/identity/certificateReference/x509FindType" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.X509FindType, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>FindBySubjectDistinguishedName</serializedValue>
+ </property>
+ <property path="/identity/certificateReference/findValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/certificateReference/isChainIncluded" isComplexType="false" isExplicitlyDefined="false" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>False</serializedValue>
+ </property>
+ <property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>PolicyServicePort</serializedValue>
+ </property>
+ <property path="/kind" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/endpointConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ </properties>
+ </endpoint>
+ <endpoint name="RelationshipServicePort" contract="CMISWebServicesReference.RelationshipServicePort" bindingType="basicHttpBinding" address="http://cmis/services/RelationshipService.RelationshipServicePort" bindingConfiguration="RelationshipServicePortBinding">
+ <properties>
+ <property path="/address" isComplexType="false" isExplicitlyDefined="true" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>http://cmis/services/RelationshipService.RelationshipServicePort</serializedValue>
+ </property>
+ <property path="/behaviorConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/binding" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>basicHttpBinding</serializedValue>
+ </property>
+ <property path="/bindingConfiguration" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>RelationshipServicePortBinding</serializedValue>
+ </property>
+ <property path="/contract" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>CMISWebServicesReference.RelationshipServicePort</serializedValue>
+ </property>
+ <property path="/headers" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.AddressHeaderCollectionElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.AddressHeaderCollectionElement</serializedValue>
+ </property>
+ <property path="/headers/headers" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.Channels.AddressHeaderCollection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue><Header /></serializedValue>
+ </property>
+ <property path="/identity" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.IdentityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.IdentityElement</serializedValue>
+ </property>
+ <property path="/identity/userPrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.UserPrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.UserPrincipalNameElement</serializedValue>
+ </property>
+ <property path="/identity/userPrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/servicePrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.ServicePrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.ServicePrincipalNameElement</serializedValue>
+ </property>
+ <property path="/identity/servicePrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/dns" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.DnsElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.DnsElement</serializedValue>
+ </property>
+ <property path="/identity/dns/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/rsa" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.RsaElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.RsaElement</serializedValue>
+ </property>
+ <property path="/identity/rsa/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/certificate" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.CertificateElement</serializedValue>
+ </property>
+ <property path="/identity/certificate/encodedValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/certificateReference" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateReferenceElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.CertificateReferenceElement</serializedValue>
+ </property>
+ <property path="/identity/certificateReference/storeName" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreName, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>My</serializedValue>
+ </property>
+ <property path="/identity/certificateReference/storeLocation" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreLocation, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>LocalMachine</serializedValue>
+ </property>
+ <property path="/identity/certificateReference/x509FindType" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.X509FindType, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>FindBySubjectDistinguishedName</serializedValue>
+ </property>
+ <property path="/identity/certificateReference/findValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/certificateReference/isChainIncluded" isComplexType="false" isExplicitlyDefined="false" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>False</serializedValue>
+ </property>
+ <property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>RelationshipServicePort</serializedValue>
+ </property>
+ <property path="/kind" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/endpointConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ </properties>
+ </endpoint>
+ <endpoint name="RepositoryServicePort" contract="CMISWebServicesReference.RepositoryServicePort" bindingType="basicHttpBinding" address="http://cmis/services/RepositoryService.RepositoryServicePort" bindingConfiguration="RepositoryServicePortBinding">
+ <properties>
+ <property path="/address" isComplexType="false" isExplicitlyDefined="true" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>http://cmis/services/RepositoryService.RepositoryServicePort</serializedValue>
+ </property>
+ <property path="/behaviorConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/binding" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>basicHttpBinding</serializedValue>
+ </property>
+ <property path="/bindingConfiguration" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>RepositoryServicePortBinding</serializedValue>
+ </property>
+ <property path="/contract" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>CMISWebServicesReference.RepositoryServicePort</serializedValue>
+ </property>
+ <property path="/headers" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.AddressHeaderCollectionElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.AddressHeaderCollectionElement</serializedValue>
+ </property>
+ <property path="/headers/headers" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.Channels.AddressHeaderCollection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue><Header /></serializedValue>
+ </property>
+ <property path="/identity" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.IdentityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.IdentityElement</serializedValue>
+ </property>
+ <property path="/identity/userPrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.UserPrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.UserPrincipalNameElement</serializedValue>
+ </property>
+ <property path="/identity/userPrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/servicePrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.ServicePrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.ServicePrincipalNameElement</serializedValue>
+ </property>
+ <property path="/identity/servicePrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/dns" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.DnsElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.DnsElement</serializedValue>
+ </property>
+ <property path="/identity/dns/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/rsa" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.RsaElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.RsaElement</serializedValue>
+ </property>
+ <property path="/identity/rsa/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/certificate" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.CertificateElement</serializedValue>
+ </property>
+ <property path="/identity/certificate/encodedValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/certificateReference" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateReferenceElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.CertificateReferenceElement</serializedValue>
+ </property>
+ <property path="/identity/certificateReference/storeName" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreName, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>My</serializedValue>
+ </property>
+ <property path="/identity/certificateReference/storeLocation" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreLocation, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>LocalMachine</serializedValue>
+ </property>
+ <property path="/identity/certificateReference/x509FindType" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.X509FindType, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>FindBySubjectDistinguishedName</serializedValue>
+ </property>
+ <property path="/identity/certificateReference/findValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/certificateReference/isChainIncluded" isComplexType="false" isExplicitlyDefined="false" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>False</serializedValue>
+ </property>
+ <property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>RepositoryServicePort</serializedValue>
+ </property>
+ <property path="/kind" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/endpointConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ </properties>
+ </endpoint>
+ <endpoint name="VersioningServicePort" contract="CMISWebServicesReference.VersioningServicePort" bindingType="basicHttpBinding" address="http://cmis/services/VersioningService.VersioningServicePort" bindingConfiguration="VersioningServicePortBinding">
+ <properties>
+ <property path="/address" isComplexType="false" isExplicitlyDefined="true" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>http://cmis/services/VersioningService.VersioningServicePort</serializedValue>
+ </property>
+ <property path="/behaviorConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/binding" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>basicHttpBinding</serializedValue>
+ </property>
+ <property path="/bindingConfiguration" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>VersioningServicePortBinding</serializedValue>
+ </property>
+ <property path="/contract" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>CMISWebServicesReference.VersioningServicePort</serializedValue>
+ </property>
+ <property path="/headers" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.AddressHeaderCollectionElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.AddressHeaderCollectionElement</serializedValue>
+ </property>
+ <property path="/headers/headers" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.Channels.AddressHeaderCollection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue><Header /></serializedValue>
+ </property>
+ <property path="/identity" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.IdentityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.IdentityElement</serializedValue>
+ </property>
+ <property path="/identity/userPrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.UserPrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.UserPrincipalNameElement</serializedValue>
+ </property>
+ <property path="/identity/userPrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/servicePrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.ServicePrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.ServicePrincipalNameElement</serializedValue>
+ </property>
+ <property path="/identity/servicePrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/dns" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.DnsElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.DnsElement</serializedValue>
+ </property>
+ <property path="/identity/dns/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/rsa" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.RsaElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.RsaElement</serializedValue>
+ </property>
+ <property path="/identity/rsa/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/certificate" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.CertificateElement</serializedValue>
+ </property>
+ <property path="/identity/certificate/encodedValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/certificateReference" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateReferenceElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.CertificateReferenceElement</serializedValue>
+ </property>
+ <property path="/identity/certificateReference/storeName" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreName, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>My</serializedValue>
+ </property>
+ <property path="/identity/certificateReference/storeLocation" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreLocation, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>LocalMachine</serializedValue>
+ </property>
+ <property path="/identity/certificateReference/x509FindType" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.X509FindType, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>FindBySubjectDistinguishedName</serializedValue>
+ </property>
+ <property path="/identity/certificateReference/findValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/certificateReference/isChainIncluded" isComplexType="false" isExplicitlyDefined="false" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>False</serializedValue>
+ </property>
+ <property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>VersioningServicePort</serializedValue>
+ </property>
+ <property path="/kind" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/endpointConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ </properties>
+ </endpoint>
+ <endpoint name="ACLServicePort" contract="CMISWebServicesReference.ACLServicePort" bindingType="basicHttpBinding" address="http://cmis/services/ACLService.ACLServicePort" bindingConfiguration="ACLServicePortBinding">
+ <properties>
+ <property path="/address" isComplexType="false" isExplicitlyDefined="true" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>http://cmis/services/ACLService.ACLServicePort</serializedValue>
+ </property>
+ <property path="/behaviorConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/binding" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>basicHttpBinding</serializedValue>
+ </property>
+ <property path="/bindingConfiguration" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>ACLServicePortBinding</serializedValue>
+ </property>
+ <property path="/contract" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>CMISWebServicesReference.ACLServicePort</serializedValue>
+ </property>
+ <property path="/headers" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.AddressHeaderCollectionElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.AddressHeaderCollectionElement</serializedValue>
+ </property>
+ <property path="/headers/headers" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.Channels.AddressHeaderCollection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue><Header /></serializedValue>
+ </property>
+ <property path="/identity" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.IdentityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.IdentityElement</serializedValue>
+ </property>
+ <property path="/identity/userPrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.UserPrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.UserPrincipalNameElement</serializedValue>
+ </property>
+ <property path="/identity/userPrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/servicePrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.ServicePrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.ServicePrincipalNameElement</serializedValue>
+ </property>
+ <property path="/identity/servicePrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/dns" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.DnsElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.DnsElement</serializedValue>
+ </property>
+ <property path="/identity/dns/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/rsa" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.RsaElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.RsaElement</serializedValue>
+ </property>
+ <property path="/identity/rsa/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/certificate" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.CertificateElement</serializedValue>
+ </property>
+ <property path="/identity/certificate/encodedValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/certificateReference" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateReferenceElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>System.ServiceModel.Configuration.CertificateReferenceElement</serializedValue>
+ </property>
+ <property path="/identity/certificateReference/storeName" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreName, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>My</serializedValue>
+ </property>
+ <property path="/identity/certificateReference/storeLocation" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreLocation, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>LocalMachine</serializedValue>
+ </property>
+ <property path="/identity/certificateReference/x509FindType" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.X509FindType, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>FindBySubjectDistinguishedName</serializedValue>
+ </property>
+ <property path="/identity/certificateReference/findValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/identity/certificateReference/isChainIncluded" isComplexType="false" isExplicitlyDefined="false" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>False</serializedValue>
+ </property>
+ <property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue>ACLServicePort</serializedValue>
+ </property>
+ <property path="/kind" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ <property path="/endpointConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
+ <serializedValue />
+ </property>
+ </properties>
+ </endpoint>
+ </endpoints>
+</SavedWcfConfigurationInformation>
\ No newline at end of file
diff --git a/DotCMIS/app.config b/DotCMIS/app.config
new file mode 100644
index 0000000..92ec810
--- /dev/null
+++ b/DotCMIS/app.config
@@ -0,0 +1,169 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+ <system.serviceModel>
+ <bindings>
+ <basicHttpBinding>
+ <binding name="DiscoveryServicePortBinding" closeTimeout="00:01:00"
+ openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
+ allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
+ maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
+ messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
+ useDefaultWebProxy="true">
+ <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
+ maxBytesPerRead="4096" maxNameTableCharCount="16384" />
+ <security mode="None">
+ <transport clientCredentialType="None" proxyCredentialType="None"
+ realm="" />
+ <message clientCredentialType="UserName" algorithmSuite="Default" />
+ </security>
+ </binding>
+ <binding name="MultiFilingServicePortBinding" closeTimeout="00:01:00"
+ openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
+ allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
+ maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
+ messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
+ useDefaultWebProxy="true">
+ <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
+ maxBytesPerRead="4096" maxNameTableCharCount="16384" />
+ <security mode="None">
+ <transport clientCredentialType="None" proxyCredentialType="None"
+ realm="" />
+ <message clientCredentialType="UserName" algorithmSuite="Default" />
+ </security>
+ </binding>
+ <binding name="NavigationServicePortBinding" closeTimeout="00:01:00"
+ openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
+ allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
+ maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
+ messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
+ useDefaultWebProxy="true">
+ <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
+ maxBytesPerRead="4096" maxNameTableCharCount="16384" />
+ <security mode="None">
+ <transport clientCredentialType="None" proxyCredentialType="None"
+ realm="" />
+ <message clientCredentialType="UserName" algorithmSuite="Default" />
+ </security>
+ </binding>
+ <binding name="ObjectServicePortBinding" closeTimeout="00:01:00"
+ openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
+ allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
+ maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
+ messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
+ useDefaultWebProxy="true">
+ <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
+ maxBytesPerRead="4096" maxNameTableCharCount="16384" />
+ <security mode="None">
+ <transport clientCredentialType="None" proxyCredentialType="None"
+ realm="" />
+ <message clientCredentialType="UserName" algorithmSuite="Default" />
+ </security>
+ </binding>
+ <binding name="PolicyServicePortBinding" closeTimeout="00:01:00"
+ openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
+ allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
+ maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
+ messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
+ useDefaultWebProxy="true">
+ <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
+ maxBytesPerRead="4096" maxNameTableCharCount="16384" />
+ <security mode="None">
+ <transport clientCredentialType="None" proxyCredentialType="None"
+ realm="" />
+ <message clientCredentialType="UserName" algorithmSuite="Default" />
+ </security>
+ </binding>
+ <binding name="RelationshipServicePortBinding" closeTimeout="00:01:00"
+ openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
+ allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
+ maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
+ messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
+ useDefaultWebProxy="true">
+ <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
+ maxBytesPerRead="4096" maxNameTableCharCount="16384" />
+ <security mode="None">
+ <transport clientCredentialType="None" proxyCredentialType="None"
+ realm="" />
+ <message clientCredentialType="UserName" algorithmSuite="Default" />
+ </security>
+ </binding>
+ <binding name="RepositoryServicePortBinding" closeTimeout="00:01:00"
+ openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
+ allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
+ maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
+ messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
+ useDefaultWebProxy="true">
+ <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
+ maxBytesPerRead="4096" maxNameTableCharCount="16384" />
+ <security mode="None">
+ <transport clientCredentialType="None" proxyCredentialType="None"
+ realm="" />
+ <message clientCredentialType="UserName" algorithmSuite="Default" />
+ </security>
+ </binding>
+ <binding name="VersioningServicePortBinding" closeTimeout="00:01:00"
+ openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
+ allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
+ maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
+ messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
+ useDefaultWebProxy="true">
+ <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
+ maxBytesPerRead="4096" maxNameTableCharCount="16384" />
+ <security mode="None">
+ <transport clientCredentialType="None" proxyCredentialType="None"
+ realm="" />
+ <message clientCredentialType="UserName" algorithmSuite="Default" />
+ </security>
+ </binding>
+ <binding name="ACLServicePortBinding" closeTimeout="00:01:00"
+ openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:01:00"
+ allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
+ maxBufferSize="65536" maxBufferPoolSize="524288" maxReceivedMessageSize="65536"
+ messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
+ useDefaultWebProxy="true">
+ <readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
+ maxBytesPerRead="4096" maxNameTableCharCount="16384" />
+ <security mode="None">
+ <transport clientCredentialType="None" proxyCredentialType="None"
+ realm="" />
+ <message clientCredentialType="UserName" algorithmSuite="Default" />
+ </security>
+ </binding>
+ </basicHttpBinding>
+ </bindings>
+ <client>
+ <endpoint address="http://cmis/services/DiscoveryService.DiscoveryServicePort"
+ binding="basicHttpBinding" bindingConfiguration="DiscoveryServicePortBinding"
+ contract="CMISWebServicesReference.DiscoveryServicePort" name="DiscoveryServicePort" />
+ <endpoint address="http://cmis/services/MultiFilingService.MultiFilingServicePort"
+ binding="basicHttpBinding" bindingConfiguration="MultiFilingServicePortBinding"
+ contract="CMISWebServicesReference.MultiFilingServicePort"
+ name="MultiFilingServicePort" />
+ <endpoint address="http://cmis/services/NavigationService.NavigationServicePort"
+ binding="basicHttpBinding" bindingConfiguration="NavigationServicePortBinding"
+ contract="CMISWebServicesReference.NavigationServicePort"
+ name="NavigationServicePort" />
+ <endpoint address="http://cmis/services/ObjectService.ObjectServicePort"
+ binding="basicHttpBinding" bindingConfiguration="ObjectServicePortBinding"
+ contract="CMISWebServicesReference.ObjectServicePort" name="ObjectServicePort" />
+ <endpoint address="http://cmis/services/PolicyService.PolicyServicePort"
+ binding="basicHttpBinding" bindingConfiguration="PolicyServicePortBinding"
+ contract="CMISWebServicesReference.PolicyServicePort" name="PolicyServicePort" />
+ <endpoint address="http://cmis/services/RelationshipService.RelationshipServicePort"
+ binding="basicHttpBinding" bindingConfiguration="RelationshipServicePortBinding"
+ contract="CMISWebServicesReference.RelationshipServicePort"
+ name="RelationshipServicePort" />
+ <endpoint address="http://cmis/services/RepositoryService.RepositoryServicePort"
+ binding="basicHttpBinding" bindingConfiguration="RepositoryServicePortBinding"
+ contract="CMISWebServicesReference.RepositoryServicePort"
+ name="RepositoryServicePort" />
+ <endpoint address="http://cmis/services/VersioningService.VersioningServicePort"
+ binding="basicHttpBinding" bindingConfiguration="VersioningServicePortBinding"
+ contract="CMISWebServicesReference.VersioningServicePort"
+ name="VersioningServicePort" />
+ <endpoint address="http://cmis/services/ACLService.ACLServicePort"
+ binding="basicHttpBinding" bindingConfiguration="ACLServicePortBinding"
+ contract="CMISWebServicesReference.ACLServicePort" name="ACLServicePort" />
+ </client>
+ </system.serviceModel>
+</configuration>
\ No newline at end of file
diff --git a/DotCMIS/binding/atompub/atompub-linkcache.cs b/DotCMIS/binding/atompub/atompub-linkcache.cs
new file mode 100644
index 0000000..4d8c718
--- /dev/null
+++ b/DotCMIS/binding/atompub/atompub-linkcache.cs
@@ -0,0 +1,377 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using DotCMIS.Binding.Impl;
+using System.Web;
+
+namespace DotCMIS.Binding.AtomPub
+{
+ internal class LinkCache
+ {
+ private const int CacheSizeRepositories = 10;
+ private const int CacheSizeTypes = 100;
+ private const int CacheSizeLinks = 400;
+
+ private ICache linkCache;
+ private ICache typeLinkCache;
+ private ICache collectionLinkCache;
+ private ICache templateCache;
+ private ICache repositoryLinkCache;
+
+ public LinkCache(BindingSession session)
+ {
+ int repCount = session.GetValue(SessionParameter.CacheSizeRepositories, CacheSizeRepositories);
+ if (repCount < 1)
+ {
+ repCount = CacheSizeRepositories;
+ }
+
+ int typeCount = session.GetValue(SessionParameter.CacheSizeTypes, CacheSizeTypes);
+ if (typeCount < 1)
+ {
+ typeCount = CacheSizeTypes;
+ }
+
+ int objCount = session.GetValue(SessionParameter.CacheSizeLinks, CacheSizeLinks);
+ if (objCount < 1)
+ {
+ objCount = CacheSizeLinks;
+ }
+
+ linkCache = new Cache("Link Cache");
+ linkCache.Initialize(new string[] {
+ typeof(DictionaryCacheLevel).FullName + " " + DictionaryCacheLevel.Capacity + "=" + repCount, // repository
+ typeof(LruCacheLevel).FullName + " " + LruCacheLevel.MaxEntries + "=" + objCount, // id
+ typeof(DictionaryCacheLevel).FullName + " " + DictionaryCacheLevel.Capacity + "=16", // rel
+ typeof(ContentTypeCacheLevel).FullName + " " + DictionaryCacheLevel.Capacity + "=3,"
+ + DictionaryCacheLevel.SingleValue + "=true" // type
+ });
+
+ typeLinkCache = new Cache("Type Link Cache");
+ typeLinkCache.Initialize(new string[] {
+ typeof(DictionaryCacheLevel).FullName + " " + DictionaryCacheLevel.Capacity + "=" + repCount, // repository
+ typeof(LruCacheLevel).FullName + " " + LruCacheLevel.MaxEntries + "=" + typeCount, // id
+ typeof(DictionaryCacheLevel).FullName + " " + DictionaryCacheLevel.Capacity + "=16", // rel
+ typeof(ContentTypeCacheLevel).FullName + " " + DictionaryCacheLevel.Capacity + "=3,"
+ + DictionaryCacheLevel.SingleValue + "=true"// type
+ });
+
+ collectionLinkCache = new Cache("Collection Link Cache");
+ collectionLinkCache.Initialize(new string[] {
+ typeof(DictionaryCacheLevel).FullName + " " + DictionaryCacheLevel.Capacity + "=" + repCount, // repository
+ typeof(DictionaryCacheLevel).FullName + " " + DictionaryCacheLevel.Capacity + "=8" // collection
+ });
+
+ templateCache = new Cache("URI Template Cache");
+ templateCache.Initialize(new string[] {
+ typeof(DictionaryCacheLevel).FullName + " " + DictionaryCacheLevel.Capacity + "=" + repCount, // repository
+ typeof(DictionaryCacheLevel).FullName + " " + DictionaryCacheLevel.Capacity + "=6" // type
+ });
+
+ repositoryLinkCache = new Cache("Repository Link Cache");
+ repositoryLinkCache.Initialize(new string[] {
+ typeof(DictionaryCacheLevel).FullName + " " + DictionaryCacheLevel.Capacity + "=" + repCount, // repository
+ typeof(DictionaryCacheLevel).FullName + " " + DictionaryCacheLevel.Capacity + "=6" // rel
+ });
+ }
+
+ // ---- links ---
+
+ public void AddLink(string repositoryId, string id, string rel, string type, string link)
+ {
+ linkCache.Put(new string[] { repositoryId, id, rel, type }, link);
+ }
+
+ public void RemoveLinks(string repositoryId, string id)
+ {
+ linkCache.Remove(new string[] { repositoryId, id });
+ }
+
+ public string GetLink(string repositoryId, string id, string rel, string type)
+ {
+ return (string)linkCache.Get(new string[] { repositoryId, id, rel, type });
+ }
+
+ public string GetLink(string repositoryId, string id, string rel)
+ {
+ return GetLink(repositoryId, id, rel, null);
+ }
+
+ public int CheckLink(string repositoryId, string id, string rel, string type)
+ {
+ return linkCache.Check(new string[] { repositoryId, id, rel, type });
+ }
+
+ public void LockLinks()
+ {
+ linkCache.Lock();
+ }
+
+ public void UnlockLinks()
+ {
+ linkCache.Unlock();
+ }
+
+ // ---- type links ---
+
+ public void AddTypeLink(string repositoryId, string id, string rel, string type, string link)
+ {
+ typeLinkCache.Put(new string[] { repositoryId, id, rel, type }, link);
+ }
+
+ public void RemoveTypeLinks(string repositoryId, string id)
+ {
+ typeLinkCache.Remove(new string[] { repositoryId, id });
+ }
+
+ public string GetTypeLink(string repositoryId, string id, string rel, string type)
+ {
+ return (string)typeLinkCache.Get(new string[] { repositoryId, id, rel, type });
+ }
+
+ public void LockTypeLinks()
+ {
+ typeLinkCache.Lock();
+ }
+
+ public void UnlockTypeLinks()
+ {
+ typeLinkCache.Unlock();
+ }
+
+ // ---- collections ----
+
+ public void AddCollection(string repositoryId, string collection, string link)
+ {
+ collectionLinkCache.Put(new string[] { repositoryId, collection }, link);
+ }
+
+ public string GetCollection(string repositoryId, string collection)
+ {
+ return (string)collectionLinkCache.Get(new string[] { repositoryId, collection });
+ }
+
+ // ---- templates ----
+
+ public void AddTemplate(string repositoryId, string type, string link)
+ {
+ templateCache.Put(new string[] { repositoryId, type }, link);
+ }
+
+ public string GetTemplateLink(string repositoryId, string type, IDictionary<string, object> parameters)
+ {
+ string template = (string)templateCache.Get(new string[] { repositoryId, type });
+ if (template == null)
+ {
+ return null;
+ }
+
+ StringBuilder result = new StringBuilder();
+ StringBuilder param = new StringBuilder();
+
+ bool paramMode = false;
+ for (int i = 0; i < template.Length; i++)
+ {
+ char c = template[i];
+
+ if (paramMode)
+ {
+ if (c == '}')
+ {
+ paramMode = false;
+
+ object paramValue;
+ if (parameters.TryGetValue(param.ToString(), out paramValue))
+ {
+ result.Append(HttpUtility.UrlEncode(UrlBuilder.NormalizeParameter(paramValue)));
+ }
+
+ param = new StringBuilder();
+ }
+ else
+ {
+ param.Append(c);
+ }
+ }
+ else
+ {
+ if (c == '{')
+ {
+ paramMode = true;
+ }
+ else
+ {
+ result.Append(c);
+ }
+ }
+ }
+
+ return result.ToString();
+ }
+
+ // ---- repository links ----
+
+ public void AddRepositoryLink(string repositoryId, string rel, string link)
+ {
+ repositoryLinkCache.Put(new string[] { repositoryId, rel }, link);
+ }
+
+ public string GetRepositoryLink(string repositoryId, string rel)
+ {
+ return (string)repositoryLinkCache.Get(new string[] { repositoryId, rel });
+ }
+
+ // ---- clear ----
+
+ public void ClearRepository(string repositoryId)
+ {
+ linkCache.Remove(new string[] { repositoryId });
+ typeLinkCache.Remove(new string[] { repositoryId });
+ collectionLinkCache.Remove(new string[] { repositoryId });
+ templateCache.Remove(new string[] { repositoryId });
+ repositoryLinkCache.Remove(new string[] { repositoryId });
+ }
+ }
+
+ internal class ContentTypeCacheLevel : DictionaryCacheLevel
+ {
+ public ContentTypeCacheLevel()
+ {
+ EnableKeyFallback(null);
+ }
+
+ public override object this[string key]
+ {
+ get
+ {
+ return base[Normalize(key)];
+ }
+ set
+ {
+ base[Normalize(key)] = value;
+ }
+ }
+
+ public override void Remove(string key)
+ {
+ base.Remove(Normalize(key));
+ }
+
+ private string Normalize(string key)
+ {
+ if (key == null)
+ {
+ return null;
+ }
+
+ StringBuilder sb = new StringBuilder();
+ int parameterStart = 0;
+
+ // first, get the MIME type
+ for (int i = 0; i < key.Length; i++)
+ {
+ char c = key[i];
+
+ if (Char.IsWhiteSpace(c))
+ {
+ continue;
+ }
+ else if (c == ';')
+ {
+ parameterStart = i;
+ break;
+ }
+
+ sb.Append(Char.ToLower(c));
+ }
+
+ // if parameters have been found, gather them
+ if (parameterStart > 0)
+ {
+ SortedList<string, string> parameter = new SortedList<string, string>();
+ StringBuilder ksb = new StringBuilder();
+ StringBuilder vsb = new StringBuilder();
+ bool isKey = true;
+
+ for (int i = parameterStart + 1; i < key.Length; i++)
+ {
+ char c = key[i];
+ if (Char.IsWhiteSpace(c))
+ {
+ continue;
+ }
+
+ if (isKey)
+ {
+ if (c == '=')
+ {
+ // value start
+ isKey = false;
+ continue;
+ }
+
+ ksb.Append(Char.ToLower(c));
+ }
+ else
+ {
+ if (c == ';')
+ {
+ // next key
+ isKey = true;
+
+ parameter.Add(ksb.ToString(), vsb.ToString());
+
+ ksb = new StringBuilder();
+ vsb = new StringBuilder();
+
+ continue;
+ }
+ else if (c == '"')
+ {
+ // filter quotes
+ continue;
+ }
+
+ vsb.Append(Char.ToLower(c));
+ }
+ }
+
+ // add last parameter
+ if (ksb.Length > 0)
+ {
+ parameter.Add(ksb.ToString(), vsb.ToString());
+ }
+
+ // write parameters sorted by key
+ for (int i = 0; i < parameter.Count; i++)
+ {
+ sb.Append(";");
+ sb.Append(parameter.Keys[i]);
+ sb.Append("=");
+ sb.Append(parameter.Values[i]);
+ }
+ }
+
+ return sb.ToString();
+ }
+ }
+}
diff --git a/DotCMIS/binding/atompub/atompub-parser.cs b/DotCMIS/binding/atompub/atompub-parser.cs
new file mode 100644
index 0000000..060f464
--- /dev/null
+++ b/DotCMIS/binding/atompub/atompub-parser.cs
@@ -0,0 +1,808 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Xml;
+using System.Xml.Serialization;
+using DotCMIS.CMISWebServicesReference;
+using DotCMIS.Exceptions;
+using System.Globalization;
+
+namespace DotCMIS.Binding.AtomPub
+{
+ internal class AtomPubParser
+ {
+ private static XmlSerializer RepositoryInfoSerializer;
+ private static XmlSerializer TypeDefintionSerializer;
+ private static XmlSerializer ObjectSerializer;
+ private static XmlSerializer AllowableActionsSerializer;
+ private static XmlSerializer AclSerializer;
+
+ static AtomPubParser()
+ {
+ XmlRootAttribute repositoryInfoXmlRoot = new XmlRootAttribute("repositoryInfo");
+ repositoryInfoXmlRoot.Namespace = AtomPubConstants.NamespaceRestAtom;
+ RepositoryInfoSerializer = new XmlSerializer(typeof(cmisRepositoryInfoType), repositoryInfoXmlRoot);
+
+ XmlRootAttribute typeDefinitionXmlRoot = new XmlRootAttribute("type");
+ typeDefinitionXmlRoot.Namespace = AtomPubConstants.NamespaceRestAtom;
+ TypeDefintionSerializer = new XmlSerializer(typeof(cmisTypeDefinitionType), typeDefinitionXmlRoot);
+
+ XmlRootAttribute objectXmlRoot = new XmlRootAttribute("object");
+ objectXmlRoot.Namespace = AtomPubConstants.NamespaceRestAtom;
+ ObjectSerializer = new XmlSerializer(typeof(cmisObjectType), objectXmlRoot);
+
+ XmlRootAttribute allowableActionsXmlRoot = new XmlRootAttribute("allowableActions");
+ allowableActionsXmlRoot.Namespace = AtomPubConstants.NamespaceRestAtom;
+ AllowableActionsSerializer = new XmlSerializer(typeof(cmisAllowableActionsType), objectXmlRoot);
+
+ XmlRootAttribute aclXmlRoot = new XmlRootAttribute("accessControlList");
+ aclXmlRoot.Namespace = AtomPubConstants.NamespaceRestAtom;
+ AclSerializer = new XmlSerializer(typeof(cmisAccessControlListType), objectXmlRoot);
+ }
+
+ private Stream stream;
+ private AtomBase parseResult;
+
+ public AtomPubParser(Stream stream)
+ {
+ if (stream == null)
+ {
+ throw new ArgumentNullException("stream");
+ }
+
+ this.stream = stream;
+ }
+
+ public AtomBase GetParseResults()
+ {
+ return parseResult;
+ }
+
+ public void Parse()
+ {
+ XmlReaderSettings settings = new XmlReaderSettings();
+ settings.IgnoreWhitespace = true;
+ settings.IgnoreComments = true;
+
+ XmlReader reader = XmlReader.Create(stream, settings);
+ try
+ {
+ while (true)
+ {
+ if (reader.IsStartElement())
+ {
+ if (AtomPubConstants.NamespaceAtom == reader.NamespaceURI)
+ {
+ if (AtomPubConstants.TagFeed == reader.LocalName)
+ {
+ parseResult = ParseFeed(reader);
+ break;
+ }
+ else if (AtomPubConstants.TagEntry == reader.LocalName)
+ {
+ parseResult = ParseEntry(reader);
+ break;
+ }
+ }
+ else if (AtomPubConstants.NamespaceCMIS == reader.NamespaceURI)
+ {
+ if (AtomPubConstants.TagAllowableActions == reader.LocalName)
+ {
+ parseResult = ParseAllowableActions(reader);
+ break;
+ }
+ else if (AtomPubConstants.TagACL == reader.LocalName)
+ {
+ parseResult = ParseACL(reader);
+ break;
+ }
+ }
+ else if (AtomPubConstants.NamespaceAPP == reader.NamespaceURI)
+ {
+ if (AtomPubConstants.TagService == reader.LocalName)
+ {
+ parseResult = ParseServiceDoc(reader);
+ break;
+ }
+ }
+ }
+
+ if (!reader.Read()) { break; }
+ }
+ }
+ finally
+ {
+ try { reader.Close(); }
+ catch (Exception) { }
+ try { stream.Close(); }
+ catch (Exception) { }
+ }
+ }
+
+ private ServiceDoc ParseServiceDoc(XmlReader reader)
+ {
+ ServiceDoc result = new ServiceDoc();
+
+ reader.Read();
+ while (true)
+ {
+ if (reader.NodeType == XmlNodeType.Element)
+ {
+ if (AtomPubConstants.NamespaceAPP == reader.NamespaceURI)
+ {
+ if (AtomPubConstants.TagWorkspace == reader.LocalName)
+ {
+ result.AddWorkspace(ParseWorkspace(reader));
+ }
+ else
+ {
+ skip(reader);
+ }
+ }
+ else
+ {
+ skip(reader);
+ }
+ }
+ else if (reader.NodeType == XmlNodeType.EndElement)
+ {
+ break;
+ }
+ else
+ {
+ if (!reader.Read()) { break; }
+ }
+ }
+
+ return result;
+ }
+
+ private RepositoryWorkspace ParseWorkspace(XmlReader reader)
+ {
+ RepositoryWorkspace workspace = new RepositoryWorkspace();
+
+ reader.Read();
+ while (true)
+ {
+ if (reader.NodeType == XmlNodeType.Element)
+ {
+ AtomElement element = ParseWorkspaceElement(reader);
+
+ if (element != null && element.Object is cmisRepositoryInfoType)
+ {
+ workspace.Id = ((cmisRepositoryInfoType)element.Object).repositoryId;
+ }
+
+ workspace.AddElement(element);
+ }
+ else if (reader.NodeType == XmlNodeType.EndElement)
+ {
+ break;
+ }
+ else
+ {
+ if (!reader.Read()) { break; }
+ }
+ }
+
+ reader.Read();
+
+ return workspace;
+ }
+
+ private AtomElement ParseWorkspaceElement(XmlReader reader)
+ {
+ if (AtomPubConstants.NamespaceRestAtom == reader.NamespaceURI)
+ {
+ if (AtomPubConstants.TagRepositoryInfo == reader.LocalName)
+ {
+ return DeserializeRepositoryInfo(reader);
+ }
+ else if (AtomPubConstants.TagUriTemplate == reader.LocalName)
+ {
+ return ParseTemplate(reader);
+ }
+ }
+ else if (AtomPubConstants.NamespaceAtom == reader.NamespaceURI)
+ {
+ if (AtomPubConstants.TagLink == reader.LocalName)
+ {
+ return ParseLink(reader);
+ }
+ }
+ else if (AtomPubConstants.NamespaceAPP == reader.NamespaceURI)
+ {
+ if (AtomPubConstants.TagCollection == reader.LocalName)
+ {
+ return ParseCollection(reader);
+ }
+ }
+
+ skip(reader);
+
+ return null;
+ }
+
+ private AtomElement ParseTemplate(XmlReader reader)
+ {
+ Dictionary<string, string> result = new Dictionary<string, string>();
+ string ns = reader.NamespaceURI;
+ string ln = reader.LocalName;
+
+ reader.Read();
+ while (true)
+ {
+ if (reader.NodeType == XmlNodeType.Element)
+ {
+ if (AtomPubConstants.NamespaceRestAtom == reader.NamespaceURI)
+ {
+ if (AtomPubConstants.TagTemplateTemplate == reader.LocalName)
+ {
+ result["template"] = ReadText(reader);
+ }
+ else if (AtomPubConstants.TagTemplateType == reader.LocalName)
+ {
+ result["type"] = ReadText(reader);
+ }
+ else
+ {
+ skip(reader);
+ }
+ }
+ else
+ {
+ skip(reader);
+ }
+ }
+ else if (reader.NodeType == XmlNodeType.EndElement)
+ {
+ break;
+ }
+ else
+ {
+ if (!reader.Read()) { break; }
+ }
+ }
+
+ reader.Read();
+
+ return new AtomElement(ns, ln, result);
+ }
+
+ private AtomElement ParseCollection(XmlReader reader)
+ {
+ Dictionary<string, string> result = new Dictionary<string, string>();
+ string ns = reader.NamespaceURI;
+ string ln = reader.LocalName;
+
+ if (reader.MoveToAttribute("href"))
+ {
+ result["href"] = reader.Value;
+ reader.MoveToElement();
+ }
+
+ reader.Read();
+ while (true)
+ {
+ if (reader.NodeType == XmlNodeType.Element)
+ {
+ if (AtomPubConstants.NamespaceRestAtom == reader.NamespaceURI && AtomPubConstants.TagCollectionType == reader.LocalName)
+ {
+ result["collectionType"] = ReadText(reader);
+ }
+ else
+ {
+ skip(reader);
+ }
+ }
+ else if (reader.NodeType == XmlNodeType.EndElement)
+ {
+ break;
+ }
+ else
+ {
+ if (!reader.Read()) { break; }
+ }
+ }
+
+ reader.Read();
+
+ return new AtomElement(ns, ln, result);
+ }
+
+ private AtomElement ParseLink(XmlReader reader)
+ {
+ AtomLink result = new AtomLink();
+ string ns = reader.NamespaceURI;
+ string ln = reader.LocalName;
+
+ if (reader.HasAttributes)
+ {
+ while (reader.MoveToNextAttribute())
+ {
+ if (AtomPubConstants.LinkRel == reader.Name)
+ {
+ result.Rel = reader.Value;
+ }
+ else if (AtomPubConstants.LinkHref == reader.Name)
+ {
+ result.Href = reader.Value;
+ }
+ else if (AtomPubConstants.LinkType == reader.Name)
+ {
+ result.Type = reader.Value;
+ }
+ }
+ reader.MoveToElement();
+ }
+
+ skip(reader);
+
+ return new AtomElement(ns, ln, result);
+ }
+
+ private AtomFeed ParseFeed(XmlReader reader)
+ {
+ AtomFeed feed = new AtomFeed();
+
+ reader.Read();
+ while (true)
+ {
+ if (reader.NodeType == XmlNodeType.Element)
+ {
+ if (AtomPubConstants.NamespaceAtom == reader.NamespaceURI)
+ {
+ if (AtomPubConstants.TagLink == reader.LocalName)
+ {
+ feed.AddElement(ParseLink(reader));
+ }
+ else if (AtomPubConstants.TagEntry == reader.LocalName)
+ {
+ feed.AddEntry(ParseEntry(reader));
+ }
+ else
+ {
+ skip(reader);
+ }
+ }
+ else if (AtomPubConstants.NamespaceRestAtom == reader.NamespaceURI)
+ {
+ if (AtomPubConstants.TagNumItems == reader.LocalName)
+ {
+ feed.AddElement(ParseLong(reader));
+ }
+ else
+ {
+ skip(reader);
+ }
+ }
+ else
+ {
+ skip(reader);
+ }
+ }
+ else if (reader.NodeType == XmlNodeType.EndElement)
+ {
+ break;
+ }
+ else
+ {
+ if (!reader.Read()) { break; }
+ }
+ }
+
+ reader.Read();
+
+ return feed;
+ }
+
+ private AtomEntry ParseEntry(XmlReader reader)
+ {
+ AtomEntry entry = new AtomEntry();
+
+ reader.Read();
+ while (true)
+ {
+ if (reader.NodeType == XmlNodeType.Element)
+ {
+ AtomElement element = ParseElement(reader);
+
+ if (element != null)
+ {
+ entry.AddElement(element);
+
+ if (element.Object is cmisObjectType && ((cmisObjectType)element.Object).properties != null)
+ {
+ foreach (cmisProperty prop in ((cmisObjectType)element.Object).properties.Items)
+ {
+ if (PropertyIds.ObjectId == prop.propertyDefinitionId)
+ {
+ entry.Id = ((cmisPropertyId)prop).value[0];
+ }
+ }
+ }
+ else if (element.Object is cmisTypeDefinitionType)
+ {
+ entry.Id = ((cmisTypeDefinitionType)element.Object).id;
+ }
+ }
+
+ }
+ else if (reader.NodeType == XmlNodeType.EndElement)
+ {
+ break;
+ }
+ else
+ {
+ if (!reader.Read()) { break; }
+ }
+ }
+
+ reader.Read();
+
+ return entry;
+ }
+
+ private AtomAcl ParseACL(XmlReader reader)
+ {
+ AtomAcl result = new AtomAcl();
+ result.ACL = DeserializeACL(reader);
+ return result;
+ }
+
+ private AtomAllowableActions ParseAllowableActions(XmlReader reader)
+ {
+ AtomAllowableActions result = new AtomAllowableActions();
+ result.AllowableActions = DeserializeAllowableActions(reader);
+ return result;
+ }
+
+ private AtomElement ParseElement(XmlReader reader)
+ {
+ if (AtomPubConstants.NamespaceRestAtom == reader.NamespaceURI)
+ {
+ if (AtomPubConstants.TagObject == reader.LocalName)
+ {
+ return DeserializeObject(reader);
+ }
+ else if (AtomPubConstants.TagPathSegment == reader.LocalName
+ || AtomPubConstants.TagRelativePathSegment == reader.LocalName)
+ {
+ return ParseText(reader);
+ }
+ else if (AtomPubConstants.TagType == reader.LocalName)
+ {
+ return DeserializeTypeDefinition(reader);
+ }
+ else if (AtomPubConstants.TagChildren == reader.LocalName)
+ {
+ return ParseChildren(reader);
+ }
+ }
+ else if (AtomPubConstants.NamespaceAtom == reader.NamespaceURI)
+ {
+ if (AtomPubConstants.TagLink == reader.LocalName)
+ {
+ return ParseLink(reader);
+ }
+ else if (AtomPubConstants.TagContent == reader.LocalName)
+ {
+ return ParseAtomContentSrc(reader);
+ }
+ }
+
+ skip(reader);
+
+ return null;
+ }
+
+ private AtomElement ParseChildren(XmlReader reader)
+ {
+ AtomElement result = null;
+ string childName = reader.LocalName;
+ string childNamespace = reader.NamespaceURI;
+
+ reader.Read();
+ while (true)
+ {
+ if (reader.NodeType == XmlNodeType.Element)
+ {
+ if (AtomPubConstants.NamespaceAtom == reader.NamespaceURI && AtomPubConstants.TagFeed == reader.LocalName)
+ {
+ result = new AtomElement(childNamespace, childName, ParseFeed(reader));
+ }
+ else
+ {
+ skip(reader);
+ }
+ }
+ else if (reader.NodeType == XmlNodeType.EndElement)
+ {
+ break;
+ }
+ else
+ {
+ if (!reader.Read()) { break; }
+ }
+ }
+
+ reader.Read();
+
+ return result;
+ }
+
+ private AtomElement ParseAtomContentSrc(XmlReader reader)
+ {
+ AtomLink result = new AtomLink();
+ result.Rel = AtomPubConstants.LinkRelContent;
+
+ if (reader.MoveToAttribute(AtomPubConstants.ContentSrc))
+ {
+ result.Href = reader.Value;
+ reader.MoveToElement();
+ }
+
+ skip(reader);
+
+ return new AtomElement(reader.NamespaceURI, reader.LocalName, result);
+ }
+
+ private AtomElement ParseText(XmlReader reader)
+ {
+ string ns = reader.NamespaceURI;
+ string ln = reader.LocalName;
+ return new AtomElement(ns, ln, ReadText(reader));
+ }
+
+ private AtomElement ParseLong(XmlReader reader)
+ {
+ string ns = reader.NamespaceURI;
+ string ln = reader.LocalName;
+ return new AtomElement(ns, ln, Int64.Parse(ReadText(reader)));
+ }
+
+ private AtomElement DeserializeRepositoryInfo(XmlReader reader)
+ {
+ string ns = reader.NamespaceURI;
+ string ln = reader.LocalName;
+ return new AtomElement(ns, ln, RepositoryInfoSerializer.Deserialize(reader));
+ }
+
+ private AtomElement DeserializeTypeDefinition(XmlReader reader)
+ {
+ string ns = reader.NamespaceURI;
+ string ln = reader.LocalName;
+ return new AtomElement(ns, ln, TypeDefintionSerializer.Deserialize(reader));
+ }
+
+ private AtomElement DeserializeObject(XmlReader reader)
+ {
+ string ns = reader.NamespaceURI;
+ string ln = reader.LocalName;
+ return new AtomElement(ns, ln, ObjectSerializer.Deserialize(reader));
+ }
+
+ private cmisAccessControlListType DeserializeACL(XmlReader reader)
+ {
+ return (cmisAccessControlListType)AclSerializer.Deserialize(reader);
+ }
+
+
+ private cmisAllowableActionsType DeserializeAllowableActions(XmlReader reader)
+ {
+ return (cmisAllowableActionsType)AllowableActionsSerializer.Deserialize(reader);
+ }
+
+ private string ReadText(XmlReader reader)
+ {
+ string text = null;
+ if (reader.Read())
+ {
+ text = reader.ReadContentAsString();
+ reader.Read();
+ }
+
+ return text;
+ }
+
+ private void skip(XmlReader reader)
+ {
+ if (!reader.IsEmptyElement)
+ {
+ int level = 1;
+ while (reader.Read())
+ {
+ if (reader.NodeType == XmlNodeType.Element)
+ {
+ level++;
+ }
+ else if (reader.NodeType == XmlNodeType.EndElement)
+ {
+ level--;
+ if (level == 0)
+ {
+ break;
+ }
+ }
+ }
+ }
+
+ reader.Read();
+ }
+ }
+
+ internal class AtomElement
+ {
+ public string Namespace { get; private set; }
+ public string LocalName { get; private set; }
+ public object Object { get; private set; }
+
+ public AtomElement(string elementNamespace, string elementLocalName, object elementObject)
+ {
+ Namespace = elementNamespace;
+ LocalName = elementLocalName;
+ Object = elementObject;
+ }
+
+ public override string ToString()
+ {
+ return "{" + Namespace + "}" + LocalName + ": " + Object;
+ }
+ }
+
+ internal abstract class AtomBase
+ {
+ public IList<AtomElement> elements = new List<AtomElement>();
+
+ public abstract string GetAtomType();
+
+ public IList<AtomElement> GetElements()
+ {
+ return elements;
+ }
+
+ public void AddElement(AtomElement element)
+ {
+ if (element != null)
+ {
+ elements.Add(element);
+ }
+ }
+ }
+
+ internal class ServiceDoc : AtomBase
+ {
+ private IList<RepositoryWorkspace> workspaces = new List<RepositoryWorkspace>();
+
+ public override string GetAtomType()
+ {
+ return "Service Document";
+ }
+
+ public IList<RepositoryWorkspace> GetWorkspaces()
+ {
+ return workspaces;
+ }
+
+ public void AddWorkspace(RepositoryWorkspace ws)
+ {
+ if (ws != null)
+ {
+ workspaces.Add(ws);
+ }
+ }
+
+ public override string ToString()
+ {
+ return "Service Doc: " + workspaces;
+ }
+ }
+
+ internal class RepositoryWorkspace : AtomBase
+ {
+ public string Id { get; set; }
+
+ public override string GetAtomType()
+ {
+ return "Repository Workspace";
+ }
+
+ public override string ToString()
+ {
+ return "Workspace \"" + Id + "\": " + GetElements();
+ }
+ }
+
+ internal class AtomEntry : AtomBase
+ {
+ public string Id { get; set; }
+
+ public override string GetAtomType()
+ {
+ return "Atom Entry";
+ }
+
+ public override string ToString()
+ {
+ return "Entry \"" + Id + "\": " + GetElements();
+ }
+ }
+
+ internal class AtomFeed : AtomBase
+ {
+ private IList<AtomEntry> entries = new List<AtomEntry>();
+
+ public override string GetAtomType()
+ {
+ return "Atom Feed";
+ }
+
+ public IList<AtomEntry> GetEntries()
+ {
+ return entries;
+ }
+
+ public void AddEntry(AtomEntry entry)
+ {
+ if (entry != null)
+ {
+ entries.Add(entry);
+ }
+ }
+
+ public override string ToString()
+ {
+ return "Feed : " + GetElements() + " " + entries;
+ }
+ }
+
+ internal class AtomAcl : AtomBase
+ {
+ public cmisAccessControlListType ACL { get; set; }
+
+ public override string GetAtomType()
+ {
+ return "ACL";
+ }
+ }
+
+ internal class AtomAllowableActions : AtomBase
+ {
+ public cmisAllowableActionsType AllowableActions { get; set; }
+
+ public override string GetAtomType()
+ {
+ return "Allowable Actions";
+ }
+ }
+
+ internal class AtomLink
+ {
+ public string Rel { get; set; }
+ public string Type { get; set; }
+ public string Href { get; set; }
+
+ public override string ToString()
+ {
+ return "Link: rel=\"" + Rel + "\" type=\"" + Type + "\" href=\"" + Href + "\"";
+ }
+ }
+}
diff --git a/DotCMIS/binding/atompub/atompub-writer.cs b/DotCMIS/binding/atompub/atompub-writer.cs
new file mode 100644
index 0000000..ff38fdf
--- /dev/null
+++ b/DotCMIS/binding/atompub/atompub-writer.cs
@@ -0,0 +1,290 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using DotCMIS.CMISWebServicesReference;
+using System.IO;
+using DotCMIS.Exceptions;
+using System.Xml;
+using System.Globalization;
+using System.Xml.Serialization;
+using DotCMIS.Enums;
+
+namespace DotCMIS.Binding.AtomPub
+{
+ internal class AtomWriter
+ {
+ public static XmlSerializer ObjectSerializer;
+ public static XmlSerializer AclSerializer;
+
+ static AtomWriter()
+ {
+ XmlRootAttribute objectXmlRoot = new XmlRootAttribute("object");
+ objectXmlRoot.Namespace = AtomPubConstants.NamespaceRestAtom;
+ ObjectSerializer = new XmlSerializer(typeof(cmisObjectType), objectXmlRoot);
+
+ XmlRootAttribute aclXmlRoot = new XmlRootAttribute("acl");
+ aclXmlRoot.Namespace = AtomPubConstants.NamespaceRestAtom;
+ AclSerializer = new XmlSerializer(typeof(cmisAccessControlListType), objectXmlRoot);
+ }
+
+ public const string PrefixAtom = "atom";
+ public const string PrefixCMIS = "cmis";
+ public const string PrefixRestAtom = "cmisra";
+ }
+
+ internal class AtomEntryWriter
+ {
+ private const int BufferSize = 64 * 1024;
+
+ private cmisObjectType cmisObject;
+ private Stream stream;
+ private string mediaType;
+
+ public AtomEntryWriter(cmisObjectType cmisObject)
+ : this(cmisObject, null, null)
+ {
+ }
+
+ public AtomEntryWriter(cmisObjectType cmisObject, string mediaType, Stream stream)
+ {
+ if (cmisObject == null || cmisObject.properties == null)
+ {
+ throw new CmisInvalidArgumentException("Object and properties must not be null!");
+ }
+
+ if (stream != null && mediaType == null)
+ {
+ throw new CmisInvalidArgumentException("Media type must be set if a stream is present!");
+ }
+
+ this.cmisObject = cmisObject;
+ this.mediaType = mediaType;
+ this.stream = stream;
+ }
+
+ public void Write(Stream outStream)
+ {
+ using (XmlWriter writer = XmlWriter.Create(outStream))
+ {
+ // start doc
+ writer.WriteStartDocument();
+
+ // start entry
+ writer.WriteStartElement(AtomWriter.PrefixAtom, AtomPubConstants.TagEntry, AtomPubConstants.NamespaceAtom);
+ writer.WriteAttributeString("xmlns", AtomWriter.PrefixAtom, null, AtomPubConstants.NamespaceAtom);
+ writer.WriteAttributeString("xmlns", AtomWriter.PrefixCMIS, null, AtomPubConstants.NamespaceCMIS);
+ writer.WriteAttributeString("xmlns", AtomWriter.PrefixRestAtom, null, AtomPubConstants.NamespaceRestAtom);
+
+ // atom:id
+ writer.WriteStartElement(AtomWriter.PrefixAtom, AtomPubConstants.TagAtomId, AtomPubConstants.NamespaceAtom);
+ writer.WriteString("urn:uuid:00000000-0000-0000-0000-00000000000");
+ writer.WriteEndElement();
+
+ // atom:title
+ writer.WriteStartElement(AtomWriter.PrefixAtom, AtomPubConstants.TagAtomTitle, AtomPubConstants.NamespaceAtom);
+ writer.WriteString(GetTitle());
+ writer.WriteEndElement();
+
+ // atom:updated
+ writer.WriteStartElement(AtomWriter.PrefixAtom, AtomPubConstants.TagAtomUpdated, AtomPubConstants.NamespaceAtom);
+ writer.WriteString(GetUpdated());
+ writer.WriteEndElement();
+
+ // content
+ if (stream != null)
+ {
+ writer.WriteStartElement(AtomWriter.PrefixRestAtom, AtomPubConstants.TagContent, AtomPubConstants.NamespaceRestAtom);
+
+ writer.WriteStartElement(AtomWriter.PrefixRestAtom, AtomPubConstants.TagContentMediatype, AtomPubConstants.NamespaceRestAtom);
+ writer.WriteString(mediaType);
+ writer.WriteEndElement();
+
+ writer.WriteStartElement(AtomWriter.PrefixRestAtom, AtomPubConstants.TagContentBase64, AtomPubConstants.NamespaceRestAtom);
+ WriteContent(writer);
+ writer.WriteEndElement();
+
+ writer.WriteEndElement();
+ }
+
+ // object
+ AtomWriter.ObjectSerializer.Serialize(writer, cmisObject);
+
+ // end entry
+ writer.WriteEndElement();
+
+ // end document
+ writer.WriteEndDocument();
+
+ writer.Flush();
+ }
+ }
+
+ // ---- internal ----
+
+ private string GetTitle()
+ {
+ string result = "";
+
+ foreach (cmisProperty property in cmisObject.properties.Items)
+ {
+ if (PropertyIds.Name == property.propertyDefinitionId && property is cmisPropertyString)
+ {
+ string[] values = ((cmisPropertyString)property).value;
+ if (values != null && values.Length > 0)
+ {
+ return values[0];
+ }
+ }
+ }
+
+ return result;
+ }
+
+ private string GetUpdated()
+ {
+ return DateTime.UtcNow.ToString("yyyy-MM-dd'T'HH:mm:ss'Z'", CultureInfo.InvariantCulture);
+ }
+
+ private void WriteContent(XmlWriter writer)
+ {
+ byte[] byteArray = null;
+
+ if (stream is MemoryStream)
+ {
+ byteArray = ((MemoryStream)stream).ToArray();
+ }
+ else
+ {
+ MemoryStream memStream = new MemoryStream();
+ byte[] buffer = new byte[BufferSize];
+ int bytes;
+ while ((bytes = stream.Read(buffer, 0, buffer.Length)) > 0)
+ {
+ memStream.Write(buffer, 0, bytes);
+ }
+ byteArray = memStream.ToArray();
+ }
+
+ writer.WriteBase64(byteArray, 0, byteArray.Length);
+ }
+ }
+
+ internal class AtomQueryWriter
+ {
+ private string statement;
+ private bool? searchAllVersions;
+ private bool? includeAllowableActions;
+ private IncludeRelationships? includeRelationships;
+ private string renditionFilter;
+ private long? maxItems;
+ private long? skipCount;
+
+ public AtomQueryWriter(string statement, bool? searchAllVersions,
+ bool? includeAllowableActions, IncludeRelationships? includeRelationships, string renditionFilter,
+ long? maxItems, long? skipCount)
+ {
+ this.statement = statement;
+ this.searchAllVersions = searchAllVersions;
+ this.includeAllowableActions = includeAllowableActions;
+ this.includeRelationships = includeRelationships;
+ this.renditionFilter = renditionFilter;
+ this.maxItems = maxItems;
+ this.skipCount = skipCount;
+ }
+
+ public void Write(Stream outStream)
+ {
+ using (XmlWriter writer = XmlWriter.Create(outStream))
+ {
+ // start doc
+ writer.WriteStartDocument();
+
+ // start query
+ writer.WriteStartElement(AtomWriter.PrefixCMIS, AtomPubConstants.TagQuery, AtomPubConstants.NamespaceCMIS);
+ writer.WriteAttributeString("xmlns", AtomWriter.PrefixAtom, null, AtomPubConstants.NamespaceAtom);
+ writer.WriteAttributeString("xmlns", AtomWriter.PrefixCMIS, null, AtomPubConstants.NamespaceCMIS);
+ writer.WriteAttributeString("xmlns", AtomWriter.PrefixRestAtom, null, AtomPubConstants.NamespaceRestAtom);
+
+ // cmis:statement
+ writer.WriteStartElement(AtomWriter.PrefixCMIS, AtomPubConstants.TagStatement, AtomPubConstants.NamespaceCMIS);
+ writer.WriteString(statement);
+ writer.WriteEndElement();
+
+ // cmis:searchAllVersions
+ if (searchAllVersions.HasValue)
+ {
+ writer.WriteStartElement(AtomWriter.PrefixCMIS, AtomPubConstants.TagSearchAllVersions, AtomPubConstants.NamespaceCMIS);
+ writer.WriteString(searchAllVersions.Value ? "true" : "false");
+ writer.WriteEndElement();
+ }
+
+ // cmis:includeAllowableActions
+ if (includeAllowableActions.HasValue)
+ {
+ writer.WriteStartElement(AtomWriter.PrefixCMIS, AtomPubConstants.TagIncludeAllowableActions, AtomPubConstants.NamespaceCMIS);
+ writer.WriteString(includeAllowableActions.Value ? "true" : "false");
+ writer.WriteEndElement();
+ }
+
+ // cmis:includeRelationships
+ if (includeRelationships.HasValue)
+ {
+ writer.WriteStartElement(AtomWriter.PrefixCMIS, AtomPubConstants.TagIncludeRelationships, AtomPubConstants.NamespaceCMIS);
+ writer.WriteString(includeRelationships.GetCmisValue());
+ writer.WriteEndElement();
+ }
+
+ // cmis:renditionFilter
+ if (renditionFilter != null)
+ {
+ writer.WriteStartElement(AtomWriter.PrefixCMIS, AtomPubConstants.TagRenditionFilter, AtomPubConstants.NamespaceCMIS);
+ writer.WriteString(renditionFilter);
+ writer.WriteEndElement();
+ }
+
+ // cmis:maxItems
+ if (maxItems.HasValue)
+ {
+ writer.WriteStartElement(AtomWriter.PrefixCMIS, AtomPubConstants.TagMaxItems, AtomPubConstants.NamespaceCMIS);
+ writer.WriteString(maxItems.ToString());
+ writer.WriteEndElement();
+ }
+
+ // cmis:skipCount
+ if (skipCount.HasValue)
+ {
+ writer.WriteStartElement(AtomWriter.PrefixCMIS, AtomPubConstants.TagSkipCount, AtomPubConstants.NamespaceCMIS);
+ writer.WriteString(skipCount.ToString());
+ writer.WriteEndElement();
+ }
+
+ // end query
+ writer.WriteEndElement();
+
+ // end document
+ writer.WriteEndDocument();
+
+ writer.Flush();
+ }
+ }
+ }
+}
diff --git a/DotCMIS/binding/atompub/atompub.cs b/DotCMIS/binding/atompub/atompub.cs
new file mode 100644
index 0000000..a26f66d
--- /dev/null
+++ b/DotCMIS/binding/atompub/atompub.cs
@@ -0,0 +1,2818 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Net;
+using DotCMIS.Binding.Impl;
+using DotCMIS.Binding.Services;
+using DotCMIS.CMISWebServicesReference;
+using DotCMIS.Data;
+using DotCMIS.Data.Extensions;
+using DotCMIS.Exceptions;
+using DotCMIS.Enums;
+
+namespace DotCMIS.Binding.AtomPub
+{
+ /// <summary>
+ /// AtomPub binding SPI.
+ /// </summary>
+ internal class CmisAtomPubSpi : ICmisSpi
+ {
+ private RepositoryService repositoryService;
+ private NavigationService navigationService;
+ private ObjectService objectService;
+ private VersioningService versioningService;
+ private DiscoveryService discoveryService;
+ private MultiFilingService multiFilingService;
+ private RelationshipService relationshipService;
+ private PolicyService policyService;
+ private AclService aclService;
+
+ public void initialize(BindingSession session)
+ {
+ repositoryService = new RepositoryService(session);
+ navigationService = new NavigationService(session);
+ objectService = new ObjectService(session);
+ versioningService = new VersioningService(session);
+ discoveryService = new DiscoveryService(session);
+ multiFilingService = new MultiFilingService(session);
+ relationshipService = new RelationshipService(session);
+ policyService = new PolicyService(session);
+ aclService = new AclService(session);
+ }
+
+ public IRepositoryService GetRepositoryService()
+ {
+ return repositoryService;
+ }
+
+ public INavigationService GetNavigationService()
+ {
+ return navigationService;
+ }
+
+ public IObjectService GetObjectService()
+ {
+ return objectService;
+ }
+
+ public IVersioningService GetVersioningService()
+ {
+ return versioningService;
+ }
+
+ public IRelationshipService GetRelationshipService()
+ {
+ return relationshipService;
+ }
+
+ public IDiscoveryService GetDiscoveryService()
+ {
+ return discoveryService;
+ }
+
+ public IMultiFilingService GetMultiFilingService()
+ {
+ return multiFilingService;
+ }
+
+ public IAclService GetAclService()
+ {
+ return aclService;
+ }
+
+ public IPolicyService GetPolicyService()
+ {
+ return policyService;
+ }
+
+ public void ClearAllCaches()
+ {
+ // nothing to do
+ }
+
+ public void ClearRepositoryCache(string repositoryId)
+ {
+ // nothing to do
+ }
+
+ public void Close()
+ {
+ // nothing to do
+ }
+ }
+
+ internal abstract class AbstractAtomPubService
+ {
+ protected const string NameCollection = "collection";
+ protected const string NameURITemplate = "uritemplate";
+ protected const string NamePathSegment = "pathSegment";
+ protected const string NameRelativePathSegment = "relativePathSegment";
+ protected const string NameNumItems = "numItems";
+
+ private const string SessionLinkCache = "org.apache.chemistry.dotcmis.binding.atompub.linkcache";
+
+ protected enum IdentifierType
+ {
+ Id, Path
+ };
+
+ protected BindingSession Session { get; set; }
+
+
+ // ---- link cache ----
+
+ protected LinkCache GetLinkCache()
+ {
+ LinkCache linkCache = (LinkCache)Session.GetValue(SessionLinkCache);
+ if (linkCache == null)
+ {
+ linkCache = new LinkCache(Session);
+ Session.PutValue(SessionLinkCache, linkCache);
+ }
+
+ return linkCache;
+ }
+
+ protected string GetLink(string repositoryId, string id, string rel, string type)
+ {
+ if (repositoryId == null)
+ {
+ throw new CmisInvalidArgumentException("Repository id must be set!");
+ }
+
+ if (id == null)
+ {
+ throw new CmisInvalidArgumentException("Object id must be set!");
+ }
+
+ return GetLinkCache().GetLink(repositoryId, id, rel, type);
+ }
+
+ protected string GetLink(string repositoryId, string id, string rel)
+ {
+ return GetLink(repositoryId, id, rel, null);
+ }
+
+ protected string LoadLink(string repositoryId, string id, string rel, string type)
+ {
+ string link = GetLink(repositoryId, id, rel, type);
+ if (link == null)
+ {
+ GetObjectInternal(repositoryId, IdentifierType.Id, id, ReturnVersion.This, null, null, null, null, null, null, null);
+ link = GetLink(repositoryId, id, rel, type);
+ }
+
+ return link;
+ }
+
+ protected void AddLink(string repositoryId, string id, string rel, string type, string link)
+ {
+ GetLinkCache().AddLink(repositoryId, id, rel, type, link);
+ }
+
+ protected void AddLink(string repositoryId, string id, AtomLink link)
+ {
+ GetLinkCache().AddLink(repositoryId, id, link.Rel, link.Type, link.Href);
+ }
+
+ protected void RemoveLinks(string repositoryId, string id)
+ {
+ GetLinkCache().RemoveLinks(repositoryId, id);
+ }
+
+ protected void LockLinks()
+ {
+ GetLinkCache().LockLinks();
+ }
+
+ protected void UnlockLinks()
+ {
+ GetLinkCache().UnlockLinks();
+ }
+
+ protected string GetTypeLink(string repositoryId, string typeId, string rel, string type)
+ {
+ if (repositoryId == null)
+ {
+ throw new CmisInvalidArgumentException("Repository id must be set!");
+ }
+
+ if (typeId == null)
+ {
+ throw new CmisInvalidArgumentException("Type id must be set!");
+ }
+
+ return GetLinkCache().GetTypeLink(repositoryId, typeId, rel, type);
+ }
+
+ protected string GetTypeLink(string repositoryId, string typeId, string rel)
+ {
+ return GetTypeLink(repositoryId, typeId, rel, null);
+ }
+
+ protected string LoadTypeLink(string repositoryId, string typeId, string rel, string type)
+ {
+ string link = GetTypeLink(repositoryId, typeId, rel, type);
+ if (link == null)
+ {
+ GetTypeDefinitionInternal(repositoryId, typeId);
+ link = GetTypeLink(repositoryId, typeId, rel, type);
+ }
+
+ return link;
+ }
+
+ protected void AddTypeLink(string repositoryId, string typeId, string rel, string type, string link)
+ {
+ GetLinkCache().AddTypeLink(repositoryId, typeId, rel, type, link);
+ }
+
+ protected void AddTypeLink(string repositoryId, string typeId, AtomLink link)
+ {
+ GetLinkCache().AddTypeLink(repositoryId, typeId, link.Rel, link.Type, link.Href);
+ }
+
+ protected void RemoveTypeLinks(string repositoryId, string id)
+ {
+ GetLinkCache().RemoveTypeLinks(repositoryId, id);
+ }
+
+ protected void LockTypeLinks()
+ {
+ GetLinkCache().LockTypeLinks();
+ }
+
+ protected void UnlockTypeLinks()
+ {
+ GetLinkCache().UnlockTypeLinks();
+ }
+
+ protected string GetCollection(string repositoryId, string collection)
+ {
+ return GetLinkCache().GetCollection(repositoryId, collection);
+ }
+
+ protected string LoadCollection(string repositoryId, string collection)
+ {
+ string link = GetCollection(repositoryId, collection);
+ if (link == null)
+ {
+ GetRepositoriesInternal(repositoryId);
+ link = GetCollection(repositoryId, collection);
+ }
+
+ return link;
+ }
+
+ protected void AddCollection(string repositoryId, string collection, string link)
+ {
+ GetLinkCache().AddCollection(repositoryId, collection, link);
+ }
+
+ protected void AddCollection(string repositoryId, IDictionary<string, string> colDict)
+ {
+ string collection = null;
+ colDict.TryGetValue("collectionType", out collection);
+
+ string link = null;
+ colDict.TryGetValue("href", out link);
+
+ AddCollection(repositoryId, collection, link);
+ }
+
+ protected string GetRepositoryLink(string repositoryId, string rel)
+ {
+ return GetLinkCache().GetRepositoryLink(repositoryId, rel);
+ }
+
+ protected string LoadRepositoryLink(string repositoryId, string rel)
+ {
+ string link = GetRepositoryLink(repositoryId, rel);
+ if (link == null)
+ {
+ GetRepositoriesInternal(repositoryId);
+ link = GetRepositoryLink(repositoryId, rel);
+ }
+
+ return link;
+ }
+
+ protected void AddRepositoryLink(string repositoryId, string rel, string link)
+ {
+ GetLinkCache().AddRepositoryLink(repositoryId, rel, link);
+ }
+
+ protected void AddRepositoryLink(string repositoryId, AtomLink link)
+ {
+ AddRepositoryLink(repositoryId, link.Rel, link.Href);
+ }
+
+ protected string GetTemplateLink(string repositoryId, string type, IDictionary<string, object> parameters)
+ {
+ return GetLinkCache().GetTemplateLink(repositoryId, type, parameters);
+ }
+
+ protected string LoadTemplateLink(string repositoryId, string type, IDictionary<string, object> parameters)
+ {
+ string link = GetTemplateLink(repositoryId, type, parameters);
+ if (link == null)
+ {
+ GetRepositoriesInternal(repositoryId);
+ link = GetTemplateLink(repositoryId, type, parameters);
+ }
+
+ return link;
+ }
+
+ protected void AddTemplate(string repositoryId, string type, string link)
+ {
+ GetLinkCache().AddTemplate(repositoryId, type, link);
+ }
+
+ protected void AddTemplate(string repositoryId, IDictionary<string, string> tempDict)
+ {
+ string type = null;
+ tempDict.TryGetValue("type", out type);
+
+ string template = null;
+ tempDict.TryGetValue("template", out template);
+
+ AddTemplate(repositoryId, type, template);
+ }
+
+ // ---- exceptions ----
+
+ protected CmisBaseException ConvertStatusCode(HttpStatusCode code, string message, string errorContent, Exception e)
+ {
+ switch (code)
+ {
+ case HttpStatusCode.BadRequest:
+ return new CmisInvalidArgumentException(message, errorContent, e);
+ case HttpStatusCode.NotFound:
+ return new CmisObjectNotFoundException(message, errorContent, e);
+ case HttpStatusCode.Forbidden:
+ return new CmisPermissionDeniedException(message, errorContent, e);
+ case HttpStatusCode.MethodNotAllowed:
+ return new CmisNotSupportedException(message, errorContent, e);
+ case HttpStatusCode.Conflict:
+ return new CmisConstraintException(message, errorContent, e);
+ default:
+ return new CmisRuntimeException(message, errorContent, e);
+ }
+ }
+
+ protected void ThrowLinkException(String repositoryId, String id, String rel, String type)
+ {
+ int index = GetLinkCache().CheckLink(repositoryId, id, rel, type);
+
+ switch (index)
+ {
+ case 0:
+ throw new CmisObjectNotFoundException("Unknown repository!");
+ case 1:
+ throw new CmisObjectNotFoundException("Unknown object!");
+ case 2:
+ throw new CmisNotSupportedException("Operation not supported by the repository for this object!");
+ case 3:
+ throw new CmisNotSupportedException("No link with matching media type!");
+ case 4:
+ throw new CmisRuntimeException("Nothing wrong! Either this is a bug or threading issue.");
+ default:
+ throw new CmisRuntimeException("Unknown error!");
+ }
+ }
+
+ // ---- helpers ----
+
+ protected T Parse<T>(Stream stream) where T : AtomBase
+ {
+ AtomPubParser parser = new AtomPubParser(stream);
+
+ try
+ {
+ parser.Parse();
+ }
+ catch (Exception e)
+ {
+ throw new CmisConnectionException("Parsing exception!", e);
+ }
+
+ AtomBase parseResult = parser.GetParseResults();
+
+ if (!typeof(T).IsInstanceOfType(parseResult))
+ {
+ throw new CmisConnectionException("Unexpected document! Received "
+ + (parseResult == null ? "something unknown" : parseResult.GetAtomType()) + "!");
+ }
+
+ return (T)parseResult;
+ }
+
+ protected HttpUtils.Response Read(UrlBuilder url)
+ {
+ HttpUtils.Response resp = HttpUtils.InvokeGET(url, Session);
+
+ if (resp.StatusCode != HttpStatusCode.OK)
+ {
+ throw ConvertStatusCode(resp.StatusCode, resp.Message, resp.ErrorContent, null);
+ }
+
+ return resp;
+ }
+
+ protected HttpUtils.Response Post(UrlBuilder url, string contentType, HttpUtils.Output writer)
+ {
+ HttpUtils.Response resp = HttpUtils.InvokePOST(url, contentType, writer, Session);
+
+ if (resp.StatusCode != HttpStatusCode.Created)
+ {
+ throw ConvertStatusCode(resp.StatusCode, resp.Message, resp.ErrorContent, null);
+ }
+
+ return resp;
+ }
+
+ protected HttpUtils.Response Put(UrlBuilder url, string contentType, HttpUtils.Output writer)
+ {
+ HttpUtils.Response resp = HttpUtils.InvokePUT(url, contentType, writer, Session);
+
+ if ((int)resp.StatusCode < 200 || (int)resp.StatusCode > 299)
+ {
+ throw ConvertStatusCode(resp.StatusCode, resp.Message, resp.ErrorContent, null);
+ }
+
+ return resp;
+ }
+
+ protected void Delete(UrlBuilder url)
+ {
+ HttpUtils.Response resp = HttpUtils.InvokeDELETE(url, Session);
+
+ if (resp.StatusCode != HttpStatusCode.NoContent)
+ {
+ throw ConvertStatusCode(resp.StatusCode, resp.Message, resp.ErrorContent, null);
+ }
+ }
+
+ protected string GetServiceDocURL()
+ {
+ return Session.GetValue(SessionParameter.AtomPubUrl) as string;
+ }
+
+ protected bool IsNextLink(AtomElement element)
+ {
+ return AtomPubConstants.RelNext == ((AtomLink)element.Object).Rel;
+ }
+
+ protected bool IsStr(string name, AtomElement element)
+ {
+ return name == element.LocalName && element.Object is string;
+ }
+
+ protected bool IsInt(string name, AtomElement element)
+ {
+ return name == element.LocalName && element.Object is Int64;
+ }
+
+ // ---- common methods ----
+
+ protected cmisObjectType CreateIdObject(string objectId)
+ {
+ cmisObjectType cmisObject = new cmisObjectType();
+
+ cmisPropertiesType properties = new cmisPropertiesType();
+ cmisObject.properties = properties;
+
+ cmisPropertyId idProperty = new cmisPropertyId();
+ properties.Items = new cmisProperty[] { idProperty };
+ idProperty.propertyDefinitionId = PropertyIds.ObjectId;
+ idProperty.value = new string[] { objectId };
+
+ return cmisObject;
+ }
+
+ protected bool IsAclMergeRequired(IAcl addAces, IAcl removeAces)
+ {
+ return (addAces != null && addAces.Aces != null && addAces.Aces.Count > 0)
+ || (removeAces != null && removeAces.Aces != null && removeAces.Aces.Count > 0);
+ }
+
+ protected IAcl MergeAcls(IAcl originalAces, IAcl addAces, IAcl removeAces)
+ {
+ IDictionary<string, HashSet<string>> originals = ConvertAclToDict(originalAces);
+ IDictionary<string, HashSet<string>> adds = ConvertAclToDict(addAces);
+ IDictionary<string, HashSet<string>> removes = ConvertAclToDict(removeAces);
+ IList<IAce> newACEs = new List<IAce>();
+
+ // iterate through the original ACEs
+ foreach (KeyValuePair<string, HashSet<string>> ace in originals)
+ {
+ // add permissions
+ HashSet<string> addPermissions = adds[ace.Key];
+ if (addPermissions != null)
+ {
+ foreach (string perm in addPermissions)
+ {
+ ace.Value.Add(perm);
+ }
+ }
+
+ // remove permissions
+ HashSet<string> removePermissions = removes[ace.Key];
+ if (removePermissions != null)
+ {
+ foreach (string perm in removePermissions)
+ {
+ ace.Value.Remove(perm);
+ }
+ }
+
+ // create new ACE
+ Ace resultAce = new Ace();
+ Principal resultPrincipal = new Principal();
+ resultPrincipal.Id = ace.Key;
+ resultAce.Principal = resultPrincipal;
+ resultAce.Permissions = new List<string>(ace.Value);
+
+ newACEs.Add(resultAce);
+ }
+
+ // find all ACEs that should be added but are not in the original ACE list
+ foreach (KeyValuePair<string, HashSet<string>> ace in adds)
+ {
+ if (!originals.ContainsKey(ace.Key) && ace.Value.Count > 0)
+ {
+ Ace resultAce = new Ace();
+ Principal resultPrincipal = new Principal();
+ resultPrincipal.Id = ace.Key;
+ resultAce.Principal = resultPrincipal;
+ resultAce.Permissions = new List<string>(ace.Value);
+
+ newACEs.Add(resultAce);
+ }
+ }
+
+ Acl result = new Acl();
+ result.Aces = newACEs;
+
+ return result;
+ }
+
+ private IDictionary<string, HashSet<string>> ConvertAclToDict(IAcl acl)
+ {
+ IDictionary<string, HashSet<string>> result = new Dictionary<string, HashSet<string>>();
+
+ if (acl == null || acl.Aces == null)
+ {
+ return result;
+ }
+
+ foreach (Ace ace in acl.Aces)
+ {
+ // don't consider indirect ACEs - we can't change them
+ if (!ace.IsDirect)
+ {
+ // ignore
+ continue;
+ }
+
+ // although a principal must not be null, check it
+ if ((ace.Principal == null) || (ace.Principal.Id == null))
+ {
+ // ignore
+ continue;
+ }
+
+ if (ace.Permissions == null)
+ {
+ continue;
+ }
+
+ HashSet<string> permissions;
+ if (!result.TryGetValue(ace.Principal.Id, out permissions))
+ {
+ permissions = new HashSet<string>();
+ result[ace.Principal.Id] = permissions;
+ }
+
+ foreach (string perm in ace.Permissions)
+ {
+ permissions.Add(perm);
+ }
+ }
+
+ return result;
+ }
+
+
+ protected AtomAcl UpdateAcl(string repositoryId, string objectId, IAcl acl, AclPropagation? aclPropagation)
+ {
+ // find the link
+ String link = LoadLink(repositoryId, objectId, AtomPubConstants.RelACL, AtomPubConstants.MediatypeACL);
+
+ if (link == null)
+ {
+ ThrowLinkException(repositoryId, objectId, AtomPubConstants.RelACL, AtomPubConstants.MediatypeACL);
+ }
+
+ UrlBuilder aclUrl = new UrlBuilder(link);
+ aclUrl.AddParameter(AtomPubConstants.ParamACLPropagation, aclPropagation);
+
+ // set up object and writer
+ cmisAccessControlListType cmisAcl = Converter.Convert(acl);
+ HttpUtils.Output output = delegate(Stream stream)
+ {
+ AtomWriter.AclSerializer.Serialize(stream, cmisAcl);
+ };
+
+ // update
+ HttpUtils.Response resp = Put(aclUrl, AtomPubConstants.MediatypeACL, output);
+
+ // parse new acl
+ return Parse<AtomAcl>(resp.Stream);
+ }
+
+ protected IList<IRepositoryInfo> GetRepositoriesInternal(string repositoryId)
+ {
+ IList<IRepositoryInfo> repInfos = new List<IRepositoryInfo>();
+
+ // retrieve service doc
+ UrlBuilder url = new UrlBuilder(GetServiceDocURL());
+ url.AddParameter(AtomPubConstants.ParamRepositoryId, repositoryId);
+
+ // read and parse
+ HttpUtils.Response resp = Read(url);
+ ServiceDoc serviceDoc = Parse<ServiceDoc>(resp.Stream);
+
+ // walk through the workspaces
+ foreach (RepositoryWorkspace ws in serviceDoc.GetWorkspaces())
+ {
+ if (ws.Id == null)
+ {
+ // found a non-CMIS workspace
+ continue;
+ }
+
+ foreach (AtomElement element in ws.GetElements())
+ {
+ if (element.LocalName == NameCollection)
+ {
+ AddCollection(ws.Id, (IDictionary<string, string>)element.Object);
+ }
+ else if (element.Object is AtomLink)
+ {
+ AddRepositoryLink(ws.Id, (AtomLink)element.Object);
+ }
+ else if (element.LocalName == NameURITemplate)
+ {
+ AddTemplate(ws.Id, (IDictionary<string, string>)element.Object);
+ }
+ else if (element.Object is cmisRepositoryInfoType)
+ {
+ repInfos.Add(Converter.Convert((cmisRepositoryInfoType)element.Object));
+ }
+ }
+ }
+
+ return repInfos;
+ }
+
+ protected IObjectData GetObjectInternal(string repositoryId, IdentifierType idOrPath, string objectIdOrPath,
+ ReturnVersion? returnVersion, string filter, bool? includeAllowableActions, IncludeRelationships? includeRelationships,
+ string renditionFilter, bool? includePolicyIds, bool? includeAcl, IExtensionsData extension)
+ {
+ IObjectData result = null;
+
+ Dictionary<string, object> parameters = new Dictionary<string, object>();
+ parameters[AtomPubConstants.ParamId] = objectIdOrPath;
+ parameters[AtomPubConstants.ParamPath] = objectIdOrPath;
+ parameters[AtomPubConstants.ParamReturnVersion] = returnVersion;
+ parameters[AtomPubConstants.ParamFilter] = filter;
+ parameters[AtomPubConstants.ParamAllowableActions] = includeAllowableActions;
+ parameters[AtomPubConstants.ParamACL] = includeAcl;
+ parameters[AtomPubConstants.ParamPolicyIds] = includePolicyIds;
+ parameters[AtomPubConstants.ParamRelationships] = includeRelationships;
+ parameters[AtomPubConstants.ParamRenditionFilter] = renditionFilter;
+
+ string link = LoadTemplateLink(repositoryId, (idOrPath == IdentifierType.Id ? AtomPubConstants.TemplateObjectById
+ : AtomPubConstants.TemplateObjectByPath), parameters);
+ if (link == null)
+ {
+ throw new CmisObjectNotFoundException("Unknown repository!");
+ }
+
+ UrlBuilder url = new UrlBuilder(link);
+ // workaround for missing template parameter in the CMIS spec
+ if ((returnVersion != null) && (returnVersion != ReturnVersion.This))
+ {
+ url.AddParameter(AtomPubConstants.ParamReturnVersion, returnVersion);
+ }
+
+ HttpUtils.Response resp = Read(url);
+ AtomEntry entry = Parse<AtomEntry>(resp.Stream);
+
+ if (entry.Id == null)
+ {
+ throw new CmisConnectionException("Received Atom entry is not a CMIS entry!");
+ }
+
+ LockLinks();
+ try
+ {
+ RemoveLinks(repositoryId, entry.Id);
+
+ foreach (AtomElement element in entry.GetElements())
+ {
+ if (element.Object is AtomLink)
+ {
+ AddLink(repositoryId, entry.Id, (AtomLink)element.Object);
+ }
+ else if (element.Object is cmisObjectType)
+ {
+ result = Converter.Convert((cmisObjectType)element.Object);
+ }
+ }
+ }
+ finally
+ {
+ UnlockLinks();
+ }
+
+ return result;
+ }
+
+ protected ITypeDefinition GetTypeDefinitionInternal(string repositoryId, string typeId)
+ {
+ ITypeDefinition result = null;
+
+ Dictionary<string, object> parameters = new Dictionary<string, object>();
+ parameters[AtomPubConstants.ParamId] = typeId;
+
+ string link = LoadTemplateLink(repositoryId, AtomPubConstants.TemplateTypeById, parameters);
+ if (link == null)
+ {
+ throw new CmisObjectNotFoundException("Unknown repository!");
+ }
+
+ // read and parse
+ HttpUtils.Response resp = Read(new UrlBuilder(link));
+ AtomEntry entry = Parse<AtomEntry>(resp.Stream);
+
+ // we expect a CMIS entry
+ if (entry.Id == null)
+ {
+ throw new CmisConnectionException("Received Atom entry is not a CMIS entry!");
+ }
+
+ LockTypeLinks();
+ try
+ {
+ // clean up cache
+ RemoveTypeLinks(repositoryId, entry.Id);
+
+ // walk through the entry
+ foreach (AtomElement element in entry.GetElements())
+ {
+ if (element.Object is AtomLink)
+ {
+ AddTypeLink(repositoryId, entry.Id, (AtomLink)element.Object);
+ }
+ else if (element.Object is cmisTypeDefinitionType)
+ {
+ result = Converter.Convert((cmisTypeDefinitionType)element.Object);
+ }
+ }
+ }
+ finally
+ {
+ UnlockTypeLinks();
+ }
+
+ return result;
+ }
+ }
+
+ internal class RepositoryService : AbstractAtomPubService, IRepositoryService
+ {
+ public RepositoryService(BindingSession session)
+ {
+ Session = session;
+ }
+
+ public IList<IRepositoryInfo> GetRepositoryInfos(IExtensionsData extension)
+ {
+ return GetRepositoriesInternal(null);
+ }
+
+ public IRepositoryInfo GetRepositoryInfo(string repositoryId, IExtensionsData extension)
+ {
+ IList<IRepositoryInfo> repositoryInfos = GetRepositoriesInternal(repositoryId);
+
+ // find the repository
+ foreach (IRepositoryInfo info in repositoryInfos)
+ {
+ if (info.Id == null) { continue; }
+ if (info.Id == repositoryId) { return info; }
+ }
+
+ throw new CmisObjectNotFoundException("Repository not found!");
+ }
+
+ public ITypeDefinitionList GetTypeChildren(string repositoryId, string typeId, bool? includePropertyDefinitions,
+ long? maxItems, long? skipCount, IExtensionsData extension)
+ {
+ TypeDefinitionList result = new TypeDefinitionList();
+
+ // find the link
+ string link = null;
+ if (typeId == null)
+ {
+ link = LoadCollection(repositoryId, AtomPubConstants.CollectionTypes);
+ }
+ else
+ {
+ link = LoadTypeLink(repositoryId, typeId, AtomPubConstants.RelDown, AtomPubConstants.MediatypeChildren);
+ }
+
+ if (link == null)
+ {
+ throw new CmisObjectNotFoundException("Unknown repository or type!");
+ }
+
+ UrlBuilder url = new UrlBuilder(link);
+ url.AddParameter(AtomPubConstants.ParamTypeId, typeId);
+ url.AddParameter(AtomPubConstants.ParamPropertyDefinitions, includePropertyDefinitions);
+ url.AddParameter(AtomPubConstants.ParamMaxItems, maxItems);
+ url.AddParameter(AtomPubConstants.ParamSkipCount, skipCount);
+
+ // read and parse
+ HttpUtils.Response resp = Read(url);
+ AtomFeed feed = Parse<AtomFeed>(resp.Stream);
+
+ // handle top level
+ foreach (AtomElement element in feed.GetElements())
+ {
+ if (element.Object is AtomLink)
+ {
+ if (IsNextLink(element)) { result.HasMoreItems = true; }
+ }
+ else if (IsInt(NameNumItems, element))
+ {
+ result.NumItems = (long)element.Object;
+ }
+ }
+
+ result.List = new List<ITypeDefinition>(feed.GetEntries().Count);
+
+ // get the children
+ foreach (AtomEntry entry in feed.GetEntries())
+ {
+ ITypeDefinition child = null;
+
+ LockTypeLinks();
+ try
+ {
+ foreach (AtomElement element in entry.GetElements())
+ {
+ if (element.Object is AtomLink)
+ {
+ AddTypeLink(repositoryId, entry.Id, (AtomLink)element.Object);
+ }
+ else if (element.Object is cmisTypeDefinitionType)
+ {
+ child = Converter.Convert((cmisTypeDefinitionType)element.Object);
+ }
+ }
+ }
+ finally
+ {
+ UnlockTypeLinks();
+ }
+
+ if (child != null)
+ {
+ result.List.Add(child);
+ }
+ }
+
+ return result;
+ }
+
+ public IList<ITypeDefinitionContainer> GetTypeDescendants(string repositoryId, string typeId, long? depth,
+ bool? includePropertyDefinitions, IExtensionsData extension)
+ {
+ List<ITypeDefinitionContainer> result = new List<ITypeDefinitionContainer>();
+
+ // find the link
+ string link = null;
+ if (typeId == null)
+ {
+ link = LoadRepositoryLink(repositoryId, AtomPubConstants.RepRelTypeDesc);
+ }
+ else
+ {
+ link = LoadTypeLink(repositoryId, typeId, AtomPubConstants.RelDown, AtomPubConstants.MediatypeDescendants);
+ }
+
+ if (link == null)
+ {
+ throw new CmisObjectNotFoundException("Unknown repository or type!");
+ }
+
+ UrlBuilder url = new UrlBuilder(link);
+ url.AddParameter(AtomPubConstants.ParamTypeId, typeId);
+ url.AddParameter(AtomPubConstants.ParamDepth, depth);
+ url.AddParameter(AtomPubConstants.ParamPropertyDefinitions, includePropertyDefinitions);
+
+ // read and parse
+ HttpUtils.Response resp = Read(url);
+ AtomFeed feed = Parse<AtomFeed>(resp.Stream);
+
+ // process tree
+ AddTypeDescendantsLevel(repositoryId, feed, result);
+
+ return result;
+ }
+
+ private void AddTypeDescendantsLevel(string repositoryId, AtomFeed feed, List<ITypeDefinitionContainer> containerList)
+ {
+ if (feed == null || feed.GetEntries().Count == 0)
+ {
+ return;
+ }
+
+ foreach (AtomEntry entry in feed.GetEntries())
+ {
+ TypeDefinitionContainer childContainer = null;
+ List<ITypeDefinitionContainer> childContainerList = new List<ITypeDefinitionContainer>();
+
+ // walk through the entry
+ LockTypeLinks();
+ try
+ {
+ foreach (AtomElement element in entry.GetElements())
+ {
+ if (element.Object is AtomLink)
+ {
+ AddTypeLink(repositoryId, entry.Id, (AtomLink)element.Object);
+ }
+ else if (element.Object is cmisTypeDefinitionType)
+ {
+ childContainer = new TypeDefinitionContainer();
+ childContainer.TypeDefinition = Converter.Convert((cmisTypeDefinitionType)element.Object);
+ }
+ else if (element.Object is AtomFeed)
+ {
+ AddTypeDescendantsLevel(repositoryId, (AtomFeed)element.Object, childContainerList);
+ }
+ }
+ }
+ finally
+ {
+ UnlockTypeLinks();
+ }
+
+ if (childContainer != null)
+ {
+ childContainer.Children = childContainerList;
+ containerList.Add(childContainer);
+ }
+ }
+ }
+
+ public ITypeDefinition GetTypeDefinition(string repositoryId, string typeId, IExtensionsData extension)
+ {
+ return GetTypeDefinitionInternal(repositoryId, typeId);
+ }
+ }
+
+ internal class NavigationService : AbstractAtomPubService, INavigationService
+ {
+ public NavigationService(BindingSession session)
+ {
+ Session = session;
+ }
+
+ public IObjectInFolderList GetChildren(string repositoryId, string folderId, string filter, string orderBy,
+ bool? includeAllowableActions, IncludeRelationships? includeRelationships, string renditionFilter,
+ bool? includePathSegment, long? maxItems, long? skipCount, IExtensionsData extension)
+ {
+ ObjectInFolderList result = new ObjectInFolderList();
+
+ // find the link
+ String link = LoadLink(repositoryId, folderId, AtomPubConstants.RelDown, AtomPubConstants.MediatypeChildren);
+
+ if (link == null)
+ {
+ ThrowLinkException(repositoryId, folderId, AtomPubConstants.RelDown, AtomPubConstants.MediatypeChildren);
+ }
+
+ UrlBuilder url = new UrlBuilder(link);
+ url.AddParameter(AtomPubConstants.ParamFilter, filter);
+ url.AddParameter(AtomPubConstants.ParamOrderBy, orderBy);
+ url.AddParameter(AtomPubConstants.ParamAllowableActions, includeAllowableActions);
+ url.AddParameter(AtomPubConstants.ParamRelationships, includeRelationships);
+ url.AddParameter(AtomPubConstants.ParamRenditionFilter, renditionFilter);
+ url.AddParameter(AtomPubConstants.ParamPathSegment, includePathSegment);
+ url.AddParameter(AtomPubConstants.ParamMaxItems, maxItems);
+ url.AddParameter(AtomPubConstants.ParamSkipCount, skipCount);
+
+ // read and parse
+ HttpUtils.Response resp = Read(url);
+ AtomFeed feed = Parse<AtomFeed>(resp.Stream);
+
+ // handle top level
+ foreach (AtomElement element in feed.GetElements())
+ {
+ if (element.Object is AtomLink)
+ {
+ if (IsNextLink(element)) { result.HasMoreItems = true; }
+ }
+ else if (IsInt(NameNumItems, element))
+ {
+ result.NumItems = (long)element.Object;
+ }
+ }
+
+ // get the children
+ if (feed.GetEntries().Count > 0)
+ {
+ result.Objects = new List<IObjectInFolderData>(feed.GetEntries().Count);
+
+ foreach (AtomEntry entry in feed.GetEntries())
+ {
+ ObjectInFolderData child = null;
+ String pathSegment = null;
+
+ LockLinks();
+ try
+ {
+ // clean up cache
+ RemoveLinks(repositoryId, entry.Id);
+
+ // walk through the entry
+ foreach (AtomElement element in entry.GetElements())
+ {
+ if (element.Object is AtomLink)
+ {
+ AddLink(repositoryId, entry.Id, (AtomLink)element.Object);
+ }
+ else if (IsStr(NamePathSegment, element))
+ {
+ pathSegment = (string)element.Object;
+ }
+ else if (element.Object is cmisObjectType)
+ {
+ child = new ObjectInFolderData();
+ child.Object = Converter.Convert((cmisObjectType)element.Object);
+ }
+ }
+ }
+ finally
+ {
+ UnlockLinks();
+ }
+
+ if (child != null)
+ {
+ child.PathSegment = pathSegment;
+ result.Objects.Add(child);
+ }
+ }
+ }
+
+ return result;
+ }
+
+ public IList<IObjectInFolderContainer> GetDescendants(string repositoryId, string folderId, long? depth, string filter,
+ bool? includeAllowableActions, IncludeRelationships? includeRelationships, string renditionFilter,
+ bool? includePathSegment, IExtensionsData extension)
+ {
+ IList<IObjectInFolderContainer> result = new List<IObjectInFolderContainer>();
+
+ // find the link
+ String link = LoadLink(repositoryId, folderId, AtomPubConstants.RelDown, AtomPubConstants.MediatypeDescendants);
+
+ if (link == null)
+ {
+ ThrowLinkException(repositoryId, folderId, AtomPubConstants.RelDown, AtomPubConstants.MediatypeDescendants);
+ }
+
+ UrlBuilder url = new UrlBuilder(link);
+ url.AddParameter(AtomPubConstants.ParamDepth, depth);
+ url.AddParameter(AtomPubConstants.ParamFilter, filter);
+ url.AddParameter(AtomPubConstants.ParamAllowableActions, includeAllowableActions);
+ url.AddParameter(AtomPubConstants.ParamRelationships, includeRelationships);
+ url.AddParameter(AtomPubConstants.ParamRenditionFilter, renditionFilter);
+ url.AddParameter(AtomPubConstants.ParamPathSegment, includePathSegment);
+
+ // read and parse
+ HttpUtils.Response resp = Read(url);
+ AtomFeed feed = Parse<AtomFeed>(resp.Stream);
+
+ // process tree
+ AddDescendantsLevel(repositoryId, feed, result);
+
+ return result;
+ }
+
+ public IList<IObjectInFolderContainer> GetFolderTree(string repositoryId, string folderId, long? depth, string filter,
+ bool? includeAllowableActions, IncludeRelationships? includeRelationships, string renditionFilter,
+ bool? includePathSegment, IExtensionsData extension)
+ {
+ IList<IObjectInFolderContainer> result = new List<IObjectInFolderContainer>();
+
+ // find the link
+ string link = LoadLink(repositoryId, folderId, AtomPubConstants.RelFolderTree, AtomPubConstants.MediatypeDescendants);
+
+ if (link == null)
+ {
+ ThrowLinkException(repositoryId, folderId, AtomPubConstants.RelFolderTree, AtomPubConstants.MediatypeDescendants);
+ }
+
+ UrlBuilder url = new UrlBuilder(link);
+ url.AddParameter(AtomPubConstants.ParamDepth, depth);
+ url.AddParameter(AtomPubConstants.ParamFilter, filter);
+ url.AddParameter(AtomPubConstants.ParamAllowableActions, includeAllowableActions);
+ url.AddParameter(AtomPubConstants.ParamRelationships, includeRelationships);
+ url.AddParameter(AtomPubConstants.ParamRenditionFilter, renditionFilter);
+ url.AddParameter(AtomPubConstants.ParamPathSegment, includePathSegment);
+
+ // read and parse
+ HttpUtils.Response resp = Read(url);
+ AtomFeed feed = Parse<AtomFeed>(resp.Stream);
+
+ // process tree
+ AddDescendantsLevel(repositoryId, feed, result);
+
+ return result;
+ }
+
+ public IList<IObjectParentData> GetObjectParents(string repositoryId, string objectId, string filter,
+ bool? includeAllowableActions, IncludeRelationships? includeRelationships, string renditionFilter,
+ bool? includeRelativePathSegment, IExtensionsData extension)
+ {
+ IList<IObjectParentData> result = new List<IObjectParentData>();
+
+ // find the link
+ String link = LoadLink(repositoryId, objectId, AtomPubConstants.RelUp, AtomPubConstants.MediatypeFeed);
+
+ if (link == null)
+ {
+ // root and unfiled objects have no UP link
+ return result;
+ }
+
+ UrlBuilder url = new UrlBuilder(link);
+ url.AddParameter(AtomPubConstants.ParamFilter, filter);
+ url.AddParameter(AtomPubConstants.ParamAllowableActions, includeAllowableActions);
+ url.AddParameter(AtomPubConstants.ParamRelationships, includeRelationships);
+ url.AddParameter(AtomPubConstants.ParamRenditionFilter, renditionFilter);
+ url.AddParameter(AtomPubConstants.ParamRelativePathSegment, includeRelativePathSegment);
+
+ // read and parse
+ HttpUtils.Response resp = Read(url);
+ AtomBase atomBase = Parse<AtomBase>(resp.Stream);
+
+ if (atomBase is AtomFeed)
+ {
+ // it's a feed
+ AtomFeed feed = (AtomFeed)atomBase;
+
+ // walk through the feed
+ foreach (AtomEntry entry in feed.GetEntries())
+ {
+ IObjectParentData objectParent = ProcessParentEntry(entry, repositoryId);
+
+ if (objectParent != null)
+ {
+ result.Add(objectParent);
+ }
+ }
+ }
+ else if (atomBase is AtomEntry)
+ {
+ // it's an entry
+ AtomEntry entry = (AtomEntry)atomBase;
+
+ IObjectParentData objectParent = ProcessParentEntry(entry, repositoryId);
+
+ if (objectParent != null)
+ {
+ result.Add(objectParent);
+ }
+ }
+
+ return result;
+ }
+
+ private IObjectParentData ProcessParentEntry(AtomEntry entry, string repositoryId)
+ {
+ ObjectParentData result = null;
+ String relativePathSegment = null;
+
+ LockLinks();
+ try
+ {
+ // clean up cache
+ RemoveLinks(repositoryId, entry.Id);
+
+ // walk through the entry
+ foreach (AtomElement element in entry.GetElements())
+ {
+ if (element.Object is AtomLink)
+ {
+ AddLink(repositoryId, entry.Id, (AtomLink)element.Object);
+ }
+ else if (element.Object is cmisObjectType)
+ {
+ result = new ObjectParentData();
+ result.Object = Converter.Convert((cmisObjectType)element.Object);
+ }
+ else if (IsStr(NameRelativePathSegment, element))
+ {
+ relativePathSegment = (string)element.Object;
+ }
+ }
+ }
+ finally
+ {
+ UnlockLinks();
+ }
+
+ if (result != null)
+ {
+ result.RelativePathSegment = relativePathSegment;
+ }
+
+ return result;
+ }
+
+ public IObjectData GetFolderParent(string repositoryId, string folderId, string filter, ExtensionsData extension)
+ {
+ IObjectData result = null;
+
+ // find the link
+ String link = LoadLink(repositoryId, folderId, AtomPubConstants.RelUp, AtomPubConstants.MediatypeEntry);
+
+ if (link == null)
+ {
+ ThrowLinkException(repositoryId, folderId, AtomPubConstants.RelUp, AtomPubConstants.MediatypeEntry);
+ }
+
+ UrlBuilder url = new UrlBuilder(link);
+ url.AddParameter(AtomPubConstants.ParamFilter, filter);
+
+ // read
+ HttpUtils.Response resp = Read(url);
+ AtomBase atomBase = Parse<AtomBase>(resp.Stream);
+
+ // get the entry
+ AtomEntry entry = null;
+ if (atomBase is AtomFeed)
+ {
+ AtomFeed feed = (AtomFeed)atomBase;
+ if (feed.GetEntries().Count == 0)
+ {
+ throw new CmisRuntimeException("Parent feed is empty!");
+ }
+ entry = feed.GetEntries()[0];
+ }
+ else if (atomBase is AtomEntry)
+ {
+ entry = (AtomEntry)atomBase;
+ }
+ else
+ {
+ throw new CmisRuntimeException("Unexpected document!");
+ }
+
+ LockLinks();
+ try
+ {
+ // clean up cache
+ RemoveLinks(repositoryId, entry.Id);
+
+ // walk through the entry
+ foreach (AtomElement element in entry.GetElements())
+ {
+ if (element.Object is AtomLink)
+ {
+ AddLink(repositoryId, entry.Id, (AtomLink)element.Object);
+ }
+ else if (element.Object is cmisObjectType)
+ {
+ result = Converter.Convert((cmisObjectType)element.Object);
+ }
+ }
+ }
+ finally
+ {
+ UnlockLinks();
+ }
+
+ return result;
+ }
+
+ public IObjectList GetCheckedOutDocs(string repositoryId, string folderId, string filter, string orderBy,
+ bool? includeAllowableActions, IncludeRelationships? includeRelationships, string renditionFilter,
+ long? maxItems, long? skipCount, IExtensionsData extension)
+ {
+ ObjectList result = new ObjectList();
+
+ // find the link
+ String link = LoadCollection(repositoryId, AtomPubConstants.CollectionCheckedout);
+
+ if (link == null)
+ {
+ throw new CmisObjectNotFoundException("Unknown repository or checkedout collection not supported!");
+ }
+
+ UrlBuilder url = new UrlBuilder(link);
+ url.AddParameter(AtomPubConstants.ParamFolderId, folderId);
+ url.AddParameter(AtomPubConstants.ParamFilter, filter);
+ url.AddParameter(AtomPubConstants.ParamOrderBy, orderBy);
+ url.AddParameter(AtomPubConstants.ParamAllowableActions, includeAllowableActions);
+ url.AddParameter(AtomPubConstants.ParamRelationships, includeRelationships);
+ url.AddParameter(AtomPubConstants.ParamRenditionFilter, renditionFilter);
+ url.AddParameter(AtomPubConstants.ParamMaxItems, maxItems);
+ url.AddParameter(AtomPubConstants.ParamSkipCount, skipCount);
+
+ // read and parse
+ HttpUtils.Response resp = Read(url);
+ AtomFeed feed = Parse<AtomFeed>(resp.Stream);
+
+ // handle top level
+ foreach (AtomElement element in feed.GetElements())
+ {
+ if (element.Object is AtomLink)
+ {
+ if (IsNextLink(element))
+ {
+ result.HasMoreItems = true;
+ }
+ }
+ else if (IsInt(NameNumItems, element))
+ {
+ result.NumItems = (long)element.Object;
+ }
+ }
+
+ // get the documents
+ if (feed.GetEntries().Count > 0)
+ {
+ result.Objects = new List<IObjectData>(feed.GetEntries().Count);
+
+ foreach (AtomEntry entry in feed.GetEntries())
+ {
+ IObjectData child = null;
+
+ LockLinks();
+ try
+ {
+ // clean up cache
+ RemoveLinks(repositoryId, entry.Id);
+
+ // walk through the entry
+ foreach (AtomElement element in entry.GetElements())
+ {
+ if (element.Object is AtomLink)
+ {
+ AddLink(repositoryId, entry.Id, (AtomLink)element.Object);
+ }
+ else if (element.Object is cmisObjectType)
+ {
+ child = Converter.Convert((cmisObjectType)element.Object);
+ }
+ }
+ }
+ finally
+ {
+ UnlockLinks();
+ }
+
+ if (child != null)
+ {
+ result.Objects.Add(child);
+ }
+ }
+ }
+
+ return result;
+ }
+
+ private void AddDescendantsLevel(String repositoryId, AtomFeed feed, IList<IObjectInFolderContainer> containerList)
+ {
+ if ((feed == null) || (feed.GetEntries().Count == 0))
+ {
+ return;
+ }
+
+ // walk through the feed
+ foreach (AtomEntry entry in feed.GetEntries())
+ {
+ ObjectInFolderData objectInFolder = null;
+ string pathSegment = null;
+ IList<IObjectInFolderContainer> childContainerList = new List<IObjectInFolderContainer>();
+
+ LockLinks();
+ try
+ {
+ // clean up cache
+ RemoveLinks(repositoryId, entry.Id);
+
+ // walk through the entry
+ foreach (AtomElement element in entry.GetElements())
+ {
+ if (element.Object is AtomLink)
+ {
+ AddLink(repositoryId, entry.Id, (AtomLink)element.Object);
+ }
+ else if (element.Object is cmisObjectType)
+ {
+ objectInFolder = new ObjectInFolderData();
+ objectInFolder.Object = Converter.Convert((cmisObjectType)element.Object);
+ }
+ else if (IsStr(NamePathSegment, element))
+ {
+ pathSegment = (string)element.Object;
+ }
+ else if (element.Object is AtomFeed)
+ {
+ AddDescendantsLevel(repositoryId, (AtomFeed)element.Object, childContainerList);
+ }
+ }
+ }
+ finally
+ {
+ UnlockLinks();
+ }
+
+ if (objectInFolder != null)
+ {
+ objectInFolder.PathSegment = pathSegment;
+ ObjectInFolderContainer childContainer = new ObjectInFolderContainer();
+ childContainer.Object = objectInFolder;
+ childContainer.Children = childContainerList;
+ containerList.Add(childContainer);
+ }
+ }
+ }
+ }
+
+ internal class ObjectService : AbstractAtomPubService, IObjectService
+ {
+ public ObjectService(BindingSession session)
+ {
+ Session = session;
+ }
+
+ public string CreateDocument(string repositoryId, IProperties properties, string folderId, IContentStream contentStream,
+ VersioningState? versioningState, IList<string> policies, IAcl addAces, IAcl removeAces, IExtensionsData extension)
+ {
+ CheckCreateProperties(properties);
+
+ // find the link
+ string link = LoadLink(repositoryId, folderId, AtomPubConstants.RelDown, AtomPubConstants.MediatypeChildren);
+
+ if (link == null)
+ {
+ ThrowLinkException(repositoryId, folderId, AtomPubConstants.RelDown, AtomPubConstants.MediatypeChildren);
+ }
+
+ UrlBuilder url = new UrlBuilder(link);
+ url.AddParameter(AtomPubConstants.ParamVersioningState, versioningState);
+
+ // set up object and writer
+ cmisObjectType cmisObject = new cmisObjectType();
+ cmisObject.properties = Converter.Convert(properties);
+ cmisObject.policyIds = Converter.ConvertPolicies(policies);
+
+ String mediaType = null;
+ Stream stream = null;
+
+ if (contentStream != null)
+ {
+ mediaType = contentStream.MimeType;
+ stream = contentStream.Stream;
+ }
+
+ AtomEntryWriter entryWriter = new AtomEntryWriter(cmisObject, mediaType, stream);
+
+ // post the new folder object
+ HttpUtils.Response resp = Post(url, AtomPubConstants.MediatypeEntry, new HttpUtils.Output(entryWriter.Write));
+
+ // parse the response
+ AtomEntry entry = Parse<AtomEntry>(resp.Stream);
+
+ // handle ACL modifications
+ HandleAclModifications(repositoryId, entry, addAces, removeAces);
+
+ return entry.Id;
+ }
+
+ public string CreateDocumentFromSource(string repositoryId, string sourceId, IProperties properties, string folderId,
+ VersioningState? versioningState, IList<string> policies, IAcl addAces, IAcl removeAces, IExtensionsData extension)
+ {
+ throw new CmisNotSupportedException("createDocumentFromSource is not supported by the AtomPub binding!");
+ }
+
+ public string CreateFolder(string repositoryId, IProperties properties, string folderId, IList<string> policies,
+ IAcl addAces, IAcl removeAces, IExtensionsData extension)
+ {
+ CheckCreateProperties(properties);
+
+ // find the link
+ string link = LoadLink(repositoryId, folderId, AtomPubConstants.RelDown, AtomPubConstants.MediatypeChildren);
+
+ if (link == null)
+ {
+ ThrowLinkException(repositoryId, folderId, AtomPubConstants.RelDown, AtomPubConstants.MediatypeChildren);
+ }
+
+ UrlBuilder url = new UrlBuilder(link);
+
+
+ // set up object and writer
+ cmisObjectType cmisObject = new cmisObjectType();
+ cmisObject.properties = Converter.Convert(properties);
+ cmisObject.policyIds = Converter.ConvertPolicies(policies);
+
+ AtomEntryWriter entryWriter = new AtomEntryWriter(cmisObject);
+
+ // post the new folder object
+ HttpUtils.Response resp = Post(url, AtomPubConstants.MediatypeEntry, new HttpUtils.Output(entryWriter.Write));
+
+ // parse the response
+ AtomEntry entry = Parse<AtomEntry>(resp.Stream);
+
+ // handle ACL modifications
+ HandleAclModifications(repositoryId, entry, addAces, removeAces);
+
+ return entry.Id;
+ }
+
+ public string CreateRelationship(string repositoryId, IProperties properties, IList<string> policies, IAcl addAces,
+ IAcl removeAces, IExtensionsData extension)
+ {
+ CheckCreateProperties(properties);
+
+ // find source id
+ IPropertyData sourceIdProperty = properties[PropertyIds.SourceId];
+ if (!(sourceIdProperty is IPropertyId))
+ {
+ throw new CmisInvalidArgumentException("Source Id is not set!");
+ }
+
+ string sourceId = ((IPropertyId)sourceIdProperty).FirstValue;
+ if (sourceId == null)
+ {
+ throw new CmisInvalidArgumentException("Source Id is not set!");
+ }
+
+ // find the link
+ string link = LoadLink(repositoryId, sourceId, AtomPubConstants.RelRelationships, AtomPubConstants.MediatypeFeed);
+
+ if (link == null)
+ {
+ ThrowLinkException(repositoryId, sourceId, AtomPubConstants.RelRelationships, AtomPubConstants.MediatypeFeed);
+ }
+
+ UrlBuilder url = new UrlBuilder(link);
+
+ // set up object and writer
+ cmisObjectType cmisObject = new cmisObjectType();
+ cmisObject.properties = Converter.Convert(properties);
+ cmisObject.policyIds = Converter.ConvertPolicies(policies);
+
+ AtomEntryWriter entryWriter = new AtomEntryWriter(cmisObject);
+
+ // post the new folder object
+ HttpUtils.Response resp = Post(url, AtomPubConstants.MediatypeEntry, new HttpUtils.Output(entryWriter.Write));
+
+ // parse the response
+ AtomEntry entry = Parse<AtomEntry>(resp.Stream);
+
+ // handle ACL modifications
+ HandleAclModifications(repositoryId, entry, addAces, removeAces);
+
+ return entry.Id;
+ }
+
+ public string CreatePolicy(string repositoryId, IProperties properties, string folderId, IList<string> policies,
+ IAcl addAces, IAcl removeAces, IExtensionsData extension)
+ {
+ CheckCreateProperties(properties);
+
+ // find the link
+ string link = LoadLink(repositoryId, folderId, AtomPubConstants.RelDown, AtomPubConstants.MediatypeChildren);
+
+ if (link == null)
+ {
+ ThrowLinkException(repositoryId, folderId, AtomPubConstants.RelDown, AtomPubConstants.MediatypeChildren);
+ }
+
+ UrlBuilder url = new UrlBuilder(link);
+
+
+ // set up object and writer
+ cmisObjectType cmisObject = new cmisObjectType();
+ cmisObject.properties = Converter.Convert(properties);
+ cmisObject.policyIds = Converter.ConvertPolicies(policies);
+
+ AtomEntryWriter entryWriter = new AtomEntryWriter(cmisObject);
+
+ // post the new folder object
+ HttpUtils.Response resp = Post(url, AtomPubConstants.MediatypeEntry, new HttpUtils.Output(entryWriter.Write));
+
+ // parse the response
+ AtomEntry entry = Parse<AtomEntry>(resp.Stream);
+
+ // handle ACL modifications
+ HandleAclModifications(repositoryId, entry, addAces, removeAces);
+
+ return entry.Id;
+ }
+
+ public IAllowableActions GetAllowableActions(string repositoryId, string objectId, IExtensionsData extension)
+ {
+ // find the link
+ string link = LoadLink(repositoryId, objectId, AtomPubConstants.RelAllowableActions, AtomPubConstants.MediatypeAllowableAction);
+
+ if (link == null)
+ {
+ ThrowLinkException(repositoryId, objectId, AtomPubConstants.RelAllowableActions, AtomPubConstants.MediatypeAllowableAction);
+ }
+
+ UrlBuilder url = new UrlBuilder(link);
+
+ // read and parse
+ HttpUtils.Response resp = Read(url);
+ AtomAllowableActions allowableActions = Parse<AtomAllowableActions>(resp.Stream);
+
+ return Converter.Convert(allowableActions.AllowableActions);
+ }
+
+ public IProperties GetProperties(string repositoryId, string objectId, string filter, IExtensionsData extension)
+ {
+ IObjectData obj = GetObjectInternal(repositoryId, IdentifierType.Id, objectId, ReturnVersion.This, filter,
+ false, IncludeRelationships.None, "cmis:none", false, false, extension);
+
+ return obj.Properties;
+ }
+
+ public IList<IRenditionData> GetRenditions(string repositoryId, string objectId, string renditionFilter,
+ long? maxItems, long? skipCount, IExtensionsData extension)
+ {
+ IObjectData obj = GetObjectInternal(repositoryId, IdentifierType.Id, objectId, ReturnVersion.This,
+ PropertyIds.ObjectId, false, IncludeRelationships.None, renditionFilter, false, false, extension);
+
+ IList<IRenditionData> result = obj.Renditions;
+ if (result == null)
+ {
+ result = new List<IRenditionData>();
+ }
+
+ return result;
+ }
+
+ public IObjectData GetObject(string repositoryId, string objectId, string filter, bool? includeAllowableActions,
+ IncludeRelationships? includeRelationships, string renditionFilter, bool? includePolicyIds,
+ bool? includeAcl, IExtensionsData extension)
+ {
+ return GetObjectInternal(repositoryId, IdentifierType.Id, objectId, ReturnVersion.This, filter, includeAllowableActions,
+ includeRelationships, renditionFilter, includePolicyIds, includeAcl, extension);
+ }
+
+ public IObjectData GetObjectByPath(string repositoryId, string path, string filter, bool? includeAllowableActions,
+ IncludeRelationships? includeRelationships, string renditionFilter, bool? includePolicyIds, bool? includeAcl,
+ IExtensionsData extension)
+ {
+ return GetObjectInternal(repositoryId, IdentifierType.Path, path, ReturnVersion.This, filter, includeAllowableActions,
+ includeRelationships, renditionFilter, includePolicyIds, includeAcl, extension);
+ }
+
+ public IContentStream GetContentStream(string repositoryId, string objectId, string streamId, long? offset, long? length,
+ IExtensionsData extension)
+ {
+ ContentStream result = new ContentStream();
+
+ // find the link
+ string link = LoadLink(repositoryId, objectId, AtomPubConstants.LinkRelContent, null);
+
+ if (link == null)
+ {
+ throw new CmisConstraintException("No content stream");
+ }
+
+ UrlBuilder url = new UrlBuilder(link);
+ url.AddParameter(AtomPubConstants.ParamStreamId, streamId);
+
+ // get the content
+ if (offset != null && offset > Int32.MaxValue)
+ {
+ throw new CmisInvalidArgumentException("Offset >" + Int32.MaxValue);
+ }
+ if (length != null && length > Int32.MaxValue)
+ {
+ throw new CmisInvalidArgumentException("Length >" + Int32.MaxValue);
+ }
+ HttpUtils.Response resp = HttpUtils.InvokeGET(url, Session, (int?)offset, (int?)length);
+
+ // check response code
+ if (resp.StatusCode != HttpStatusCode.OK && resp.StatusCode != HttpStatusCode.PartialContent)
+ {
+ throw ConvertStatusCode(resp.StatusCode, resp.Message, resp.ErrorContent, null);
+ }
+
+ result.FileName = null;
+ result.Length = resp.ContentLength;
+ result.MimeType = resp.ContentType;
+ result.Stream = resp.Stream;
+
+ return result;
+ }
+
+ public void UpdateProperties(string repositoryId, ref string objectId, ref string changeToken, IProperties properties,
+ IExtensionsData extension)
+ {
+ // we need an object id
+ if (objectId == null || objectId.Length == 0)
+ {
+ throw new CmisInvalidArgumentException("Object id must be set!");
+ }
+
+ // find the link
+ string link = LoadLink(repositoryId, objectId, AtomPubConstants.RelSelf, AtomPubConstants.MediatypeEntry);
+
+ if (link == null)
+ {
+ ThrowLinkException(repositoryId, objectId, AtomPubConstants.RelSelf, AtomPubConstants.MediatypeEntry);
+ }
+
+ UrlBuilder url = new UrlBuilder(link);
+ url.AddParameter(AtomPubConstants.ParamChangeToken, changeToken);
+
+ // set up object and writer
+ cmisObjectType cmisObject = new cmisObjectType();
+ cmisObject.properties = Converter.Convert(properties);
+
+ AtomEntryWriter entryWriter = new AtomEntryWriter(cmisObject);
+
+ // update
+ HttpUtils.Response resp = Put(url, AtomPubConstants.MediatypeEntry, new HttpUtils.Output(entryWriter.Write));
+
+ // parse new entry
+ AtomEntry entry = Parse<AtomEntry>(resp.Stream);
+
+ // we expect a CMIS entry
+ if (entry.Id == null)
+ {
+ throw new CmisConnectionException("Received Atom entry is not a CMIS entry!");
+ }
+
+ // set object id
+ objectId = entry.Id;
+ changeToken = null;
+
+ LockLinks();
+ try
+ {
+ // clean up cache
+ RemoveLinks(repositoryId, entry.Id);
+
+ // walk through the entry
+ foreach (AtomElement element in entry.GetElements())
+ {
+ if (element.Object is AtomLink)
+ {
+ AddLink(repositoryId, entry.Id, (AtomLink)element.Object);
+ }
+ else if (element.Object is cmisObjectType)
+ {
+ // extract new change token
+ cmisObject = (cmisObjectType)element.Object;
+ if (cmisObject.properties != null)
+ {
+ foreach (cmisProperty property in cmisObject.properties.Items)
+ {
+ if (PropertyIds.ChangeToken == property.propertyDefinitionId && property is cmisPropertyString)
+ {
+ cmisPropertyString changeTokenProperty = (cmisPropertyString)property;
+ if (changeTokenProperty.value != null && changeTokenProperty.value.Length > 0)
+ {
+ changeToken = changeTokenProperty.value[0];
+ }
+ break;
+ }
+ }
+ }
+ }
+ }
+ }
+ finally
+ {
+ UnlockLinks();
+ }
+ }
+
+ public void MoveObject(string repositoryId, ref string objectId, string targetFolderId, string sourceFolderId,
+ IExtensionsData extension)
+ {
+ if (objectId == null || objectId.Length == 0)
+ {
+ throw new CmisInvalidArgumentException("Object id must be set!");
+ }
+
+ if (targetFolderId == null || targetFolderId.Length == 0 || sourceFolderId == null || sourceFolderId.Length == 0)
+ {
+ throw new CmisInvalidArgumentException("Source and target folder must be set!");
+ }
+
+ // find the link
+ String link = LoadLink(repositoryId, targetFolderId, AtomPubConstants.RelDown, AtomPubConstants.MediatypeChildren);
+
+ if (link == null)
+ {
+ ThrowLinkException(repositoryId, targetFolderId, AtomPubConstants.RelDown, AtomPubConstants.MediatypeChildren);
+ }
+
+ UrlBuilder url = new UrlBuilder(link);
+ url.AddParameter(AtomPubConstants.ParamSourceFolderId, sourceFolderId);
+
+ // set up object and writer
+ AtomEntryWriter entryWriter = new AtomEntryWriter(CreateIdObject(objectId));
+
+ // post move request
+ HttpUtils.Response resp = Post(url, AtomPubConstants.MediatypeEntry, new HttpUtils.Output(entryWriter.Write));
+
+ // parse the response
+ AtomEntry entry = Parse<AtomEntry>(resp.Stream);
+
+ objectId = entry.Id;
+ }
+
+ public void DeleteObject(string repositoryId, string objectId, bool? allVersions, IExtensionsData extension)
+ {
+ // find the link
+ string link = LoadLink(repositoryId, objectId, AtomPubConstants.RelSelf, AtomPubConstants.MediatypeEntry);
+
+ if (link == null)
+ {
+ ThrowLinkException(repositoryId, objectId, AtomPubConstants.RelSelf, AtomPubConstants.MediatypeEntry);
+ }
+
+ UrlBuilder url = new UrlBuilder(link);
+ url.AddParameter(AtomPubConstants.ParamAllVersions, allVersions);
+
+ Delete(url);
+ }
+
+ public IFailedToDeleteData DeleteTree(string repositoryId, string folderId, bool? allVersions, UnfileObject? unfileObjects,
+ bool? continueOnFailure, ExtensionsData extension)
+ {
+ // find the link
+ String link = LoadLink(repositoryId, folderId, AtomPubConstants.RelDown, AtomPubConstants.MediatypeDescendants);
+
+ if (link == null)
+ {
+ ThrowLinkException(repositoryId, folderId, AtomPubConstants.RelDown, AtomPubConstants.MediatypeDescendants);
+ }
+
+ UrlBuilder url = new UrlBuilder(link);
+ url.AddParameter(AtomPubConstants.ParamAllVersions, allVersions);
+ url.AddParameter(AtomPubConstants.ParamUnfildeObjects, unfileObjects);
+ url.AddParameter(AtomPubConstants.ParamContinueOnFailure, continueOnFailure);
+
+ // make the call
+ HttpUtils.Response resp = HttpUtils.InvokeDELETE(url, Session);
+
+ // check response code
+ if (resp.StatusCode == HttpStatusCode.OK || resp.StatusCode == HttpStatusCode.Accepted || resp.StatusCode == HttpStatusCode.NoContent)
+ {
+ return new FailedToDeleteData();
+ }
+
+ throw ConvertStatusCode(resp.StatusCode, resp.Message, resp.ErrorContent, null);
+ }
+
+ public void SetContentStream(string repositoryId, ref string objectId, bool? overwriteFlag, ref string changeToken,
+ IContentStream contentStream, IExtensionsData extension)
+ {
+ if (objectId == null)
+ {
+ throw new CmisInvalidArgumentException("Object ID must be set!");
+ }
+
+ // we need content
+ if (contentStream == null || contentStream.Stream == null || contentStream.MimeType == null)
+ {
+ throw new CmisInvalidArgumentException("Content must be set!");
+ }
+
+ // find the link
+ String link = LoadLink(repositoryId, objectId, AtomPubConstants.RelEditMedia, null);
+
+ if (link == null)
+ {
+ ThrowLinkException(repositoryId, objectId, AtomPubConstants.RelEditMedia, null);
+ }
+
+ UrlBuilder url = new UrlBuilder(link);
+ url.AddParameter(AtomPubConstants.ParamChangeToken, changeToken);
+ url.AddParameter(AtomPubConstants.ParamOverwriteFlag, overwriteFlag);
+
+ HttpUtils.Output output = delegate(Stream stream)
+ {
+ int b;
+ byte[] buffer = new byte[4096];
+ while ((b = contentStream.Stream.Read(buffer, 0, buffer.Length)) > -1)
+ {
+ stream.Write(buffer, 0, b);
+ }
+
+ contentStream.Stream.Close();
+ };
+
+ // send content
+ HttpUtils.Response resp = HttpUtils.InvokePUT(url, contentStream.MimeType, output, Session);
+
+ // check response code
+ if (resp.StatusCode != HttpStatusCode.OK && resp.StatusCode != HttpStatusCode.Created && resp.StatusCode != HttpStatusCode.NoContent)
+ {
+ throw ConvertStatusCode(resp.StatusCode, resp.Message, resp.ErrorContent, null);
+ }
+
+ objectId = null;
+ changeToken = null;
+ }
+
+ public void DeleteContentStream(string repositoryId, ref string objectId, ref string changeToken, IExtensionsData extension)
+ {
+ if (objectId == null)
+ {
+ throw new CmisInvalidArgumentException("Object ID must be set!");
+ }
+
+ // find the link
+ String link = LoadLink(repositoryId, objectId, AtomPubConstants.RelEditMedia, null);
+
+ if (link == null)
+ {
+ ThrowLinkException(repositoryId, objectId, AtomPubConstants.RelEditMedia, null);
+ }
+
+ UrlBuilder url = new UrlBuilder(link);
+ if (changeToken != null)
+ {
+ url.AddParameter(AtomPubConstants.ParamChangeToken, changeToken);
+ }
+
+ Delete(url);
+
+ objectId = null;
+ changeToken = null;
+ }
+
+ // ---- internal ---
+
+ private void CheckCreateProperties(IProperties properties)
+ {
+ if (properties == null || properties.PropertyList == null)
+ {
+ throw new CmisInvalidArgumentException("Properties must be set!");
+ }
+
+ if (properties[PropertyIds.ObjectTypeId] == null)
+ {
+ throw new CmisInvalidArgumentException("Property " + PropertyIds.ObjectTypeId + " must be set!");
+ }
+
+ if (properties[PropertyIds.ObjectId] != null)
+ {
+ throw new CmisInvalidArgumentException("Property " + PropertyIds.ObjectId + " must not be set!");
+ }
+ }
+
+ private void HandleAclModifications(String repositoryId, AtomEntry entry, IAcl addAces, IAcl removeAces)
+ {
+ if (!IsAclMergeRequired(addAces, removeAces))
+ {
+ return;
+ }
+
+ IAcl originalAces = null;
+
+ // walk through the entry and find the current ACL
+ foreach (AtomElement element in entry.GetElements())
+ {
+ if (element.Object is cmisObjectType)
+ {
+ // extract current ACL
+ cmisObjectType cmisObject = (cmisObjectType)element.Object;
+ originalAces = Converter.Convert(cmisObject.acl, cmisObject.exactACLSpecified ? (bool?)cmisObject.exactACL : null);
+
+ break;
+ }
+ }
+
+ if (originalAces != null)
+ {
+ // merge and update ACL
+ IAcl newACL = MergeAcls(originalAces, addAces, removeAces);
+ if (newACL != null)
+ {
+ UpdateAcl(repositoryId, entry.Id, newACL, null);
+ }
+ }
+ }
+ }
+
+ internal class VersioningService : AbstractAtomPubService, IVersioningService
+ {
+ public VersioningService(BindingSession session)
+ {
+ Session = session;
+ }
+
+ public void CheckOut(string repositoryId, ref string objectId, IExtensionsData extension, out bool? contentCopied)
+ {
+ if (objectId == null || objectId.Length == 0)
+ {
+ throw new CmisInvalidArgumentException("Object id must be set!");
+ }
+
+ // find the link
+ String link = LoadCollection(repositoryId, AtomPubConstants.CollectionCheckedout);
+
+ if (link == null)
+ {
+ throw new CmisObjectNotFoundException("Unknown repository or checkedout collection not supported!");
+ }
+
+ UrlBuilder url = new UrlBuilder(link);
+
+ // set up object and writer
+ AtomEntryWriter entryWriter = new AtomEntryWriter(CreateIdObject(objectId));
+
+ // post move request
+ HttpUtils.Response resp = Post(url, AtomPubConstants.MediatypeEntry, new HttpUtils.Output(entryWriter.Write));
+
+ // parse the response
+ AtomEntry entry = Parse<AtomEntry>(resp.Stream);
+
+ objectId = entry.Id;
+
+ LockLinks();
+ try
+ {
+ // clean up cache
+ RemoveLinks(repositoryId, entry.Id);
+
+ // walk through the entry
+ foreach (AtomElement element in entry.GetElements())
+ {
+ if (element.Object is AtomLink)
+ {
+ AddLink(repositoryId, entry.Id, (AtomLink)element.Object);
+ }
+ }
+ }
+ finally
+ {
+ UnlockLinks();
+ }
+
+ contentCopied = null;
+ }
+
+ public void CancelCheckOut(string repositoryId, string objectId, IExtensionsData extension)
+ {
+ // find the link
+ String link = LoadLink(repositoryId, objectId, AtomPubConstants.RelSelf, AtomPubConstants.MediatypeEntry);
+
+ if (link == null)
+ {
+ ThrowLinkException(repositoryId, objectId, AtomPubConstants.RelSelf, AtomPubConstants.MediatypeEntry);
+ }
+
+ Delete(new UrlBuilder(link));
+ }
+
+ public void CheckIn(string repositoryId, ref string objectId, bool? major, IProperties properties,
+ IContentStream contentStream, string checkinComment, List<string> policies, IAcl addAces, IAcl removeAces,
+ IExtensionsData extension)
+ {
+ // we need an object id
+ if (objectId == null || objectId.Length == 0)
+ {
+ throw new CmisInvalidArgumentException("Object id must be set!");
+ }
+
+ // find the link
+ string link = LoadLink(repositoryId, objectId, AtomPubConstants.RelSelf, AtomPubConstants.MediatypeEntry);
+
+ if (link == null)
+ {
+ ThrowLinkException(repositoryId, objectId, AtomPubConstants.RelSelf, AtomPubConstants.MediatypeEntry);
+ }
+
+ UrlBuilder url = new UrlBuilder(link);
+ url.AddParameter(AtomPubConstants.ParamCheckinComment, checkinComment);
+ url.AddParameter(AtomPubConstants.ParamMajor, major);
+ url.AddParameter(AtomPubConstants.ParamCheckIn, "true");
+
+ // set up object and writer
+ cmisObjectType cmisObject = new cmisObjectType();
+ cmisObject.properties = Converter.Convert(properties);
+ cmisObject.policyIds = Converter.ConvertPolicies(policies);
+
+ if (cmisObject.properties == null)
+ {
+ cmisObject.properties = new cmisPropertiesType();
+ }
+
+ string mediaType = null;
+ Stream stream = null;
+
+ if (contentStream != null)
+ {
+ mediaType = contentStream.MimeType;
+ stream = contentStream.Stream;
+ }
+
+ AtomEntryWriter entryWriter = new AtomEntryWriter(cmisObject, mediaType, stream);
+
+ // update
+ HttpUtils.Response resp = Put(url, AtomPubConstants.MediatypeEntry, new HttpUtils.Output(entryWriter.Write));
+
+ // parse new entry
+ AtomEntry entry = Parse<AtomEntry>(resp.Stream);
+
+ // we expect a CMIS entry
+ if (entry.Id == null)
+ {
+ throw new CmisConnectionException("Received Atom entry is not a CMIS entry!");
+ }
+
+ // set object id
+ objectId = entry.Id;
+
+ IAcl originalAces = null;
+
+ LockLinks();
+ try
+ {
+ // clean up cache
+ RemoveLinks(repositoryId, entry.Id);
+
+ // walk through the entry
+ foreach (AtomElement element in entry.GetElements())
+ {
+ if (element.Object is AtomLink)
+ {
+ AddLink(repositoryId, entry.Id, (AtomLink)element.Object);
+ }
+ else if (element.Object is cmisObjectType)
+ {
+ // extract current ACL
+ cmisObject = (cmisObjectType)element.Object;
+ originalAces = Converter.Convert(cmisObject.acl, cmisObject.exactACLSpecified ? (bool?)cmisObject.exactACL : null);
+ }
+ }
+ }
+ finally
+ {
+ UnlockLinks();
+ }
+
+ // handle ACL modifications
+ if ((originalAces != null) && (IsAclMergeRequired(addAces, removeAces)))
+ {
+ // merge and update ACL
+ IAcl newACL = MergeAcls(originalAces, addAces, removeAces);
+ if (newACL != null)
+ {
+ UpdateAcl(repositoryId, entry.Id, newACL, null);
+ }
+ }
+ }
+
+ public IObjectData GetObjectOfLatestVersion(string repositoryId, string objectId, string versionSeriesId, bool major,
+ string filter, bool? includeAllowableActions, IncludeRelationships? includeRelationships,
+ string renditionFilter, bool? includePolicyIds, bool? includeAcl, IExtensionsData extension)
+ {
+ ReturnVersion returnVersion = ReturnVersion.Latest;
+ if (major)
+ {
+ returnVersion = ReturnVersion.LatestMajor;
+ }
+
+ return GetObjectInternal(repositoryId, IdentifierType.Id, objectId, returnVersion, filter,
+ includeAllowableActions, includeRelationships, renditionFilter, includePolicyIds, includeAcl, extension);
+ }
+
+ public IProperties GetPropertiesOfLatestVersion(string repositoryId, string objectId, string versionSeriesId, bool major,
+ string filter, IExtensionsData extension)
+ {
+ ReturnVersion returnVersion = ReturnVersion.Latest;
+ if (major)
+ {
+ returnVersion = ReturnVersion.LatestMajor;
+ }
+
+ IObjectData objectData = GetObjectInternal(repositoryId, IdentifierType.Id, objectId, returnVersion, filter,
+ false, IncludeRelationships.None, "cmis:none", false, false, extension);
+
+ return objectData.Properties;
+ }
+
+ public IList<IObjectData> GetAllVersions(string repositoryId, string objectId, string versionSeriesId, string filter,
+ bool? includeAllowableActions, IExtensionsData extension)
+ {
+ IList<IObjectData> result = new List<IObjectData>();
+
+ // find the link
+ string link = LoadLink(repositoryId, objectId, AtomPubConstants.RelVersionHistory, AtomPubConstants.MediatypeFeed);
+
+ if (link == null)
+ {
+ ThrowLinkException(repositoryId, objectId, AtomPubConstants.RelVersionHistory, AtomPubConstants.MediatypeFeed);
+ }
+
+ UrlBuilder url = new UrlBuilder(link);
+ url.AddParameter(AtomPubConstants.ParamFilter, filter);
+ url.AddParameter(AtomPubConstants.ParamAllowableActions, includeAllowableActions);
+
+ // read and parse
+ HttpUtils.Response resp = Read(url);
+ AtomFeed feed = Parse<AtomFeed>(resp.Stream);
+
+ // get the versions
+ if (feed.GetEntries().Count > 0)
+ {
+ foreach (AtomEntry entry in feed.GetEntries())
+ {
+ IObjectData version = null;
+
+ LockLinks();
+ try
+ {
+ // clean up cache
+ RemoveLinks(repositoryId, entry.Id);
+
+ // walk through the entry
+ foreach (AtomElement element in entry.GetElements())
+ {
+ if (element.Object is AtomLink)
+ {
+ AddLink(repositoryId, entry.Id, (AtomLink)element.Object);
+ }
+ else if (element.Object is cmisObjectType)
+ {
+ version = Converter.Convert((cmisObjectType)element.Object);
+ }
+ }
+ }
+ finally
+ {
+ UnlockLinks();
+ }
+
+ if (version != null)
+ {
+ result.Add(version);
+ }
+ }
+ }
+
+ return result;
+ }
+ }
+
+ internal class RelationshipService : AbstractAtomPubService, IRelationshipService
+ {
+ public RelationshipService(BindingSession session)
+ {
+ Session = session;
+ }
+
+ public IObjectList GetObjectRelationships(string repositoryId, string objectId, bool? includeSubRelationshipTypes,
+ RelationshipDirection? relationshipDirection, string typeId, string filter, bool? includeAllowableActions,
+ long? maxItems, long? skipCount, IExtensionsData extension)
+ {
+ ObjectList result = new ObjectList();
+
+ // find the link
+ string link = LoadLink(repositoryId, objectId, AtomPubConstants.RelRelationships, AtomPubConstants.MediatypeFeed);
+
+ if (link == null)
+ {
+ ThrowLinkException(repositoryId, objectId, AtomPubConstants.RelRelationships, AtomPubConstants.MediatypeFeed);
+ }
+
+ UrlBuilder url = new UrlBuilder(link);
+ url.AddParameter(AtomPubConstants.ParamSubRelationshipTypes, includeSubRelationshipTypes);
+ url.AddParameter(AtomPubConstants.ParamRelationshipDirection, relationshipDirection);
+ url.AddParameter(AtomPubConstants.ParamTypeId, typeId);
+ url.AddParameter(AtomPubConstants.ParamFilter, filter);
+ url.AddParameter(AtomPubConstants.ParamAllowableActions, includeAllowableActions);
+ url.AddParameter(AtomPubConstants.ParamMaxItems, maxItems);
+ url.AddParameter(AtomPubConstants.ParamSkipCount, skipCount);
+
+ // read and parse
+ HttpUtils.Response resp = Read(url);
+ AtomFeed feed = Parse<AtomFeed>(resp.Stream);
+
+ // handle top level
+ foreach (AtomElement element in feed.GetElements())
+ {
+ if (element.Object is AtomLink)
+ {
+ if (IsNextLink(element))
+ {
+ result.HasMoreItems = true;
+ }
+ }
+ else if (IsInt(NameNumItems, element))
+ {
+ result.NumItems = (long)element.Object;
+ }
+ }
+
+ // get the children
+ if (feed.GetEntries().Count > 0)
+ {
+ result.Objects = new List<IObjectData>(feed.GetEntries().Count);
+
+ foreach (AtomEntry entry in feed.GetEntries())
+ {
+ IObjectData relationship = null;
+
+ LockLinks();
+ try
+ {
+ // clean up cache
+ RemoveLinks(repositoryId, entry.Id);
+
+ // walk through the entry
+ foreach (AtomElement element in entry.GetElements())
+ {
+ if (element.Object is AtomLink)
+ {
+ AddLink(repositoryId, entry.Id, (AtomLink)element.Object);
+ }
+ else if (element.Object is cmisObjectType)
+ {
+ relationship = Converter.Convert((cmisObjectType)element.Object);
+ }
+ }
+ }
+ finally
+ {
+ UnlockLinks();
+ }
+
+ if (relationship != null)
+ {
+ result.Objects.Add(relationship);
+ }
+ }
+ }
+
+ return result;
+ }
+ }
+
+ internal class DiscoveryService : AbstractAtomPubService, IDiscoveryService
+ {
+ public DiscoveryService(BindingSession session)
+ {
+ Session = session;
+ }
+
+ public IObjectList Query(string repositoryId, string statement, bool? searchAllVersions,
+ bool? includeAllowableActions, IncludeRelationships? includeRelationships, string renditionFilter,
+ long? maxItems, long? skipCount, IExtensionsData extension)
+ {
+ ObjectList result = new ObjectList();
+
+ // find the link
+ String link = LoadCollection(repositoryId, AtomPubConstants.CollectionQuery);
+
+ if (link == null)
+ {
+ throw new CmisObjectNotFoundException("Unknown repository or query not supported!");
+ }
+
+ UrlBuilder url = new UrlBuilder(link);
+
+ // compile query request
+ AtomQueryWriter queryWriter = new AtomQueryWriter(statement, searchAllVersions, includeAllowableActions,
+ includeRelationships, renditionFilter, maxItems, skipCount);
+
+ // post the query and parse results
+ HttpUtils.Response resp = Post(url, AtomPubConstants.MediatypeQuery, new HttpUtils.Output(queryWriter.Write));
+ AtomFeed feed = Parse<AtomFeed>(resp.Stream);
+
+ // handle top level
+ foreach (AtomElement element in feed.GetElements())
+ {
+ if (element.Object is AtomLink)
+ {
+ if (IsNextLink(element))
+ {
+ result.HasMoreItems = true;
+ }
+ }
+ else if (IsInt(NameNumItems, element))
+ {
+ result.NumItems = (long)element.Object;
+ }
+ }
+
+ // get the result set
+ if (feed.GetEntries().Count > 0)
+ {
+ result.Objects = new List<IObjectData>(feed.GetEntries().Count);
+
+ foreach (AtomEntry entry in feed.GetEntries())
+ {
+ IObjectData hit = null;
+
+ // walk through the entry
+ foreach (AtomElement element in entry.GetElements())
+ {
+ if (element.Object is cmisObjectType)
+ {
+ hit = Converter.Convert((cmisObjectType)element.Object);
+ }
+ }
+
+ if (hit != null)
+ {
+ result.Objects.Add(hit);
+ }
+ }
+ }
+
+ return result;
+ }
+
+ public IObjectList GetContentChanges(string repositoryId, ref string changeLogToken, bool? includeProperties,
+ string filter, bool? includePolicyIds, bool? includeAcl, long? maxItems, IExtensionsData extension)
+ {
+ ObjectList result = new ObjectList();
+
+ // find the link
+ String link = LoadRepositoryLink(repositoryId, AtomPubConstants.RepRelChanges);
+
+ if (link == null)
+ {
+ throw new CmisObjectNotFoundException("Unknown repository or content changes not supported!");
+ }
+
+ UrlBuilder url = new UrlBuilder(link);
+ url.AddParameter(AtomPubConstants.ParamChangeLogToken, changeLogToken);
+ url.AddParameter(AtomPubConstants.ParamProperties, includeProperties);
+ url.AddParameter(AtomPubConstants.ParamFilter, filter);
+ url.AddParameter(AtomPubConstants.ParamPolicyIds, includePolicyIds);
+ url.AddParameter(AtomPubConstants.ParamACL, includeAcl);
+ url.AddParameter(AtomPubConstants.ParamMaxItems, maxItems);
+
+ // read and parse
+ HttpUtils.Response resp = Read(url);
+ AtomFeed feed = Parse<AtomFeed>(resp.Stream);
+
+ // handle top level
+ foreach (AtomElement element in feed.GetElements())
+ {
+ if (element.Object is AtomLink)
+ {
+ if (IsNextLink(element))
+ {
+ result.HasMoreItems = true;
+ }
+ }
+ else if (IsInt(NameNumItems, element))
+ {
+ result.NumItems = (long)element.Object;
+ }
+ }
+
+ // get the changes
+ if (feed.GetEntries().Count > 0)
+ {
+ result.Objects = new List<IObjectData>(feed.GetEntries().Count);
+ foreach (AtomEntry entry in feed.GetEntries())
+ {
+ IObjectData hit = null;
+
+ // walk through the entry
+ foreach (AtomElement element in entry.GetElements())
+ {
+ if (element.Object is cmisObjectType)
+ {
+ hit = Converter.Convert((cmisObjectType)element.Object);
+ }
+ }
+
+ if (hit != null)
+ {
+ result.Objects.Add(hit);
+ }
+ }
+ }
+
+ return result;
+ }
+ }
+
+ internal class MultiFilingService : AbstractAtomPubService, IMultiFilingService
+ {
+ public MultiFilingService(BindingSession session)
+ {
+ Session = session;
+ }
+
+ public void AddObjectToFolder(string repositoryId, string objectId, string folderId, bool? allVersions, IExtensionsData extension)
+ {
+ if (objectId == null)
+ {
+ throw new CmisInvalidArgumentException("Object id must be set!");
+ }
+
+ // find the link
+ string link = LoadLink(repositoryId, folderId, AtomPubConstants.RelDown, AtomPubConstants.MediatypeChildren);
+
+ if (link == null)
+ {
+ ThrowLinkException(repositoryId, folderId, AtomPubConstants.RelDown, AtomPubConstants.MediatypeChildren);
+ }
+
+ UrlBuilder url = new UrlBuilder(link);
+ url.AddParameter(AtomPubConstants.ParamAllVersions, allVersions);
+
+ // set up object and writer
+ AtomEntryWriter entryWriter = new AtomEntryWriter(CreateIdObject(objectId));
+
+ // post addObjectToFolder request
+ Post(url, AtomPubConstants.MediatypeEntry, new HttpUtils.Output(entryWriter.Write));
+ }
+
+ public void RemoveObjectFromFolder(string repositoryId, string objectId, string folderId, IExtensionsData extension)
+ {
+ if (objectId == null)
+ {
+ throw new CmisInvalidArgumentException("Object id must be set!");
+ }
+
+ // find the link
+ string link = LoadCollection(repositoryId, AtomPubConstants.CollectionUnfiled);
+
+ if (link == null)
+ {
+ throw new CmisObjectNotFoundException("Unknown repository or unfiling not supported!");
+ }
+
+ UrlBuilder url = new UrlBuilder(link);
+ url.AddParameter(AtomPubConstants.ParamRemoveFrom, folderId);
+
+ // set up object and writer
+ AtomEntryWriter entryWriter = new AtomEntryWriter(CreateIdObject(objectId));
+
+ // post removeObjectFromFolder request
+ Post(url, AtomPubConstants.MediatypeEntry, new HttpUtils.Output(entryWriter.Write));
+ }
+ }
+
+ internal class AclService : AbstractAtomPubService, IAclService
+ {
+ public AclService(BindingSession session)
+ {
+ Session = session;
+ }
+
+ public IAcl GetAcl(string repositoryId, string objectId, bool? onlyBasicPermissions, IExtensionsData extension)
+ {
+ // find the link
+ String link = LoadLink(repositoryId, objectId, AtomPubConstants.RelACL, AtomPubConstants.MediatypeACL);
+
+ if (link == null)
+ {
+ ThrowLinkException(repositoryId, objectId, AtomPubConstants.RelACL, AtomPubConstants.MediatypeACL);
+ }
+
+ UrlBuilder url = new UrlBuilder(link);
+ url.AddParameter(AtomPubConstants.ParamOnlyBasicPermissions, onlyBasicPermissions);
+
+ // read and parse
+ HttpUtils.Response resp = Read(url);
+ AtomAcl acl = Parse<AtomAcl>(resp.Stream);
+
+ return Converter.Convert(acl.ACL, null);
+ }
+
+ public IAcl ApplyAcl(string repositoryId, string objectId, IAcl addAces, IAcl removeAces, AclPropagation? aclPropagation,
+ IExtensionsData extension)
+ {
+ IAcl result = null;
+
+ // fetch the current ACL
+ IAcl originalAces = GetAcl(repositoryId, objectId, false, null);
+
+ // if no changes required, just return the ACL
+ if (!IsAclMergeRequired(addAces, removeAces))
+ {
+ return originalAces;
+ }
+
+ // merge ACLs
+ IAcl newACL = MergeAcls(originalAces, addAces, removeAces);
+
+ // update ACL
+ AtomAcl acl = UpdateAcl(repositoryId, objectId, newACL, aclPropagation);
+ result = Converter.Convert(acl.ACL, null);
+
+ return result;
+ }
+ }
+
+ internal class PolicyService : AbstractAtomPubService, IPolicyService
+ {
+ public PolicyService(BindingSession session)
+ {
+ Session = session;
+ }
+
+ public void ApplyPolicy(string repositoryId, string policyId, string objectId, IExtensionsData extension)
+ {
+ // find the link
+ string link = LoadLink(repositoryId, objectId, AtomPubConstants.RelPolicies, AtomPubConstants.MediatypeFeed);
+
+ if (link == null)
+ {
+ ThrowLinkException(repositoryId, objectId, AtomPubConstants.RelPolicies, AtomPubConstants.MediatypeFeed);
+ }
+
+ UrlBuilder url = new UrlBuilder(link);
+
+ // set up object and writer
+ AtomEntryWriter entryWriter = new AtomEntryWriter(CreateIdObject(objectId));
+
+ // post applyPolicy request
+ Post(url, AtomPubConstants.MediatypeEntry, new HttpUtils.Output(entryWriter.Write));
+ }
+
+ public void RemovePolicy(string repositoryId, string policyId, string objectId, IExtensionsData extension)
+ {
+ // we need a policy id
+ if (policyId == null || policyId.Length == 0)
+ {
+ throw new CmisInvalidArgumentException("Policy id must be set!");
+ }
+
+ // find the link
+ String link = LoadLink(repositoryId, objectId, AtomPubConstants.RelPolicies, AtomPubConstants.MediatypeFeed);
+
+ if (link == null)
+ {
+ ThrowLinkException(repositoryId, objectId, AtomPubConstants.RelPolicies, AtomPubConstants.MediatypeFeed);
+ }
+
+ UrlBuilder url = new UrlBuilder(link);
+ url.AddParameter(AtomPubConstants.ParamFilter, PropertyIds.ObjectId);
+
+ // read and parse
+ HttpUtils.Response resp = Read(url);
+ AtomFeed feed = Parse<AtomFeed>(resp.Stream);
+
+ // find the policy
+ string policyLink = null;
+ bool found = false;
+
+ if (feed.GetEntries().Count > 0)
+ {
+ foreach (AtomEntry entry in feed.GetEntries())
+ {
+ // walk through the entry
+ foreach (AtomElement element in entry.GetElements())
+ {
+ if (element.Object is AtomLink)
+ {
+ AtomLink atomLink = (AtomLink)element.Object;
+ if (AtomPubConstants.RelSelf == atomLink.Rel)
+ {
+ policyLink = atomLink.Href;
+ }
+ }
+ else if (element.Object is cmisObjectType)
+ {
+ string id = FindIdProperty((cmisObjectType)element.Object);
+ if (policyId == id)
+ {
+ found = true;
+ }
+ }
+ }
+
+ if (found)
+ {
+ break;
+ }
+ }
+ }
+
+ // if found, delete it
+ if (found && policyLink != null)
+ {
+ Delete(new UrlBuilder(policyLink));
+ }
+ }
+
+ public IList<IObjectData> GetAppliedPolicies(string repositoryId, string objectId, string filter, IExtensionsData extension)
+ {
+ IList<IObjectData> result = new List<IObjectData>();
+
+ // find the link
+ string link = LoadLink(repositoryId, objectId, AtomPubConstants.RelPolicies, AtomPubConstants.MediatypeFeed);
+
+ if (link == null)
+ {
+ ThrowLinkException(repositoryId, objectId, AtomPubConstants.RelPolicies, AtomPubConstants.MediatypeFeed);
+ }
+
+ UrlBuilder url = new UrlBuilder(link);
+ url.AddParameter(AtomPubConstants.ParamFilter, filter);
+
+ // read and parse
+ HttpUtils.Response resp = Read(url);
+ AtomFeed feed = Parse<AtomFeed>(resp.Stream);
+
+ // get the policies
+ if (feed.GetEntries().Count > 0)
+ {
+ foreach (AtomEntry entry in feed.GetEntries())
+ {
+ IObjectData policy = null;
+
+ // walk through the entry
+ foreach (AtomElement element in entry.GetElements())
+ {
+ if (element.Object is cmisObjectType)
+ {
+ policy = Converter.Convert((cmisObjectType)element.Object);
+ }
+ }
+
+ if (policy != null)
+ {
+ result.Add(policy);
+ }
+ }
+ }
+
+ return result;
+ }
+
+ private string FindIdProperty(cmisObjectType cmisObject)
+ {
+ if (cmisObject == null || cmisObject.properties == null)
+ {
+ return null;
+ }
+
+ foreach (cmisProperty property in cmisObject.properties.Items)
+ {
+ if (PropertyIds.ObjectId == property.propertyDefinitionId && property is cmisPropertyId)
+ {
+ string[] values = ((cmisPropertyId)property).value;
+ if (values.Length == 1)
+ {
+ return values[0];
+ }
+ }
+ }
+
+ return null;
+ }
+ }
+}
diff --git a/DotCMIS/binding/binding-caches.cs b/DotCMIS/binding/binding-caches.cs
new file mode 100644
index 0000000..2ee5f23
--- /dev/null
+++ b/DotCMIS/binding/binding-caches.cs
@@ -0,0 +1,662 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.Linq;
+using System.Text;
+using System.Threading;
+using DotCMIS.Binding.Impl;
+using DotCMIS.Data;
+
+namespace DotCMIS.Binding
+{
+ // --- base cache implementation ---
+
+ internal interface ICache
+ {
+ void Initialize(string[] cacheLevelConfig);
+
+ void Put(string[] keys, object value);
+
+ object Get(string[] keys);
+
+ void Remove(string[] keys);
+
+ int Check(string[] keys);
+
+ void Lock();
+
+ void Unlock();
+ }
+
+ internal interface ICacheLevel
+ {
+ void Initialize(IDictionary<string, string> cacheLevelConfig);
+
+ object this[string key] { get; set; }
+
+ void Remove(string key);
+ }
+
+ internal class Cache : ICache
+ {
+ private IList<Type> cacheLevels;
+ private IList<IDictionary<string, string>> cacheLevelParameters;
+ private ICacheLevel root;
+ private string name;
+ private object cacheLock = new object();
+
+ public Cache()
+ : this("Cache")
+ {
+ }
+
+ public Cache(string name)
+ {
+ this.name = name;
+ }
+
+ public void Initialize(string[] cacheLevelConfig)
+ {
+ if (cacheLevels != null)
+ {
+ throw new ApplicationException("Cache already initialize!");
+ }
+
+ if ((cacheLevelConfig == null) || (cacheLevelConfig.Length == 0))
+ {
+ throw new ArgumentException("Cache config must not be empty!");
+ }
+
+ Lock();
+ try
+ {
+ cacheLevels = new List<Type>();
+ cacheLevelParameters = new List<IDictionary<string, string>>();
+
+ // build level lists
+ foreach (string config in cacheLevelConfig)
+ {
+ int x = config.IndexOf(' ');
+ if (x == -1)
+ {
+ AddLevel(config, null);
+ }
+ else
+ {
+ AddLevel(config.Substring(0, x), config.Substring(x + 1));
+ }
+ }
+
+ root = CreateCacheLevel(0);
+ }
+ finally
+ {
+ Unlock();
+ }
+ }
+
+ public void Put(string[] keys, object value)
+ {
+ if (keys == null) { return; }
+
+ if (keys.Length != cacheLevels.Count)
+ {
+ throw new ArgumentException("Wrong number of keys!");
+ }
+
+ Lock();
+ try
+ {
+ ICacheLevel cacheLevel = root;
+
+ // follow the branch
+ for (int i = 0; i < keys.Length - 1; i++)
+ {
+ object level = cacheLevel[keys[i]];
+
+ // does the branch exist?
+ if (level == null)
+ {
+ level = CreateCacheLevel(i + 1);
+ cacheLevel[keys[i]] = level;
+ }
+
+ // next level
+ cacheLevel = (ICacheLevel)level;
+ }
+
+ cacheLevel[keys[keys.Length - 1]] = value;
+
+ Trace.WriteLine(name + ": put [" + GetFormattedKeys(keys) + "] = " + value);
+ }
+ finally
+ {
+ Unlock();
+ }
+ }
+
+ public object Get(string[] keys)
+ {
+ if (keys == null) { return null; }
+
+ if (keys.Length != cacheLevels.Count)
+ {
+ throw new ArgumentException("Wrong number of keys!");
+ }
+
+ object result = null;
+
+ Lock();
+ try
+ {
+ ICacheLevel cacheLevel = root;
+
+ // follow the branch
+ for (int i = 0; i < keys.Length - 1; i++)
+ {
+ object level = cacheLevel[keys[i]];
+
+ // does the branch exist?
+ if (level == null) { return null; }
+
+ // next level
+ cacheLevel = (ICacheLevel)level;
+ }
+
+ // get the value
+ result = cacheLevel[keys[keys.Length - 1]];
+ }
+ finally
+ {
+ Unlock();
+ }
+
+ return result;
+ }
+
+ public void Remove(string[] keys)
+ {
+ if (keys == null) { return; }
+
+ Lock();
+ try
+ {
+ ICacheLevel cacheLevel = root;
+
+ // follow the branch
+ for (int i = 0; i < keys.Length - 1; i++)
+ {
+ object level = cacheLevel[keys[i]];
+
+ // does the branch exist?
+ if (level == null) { return; }
+
+ // next level
+ cacheLevel = (ICacheLevel)level;
+ }
+
+ cacheLevel.Remove(keys[keys.Length - 1]);
+
+ Trace.WriteLine(name + ": removed [" + GetFormattedKeys(keys) + "]");
+ }
+ finally
+ {
+ Unlock();
+ }
+ }
+
+ public int Check(string[] keys)
+ {
+ if (keys == null) { return -1; }
+
+ Lock();
+ try
+ {
+ ICacheLevel cacheLevel = root;
+
+ // follow the branch
+ for (int i = 0; i < keys.Length - 1; i++)
+ {
+ object level = cacheLevel[keys[i]];
+
+ // does the branch exist?
+ if (level == null) { return i; }
+
+ // next level
+ cacheLevel = (ICacheLevel)level;
+ }
+
+ return keys.Length;
+ }
+ finally
+ {
+ Unlock();
+ }
+ }
+
+ public void Lock()
+ {
+ Monitor.Enter(cacheLock);
+ }
+
+ public void Unlock()
+ {
+ Monitor.Exit(cacheLock);
+ }
+
+ // --- internal ---
+
+ private void AddLevel(string typeName, string parameters)
+ {
+ Type levelType;
+
+ try
+ {
+ levelType = Type.GetType(typeName);
+ }
+ catch (Exception e)
+ {
+ throw new ArgumentException("Class '" + typeName + "' not found!", e);
+ }
+
+ if (!typeof(ICacheLevel).IsAssignableFrom(levelType))
+ {
+ throw new ArgumentException("Class '" + typeName + "' does not implement the ICacheLevel interface!");
+ }
+
+ cacheLevels.Add(levelType);
+
+ // process parameters
+ if (parameters == null)
+ {
+ cacheLevelParameters.Add(null);
+ }
+ else
+ {
+ Dictionary<string, string> parameterDict = new Dictionary<string, string>();
+ cacheLevelParameters.Add(parameterDict);
+
+ foreach (string pair in parameters.Split(','))
+ {
+ string[] keyValue = pair.Split('=');
+ if (keyValue.Length == 1)
+ {
+ parameterDict[keyValue[0]] = "";
+ }
+ else
+ {
+ parameterDict[keyValue[0]] = keyValue[1];
+ }
+ }
+ }
+ }
+
+ private ICacheLevel CreateCacheLevel(int level)
+ {
+ if ((level < 0) || (level >= cacheLevels.Count))
+ {
+ throw new ArgumentException("Cache level doesn't fit the configuration!");
+ }
+
+ // get the class and create an instance
+ Type levelType = cacheLevels[level];
+ ICacheLevel cacheLevel = null;
+ try
+ {
+ cacheLevel = (ICacheLevel)Activator.CreateInstance(levelType);
+ }
+ catch (Exception e)
+ {
+ throw new ArgumentException("Cache level problem?!", e);
+ }
+
+ // initialize it
+ cacheLevel.Initialize(cacheLevelParameters[level]);
+
+ return cacheLevel;
+ }
+
+ private string GetFormattedKeys(string[] keys)
+ {
+ StringBuilder sb = new StringBuilder();
+ foreach (string k in keys)
+ {
+ if (sb.Length > 0)
+ {
+ sb.Append(", ");
+ }
+ sb.Append(k);
+ }
+
+ return sb.ToString();
+ }
+ }
+
+ internal abstract class AbstractDictionaryCacheLevel : ICacheLevel
+ {
+ private static string NullKey = "";
+
+ private IDictionary<string, object> dict;
+ private bool fallbackEnabled = false;
+ private string fallbackKey = null;
+ private bool singleValueEnabled = false;
+
+ public abstract void Initialize(IDictionary<string, string> cacheLevelConfig);
+
+ public virtual object this[string key]
+ {
+ get
+ {
+ object value = null;
+ if (dict.TryGetValue(key == null ? NullKey : key, out value))
+ {
+ return value;
+ }
+
+ if (fallbackEnabled && dict.TryGetValue(fallbackKey, out value))
+ {
+ return value;
+ }
+
+ if (singleValueEnabled && dict.Count == 1)
+ {
+ value = dict.Values.First();
+ }
+
+ return value;
+ }
+ set
+ {
+ if (value != null)
+ {
+ dict[key == null ? NullKey : key] = value;
+ }
+ }
+ }
+
+ public virtual void Remove(string key)
+ {
+ dict.Remove(key);
+ }
+
+ public void SetDictionary(IDictionary<string, object> dict)
+ {
+ this.dict = dict;
+ }
+
+ protected void EnableKeyFallback(string key)
+ {
+ fallbackKey = key;
+ fallbackEnabled = true;
+ }
+
+ protected void DisableKeyFallback()
+ {
+ fallbackEnabled = false;
+ }
+
+ protected void EnableSingeValueFallback()
+ {
+ singleValueEnabled = true;
+ }
+
+ protected void DisableSingeValueFallback()
+ {
+ singleValueEnabled = false;
+ }
+
+ protected int GetIntParameter(IDictionary<string, string> parameters, string name, int defValue)
+ {
+ if (parameters == null)
+ {
+ return defValue;
+ }
+
+ string value;
+ if (!parameters.TryGetValue(name, out value))
+ {
+ return defValue;
+ }
+
+ try
+ {
+ return Int32.Parse(value);
+ }
+ catch (Exception)
+ {
+ return defValue;
+ }
+ }
+
+ protected bool GetBooleanParameter(IDictionary<string, string> parameters, string name, bool defValue)
+ {
+ if (parameters == null)
+ {
+ return defValue;
+ }
+
+ string value;
+ if (!parameters.TryGetValue(name, out value))
+ {
+ return defValue;
+ }
+
+ try
+ {
+ return Boolean.Parse(value);
+ }
+ catch (Exception)
+ {
+ return defValue;
+ }
+ }
+ }
+
+ internal class DictionaryCacheLevel : AbstractDictionaryCacheLevel
+ {
+ public const string Capacity = "capacity";
+ public const string SingleValue = "singleValue";
+
+ public override void Initialize(IDictionary<string, string> parameters)
+ {
+ int initialCapacity = GetIntParameter(parameters, Capacity, 32);
+ bool singleValue = GetBooleanParameter(parameters, SingleValue, false);
+
+ SetDictionary(new Dictionary<string, object>(initialCapacity));
+ if (singleValue)
+ {
+ EnableSingeValueFallback();
+ }
+ }
+ }
+
+ internal class LruCacheLevel : AbstractDictionaryCacheLevel
+ {
+ public const string MaxEntries = "maxEntries";
+
+ private LinkedList<string> keyList;
+ private int maxEntries;
+
+ public override void Initialize(IDictionary<string, string> parameters)
+ {
+ maxEntries = GetIntParameter(parameters, MaxEntries, 100);
+ keyList = new LinkedList<string>();
+ SetDictionary(new Dictionary<string, object>(maxEntries + 1));
+ }
+
+ public override object this[string key]
+ {
+ get
+ {
+ object value = base[key];
+ if (value != null)
+ {
+ LinkedListNode<string> node = keyList.Find(key);
+ if (node == null)
+ {
+ throw new ApplicationException("Cache error!");
+ }
+ else
+ {
+ keyList.Remove(node);
+ keyList.AddFirst(node);
+ }
+ }
+
+ return value;
+ }
+ set
+ {
+ if (value == null)
+ {
+ return;
+ }
+
+ LinkedListNode<string> node = keyList.Find(key);
+ if (node == null)
+ {
+ keyList.AddFirst(key);
+ while (keyList.Count > maxEntries)
+ {
+ LinkedListNode<string> lastNode = keyList.Last;
+ base.Remove(lastNode.Value);
+ keyList.RemoveLast();
+ }
+ }
+ else
+ {
+ keyList.Remove(node);
+ keyList.AddFirst(node);
+ }
+
+ base[key] = value;
+ }
+ }
+
+ public override void Remove(string key)
+ {
+ keyList.Remove(key);
+ base.Remove(key);
+ }
+ }
+
+ // ---- Caches ----
+
+ /// <summary>
+ /// Repository Info cache.
+ /// </summary>
+ internal class RepositoryInfoCache
+ {
+ private const int CacheSizeRepositories = 10;
+
+ private ICache cache;
+
+ public RepositoryInfoCache(BindingSession session)
+ {
+ int repCount = session.GetValue(SessionParameter.CacheSizeRepositories, CacheSizeRepositories);
+ if (repCount < 1)
+ {
+ repCount = CacheSizeRepositories;
+ }
+
+ cache = new Cache("Repository Info Cache");
+ cache.Initialize(new string[] {
+ typeof(DictionaryCacheLevel).FullName + " " + DictionaryCacheLevel.Capacity + "=" + repCount });
+ }
+
+ public void Put(IRepositoryInfo repositoryInfo)
+ {
+ if ((repositoryInfo == null) || (repositoryInfo.Id == null))
+ {
+ return;
+ }
+
+ cache.Put(new string[] { repositoryInfo.Id }, repositoryInfo);
+ }
+
+ public IRepositoryInfo Get(string repositoryId)
+ {
+ return (IRepositoryInfo)cache.Get(new string[] { repositoryId });
+ }
+
+ public void Remove(string repositoryId)
+ {
+ cache.Remove(new string[] { repositoryId });
+ }
+ }
+
+ /// <summary>
+ /// Type Definition cache.
+ /// </summary>
+ internal class TypeDefinitionCache
+ {
+ private const int CacheSizeRepositories = 10;
+ private const int CacheSizeTypes = 100;
+
+ private ICache cache;
+
+ public TypeDefinitionCache(BindingSession session)
+ {
+ int repCount = session.GetValue(SessionParameter.CacheSizeRepositories, CacheSizeRepositories);
+ if (repCount < 1)
+ {
+ repCount = CacheSizeRepositories;
+ }
+
+ int typeCount = session.GetValue(SessionParameter.CacheSizeTypes, CacheSizeTypes);
+ if (typeCount < 1)
+ {
+ typeCount = CacheSizeTypes;
+ }
+
+ cache = new Cache("Type Definition Cache");
+ cache.Initialize(new string[] {
+ typeof(DictionaryCacheLevel).FullName + " " + DictionaryCacheLevel.Capacity + "=" + repCount, // repository
+ typeof(LruCacheLevel).FullName + " " + LruCacheLevel.MaxEntries + "=" + typeCount // type
+ });
+ }
+
+ public void Put(string repositoryId, ITypeDefinition typeDefinition)
+ {
+ if ((typeDefinition == null) || (typeDefinition.Id == null))
+ {
+ return;
+ }
+
+ cache.Put(new string[] { repositoryId, typeDefinition.Id }, typeDefinition);
+ }
+
+ public ITypeDefinition Get(string repositoryId, string typeId)
+ {
+ return (ITypeDefinition)cache.Get(new string[] { repositoryId, typeId });
+ }
+
+ public void Remove(string repositoryId, string typeId)
+ {
+ cache.Remove(new string[] { repositoryId, typeId });
+ }
+
+ public void Remove(string repositoryId)
+ {
+ cache.Remove(new string[] { repositoryId });
+ }
+ }
+}
diff --git a/DotCMIS/binding/binding-impl.cs b/DotCMIS/binding/binding-impl.cs
new file mode 100644
index 0000000..450034a
--- /dev/null
+++ b/DotCMIS/binding/binding-impl.cs
@@ -0,0 +1,604 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using DotCMIS.Binding;
+using DotCMIS.Binding.Services;
+using System.Threading;
+using DotCMIS.Exceptions;
+using DotCMIS.Data;
+using DotCMIS.Data.Extensions;
+
+namespace DotCMIS.Binding.Impl
+{
+ /// <summary>
+ /// Binding layer implementation.
+ /// </summary>
+ internal class CmisBinding : ICmisBinding
+ {
+ private BindingSession session;
+ private BindingsObjectFactory objectFactory;
+ private BindingRepositoryService repositoryServiceWrapper;
+
+ public CmisBinding(IDictionary<string, string> sessionParameters)
+ {
+ if (sessionParameters == null)
+ {
+ throw new ArgumentNullException("sessionParameters");
+ }
+
+ if (!sessionParameters.ContainsKey(SessionParameter.BindingSpiClass))
+ {
+ throw new ArgumentException("Session parameters do not contain a SPI class name!");
+ }
+
+ // initialize session
+ session = new BindingSession();
+ foreach (string key in sessionParameters.Keys)
+ {
+ session.PutValue(key, sessionParameters[key]);
+ }
+
+ // set up object factory
+ objectFactory = new BindingsObjectFactory();
+
+ // set up authentication provider
+ string authenticationProviderClass;
+ if (sessionParameters.TryGetValue(SessionParameter.AuthenticationProviderClass, out authenticationProviderClass))
+ {
+ try
+ {
+ Type authProvType = Type.GetType(authenticationProviderClass);
+ AbstractAuthenticationProvider authenticationProvider = (AbstractAuthenticationProvider)Activator.CreateInstance(authProvType);
+ authenticationProvider.Session = session;
+ session.PutValue(BindingSession.AuthenticationProvider, authenticationProvider);
+ }
+ catch (Exception e)
+ {
+ throw new CmisRuntimeException("Could not load authentictaion provider: " + e.Message, e);
+ }
+ }
+
+ // initialize the SPI
+ GetSpi();
+
+ // set up caches
+ ClearAllCaches();
+
+ // set up repository service
+ repositoryServiceWrapper = new BindingRepositoryService(session);
+ }
+
+ public IRepositoryService GetRepositoryService()
+ {
+ CheckSession();
+ return repositoryServiceWrapper;
+ }
+
+ public INavigationService GetNavigationService()
+ {
+ CheckSession();
+ ICmisSpi spi = GetSpi();
+ return spi.GetNavigationService();
+ }
+
+ public IObjectService GetObjectService()
+ {
+ CheckSession();
+ ICmisSpi spi = GetSpi();
+ return spi.GetObjectService();
+ }
+
+ public IVersioningService GetVersioningService()
+ {
+ CheckSession();
+ ICmisSpi spi = GetSpi();
+ return spi.GetVersioningService();
+ }
+
+ public IRelationshipService GetRelationshipService()
+ {
+ CheckSession();
+ ICmisSpi spi = GetSpi();
+ return spi.GetRelationshipService();
+ }
+
+ public IDiscoveryService GetDiscoveryService()
+ {
+ CheckSession();
+ ICmisSpi spi = GetSpi();
+ return spi.GetDiscoveryService();
+ }
+
+ public IMultiFilingService GetMultiFilingService()
+ {
+ CheckSession();
+ ICmisSpi spi = GetSpi();
+ return spi.GetMultiFilingService();
+ }
+
+ public IAclService GetAclService()
+ {
+ CheckSession();
+ ICmisSpi spi = GetSpi();
+ return spi.GetAclService();
+ }
+
+ public IPolicyService GetPolicyService()
+ {
+ CheckSession();
+ ICmisSpi spi = GetSpi();
+ return spi.GetPolicyService();
+ }
+
+ public IBindingsObjectFactory GetObjectFactory()
+ {
+ return objectFactory;
+ }
+
+ public void ClearAllCaches()
+ {
+ CheckSession();
+
+ session.Lock();
+ try
+ {
+ session.PutValue(BindingSession.RepositoryInfoCache, new RepositoryInfoCache(session));
+ session.PutValue(BindingSession.TypeDefinitionCache, new TypeDefinitionCache(session));
+
+ ICmisSpi spi = GetSpi();
+ spi.ClearAllCaches();
+ }
+ finally
+ {
+ session.Unlock();
+ }
+ }
+
+ public void ClearRepositoryCache(string repositoryId)
+ {
+ CheckSession();
+
+ if (repositoryId == null)
+ {
+ return;
+ }
+
+ session.Lock();
+ try
+ {
+ RepositoryInfoCache repInfoCache = session.GetRepositoryInfoCache();
+ repInfoCache.Remove(repositoryId);
+
+ TypeDefinitionCache typeDefCache = session.GetTypeDefinitionCache();
+ typeDefCache.Remove(repositoryId);
+
+ ICmisSpi spi = GetSpi();
+ spi.ClearRepositoryCache(repositoryId);
+ }
+ finally
+ {
+ session.Unlock();
+ }
+ }
+
+ public void Close()
+ {
+ CheckSession();
+
+ session.Lock();
+ try
+ {
+ GetSpi().Close();
+ }
+ finally
+ {
+ session.Unlock();
+ session = null;
+ }
+ }
+
+ private void CheckSession()
+ {
+ if (session == null)
+ {
+ throw new ApplicationException("Already closed.");
+ }
+ }
+
+ private ICmisSpi GetSpi()
+ {
+ return session.GetSpi();
+ }
+ }
+
+ /// <summary>
+ /// Session object implementation of the binding layer.
+ /// </summary>
+ internal class BindingSession : IBindingSession
+ {
+ public const string RepositoryInfoCache = "org.apache.chemistry.dotcmis.bindings.repositoryInfoCache";
+ public const string TypeDefinitionCache = "org.apache.chemistry.dotcmis.bindings.typeDefintionCache";
+ public const string AuthenticationProvider = "org.apache.chemistry.dotcmis.bindings.authenticationProvider";
+ public const string SpiObject = "org.apache.chemistry.dotcmis.bindings.spi.object";
+
+ private Dictionary<string, object> data;
+ private object sessionLock = new object();
+
+ public BindingSession()
+ {
+ data = new Dictionary<string, object>();
+ }
+
+ public object GetValue(string key)
+ {
+ return GetValue(key, null);
+ }
+
+ public object GetValue(string key, object defValue)
+ {
+ object result = null;
+
+ Lock();
+ try
+ {
+ if (data.TryGetValue(key, out result))
+ {
+ return result;
+ }
+ else
+ {
+ return defValue;
+ }
+ }
+ finally
+ {
+ Unlock();
+ }
+ }
+
+ public int GetValue(string key, int defValue)
+ {
+ object value = GetValue(key);
+
+ try
+ {
+ if (value is string)
+ {
+ return Int32.Parse((string)value);
+ }
+ else if (value is int)
+ {
+ return (int)value;
+ }
+ }
+ catch (Exception)
+ {
+ }
+
+ return defValue;
+ }
+
+ public void PutValue(string key, object value)
+ {
+ Lock();
+ try
+ {
+ data[key] = value;
+ }
+ finally
+ {
+ Unlock();
+ }
+ }
+
+ public void RemoveValue(string key)
+ {
+ Lock();
+ try
+ {
+ data.Remove(key);
+ }
+ finally
+ {
+ Unlock();
+ }
+ }
+
+ public ICmisSpi GetSpi()
+ {
+ Lock();
+ try
+ {
+ ICmisSpi spi = GetValue(SpiObject) as ICmisSpi;
+ if (spi != null)
+ {
+ return spi;
+ }
+
+
+ // ok, we have to create it...
+ try
+ {
+ object spiObject;
+ if (data.TryGetValue(SessionParameter.BindingSpiClass, out spiObject))
+ {
+ string spiClassName = spiObject as string;
+ if (spiClassName != null)
+ {
+ Type spiClass = Type.GetType(spiClassName);
+ spi = (ICmisSpi)Activator.CreateInstance(spiClass);
+ spi.initialize(this);
+ }
+ else
+ {
+ throw new CmisRuntimeException("SPI class is not set!");
+ }
+ }
+ else
+ {
+ throw new CmisRuntimeException("SPI class is not set!");
+ }
+ }
+ catch (CmisBaseException ce)
+ {
+ throw ce;
+ }
+ catch (Exception e)
+ {
+ throw new CmisRuntimeException("SPI cannot be initialized: " + e.Message, e);
+ }
+
+ // we have a SPI object -> put it into the session
+ data[SpiObject] = spi;
+
+ return spi;
+ }
+ finally
+ {
+ Unlock();
+ }
+ }
+
+ public RepositoryInfoCache GetRepositoryInfoCache()
+ {
+ return GetValue(RepositoryInfoCache) as RepositoryInfoCache;
+ }
+
+ public TypeDefinitionCache GetTypeDefinitionCache()
+ {
+ return GetValue(TypeDefinitionCache) as TypeDefinitionCache;
+ }
+
+ public AbstractAuthenticationProvider GetAuthenticationProvider()
+ {
+ return GetValue(AuthenticationProvider) as AbstractAuthenticationProvider;
+ }
+
+ public void Lock()
+ {
+ Monitor.Enter(sessionLock);
+ }
+
+ public void Unlock()
+ {
+ Monitor.Exit(sessionLock);
+ }
+
+ public override string ToString()
+ {
+ return data.ToString();
+ }
+ }
+
+ /// <summary>
+ /// Repository service proxy that caches repository infos and type defintions.
+ /// </summary>
+ internal class BindingRepositoryService : IRepositoryService
+ {
+ private BindingSession session;
+
+ public BindingRepositoryService(BindingSession session)
+ {
+ this.session = session;
+ }
+
+ public IList<IRepositoryInfo> GetRepositoryInfos(IExtensionsData extension)
+ {
+ IList<IRepositoryInfo> result = null;
+ bool hasExtension = (extension != null) && (extension.Extensions != null) && (extension.Extensions.Count > 0);
+
+ // get the SPI and fetch the repository infos
+ ICmisSpi spi = session.GetSpi();
+ result = spi.GetRepositoryService().GetRepositoryInfos(extension);
+
+ // put it into the cache
+ if (!hasExtension && (result != null))
+ {
+ RepositoryInfoCache cache = session.GetRepositoryInfoCache();
+ foreach (RepositoryInfo rid in result)
+ {
+ cache.Put(rid);
+ }
+ }
+
+ return result;
+ }
+
+ public IRepositoryInfo GetRepositoryInfo(string repositoryId, IExtensionsData extension)
+ {
+ IRepositoryInfo result = null;
+ bool hasExtension = (extension != null) && (extension.Extensions != null) && (extension.Extensions.Count > 0);
+
+ RepositoryInfoCache cache = session.GetRepositoryInfoCache();
+
+ // if extension is not set, check the cache first
+ if (!hasExtension)
+ {
+ result = cache.Get(repositoryId);
+ if (result != null)
+ {
+ return result;
+ }
+ }
+
+ // it was not in the cache -> get the SPI and fetch the repository info
+ ICmisSpi spi = session.GetSpi();
+ result = spi.GetRepositoryService().GetRepositoryInfo(repositoryId, extension);
+
+ // put it into the cache
+ if (!hasExtension)
+ {
+ cache.Put(result);
+ }
+
+ return result;
+ }
+
+ public ITypeDefinitionList GetTypeChildren(string repositoryId, string typeId, bool? includePropertyDefinitions,
+ long? maxItems, long? skipCount, IExtensionsData extension)
+ {
+ ITypeDefinitionList result = null;
+ bool hasExtension = (extension != null) && (extension.Extensions != null) && (extension.Extensions.Count > 0);
+
+ // get the SPI and fetch the type definitions
+ ICmisSpi spi = session.GetSpi();
+ result = spi.GetRepositoryService().GetTypeChildren(repositoryId, typeId, includePropertyDefinitions, maxItems,
+ skipCount, extension);
+
+ // put it into the cache
+ if (!hasExtension && (includePropertyDefinitions ?? false) && (result != null))
+ {
+ TypeDefinitionCache cache = session.GetTypeDefinitionCache();
+ foreach (ITypeDefinition tdd in result.List)
+ {
+ cache.Put(repositoryId, tdd);
+ }
+ }
+
+ return result;
+ }
+
+ public IList<ITypeDefinitionContainer> GetTypeDescendants(string repositoryId, string typeId, long? depth,
+ bool? includePropertyDefinitions, IExtensionsData extension)
+ {
+ IList<ITypeDefinitionContainer> result = null;
+ bool hasExtension = (extension != null) && (extension.Extensions != null) && (extension.Extensions.Count > 0);
+
+ // get the SPI and fetch the type definitions
+ ICmisSpi spi = session.GetSpi();
+ result = spi.GetRepositoryService().GetTypeDescendants(repositoryId, typeId, depth, includePropertyDefinitions,
+ extension);
+
+ // put it into the cache
+ if (!hasExtension && (includePropertyDefinitions ?? false) && (result != null))
+ {
+ TypeDefinitionCache cache = session.GetTypeDefinitionCache();
+ AddToTypeCache(cache, repositoryId, result);
+ }
+
+ return result;
+ }
+
+ private void AddToTypeCache(TypeDefinitionCache cache, string repositoryId, IList<ITypeDefinitionContainer> containers)
+ {
+ if (containers == null)
+ {
+ return;
+ }
+
+ foreach (ITypeDefinitionContainer container in containers)
+ {
+ cache.Put(repositoryId, container.TypeDefinition);
+ AddToTypeCache(cache, repositoryId, container.Children);
+ }
+ }
+
+ public ITypeDefinition GetTypeDefinition(string repositoryId, string typeId, IExtensionsData extension)
+ {
+ ITypeDefinition result = null;
+ bool hasExtension = (extension != null) && (extension.Extensions != null) && (extension.Extensions.Count > 0);
+
+ TypeDefinitionCache cache = session.GetTypeDefinitionCache();
+
+ // if extension is not set, check the cache first
+ if (!hasExtension)
+ {
+ result = cache.Get(repositoryId, typeId);
+ if (result != null)
+ {
+ return result;
+ }
+ }
+
+ // it was not in the cache -> get the SPI and fetch the type definition
+ ICmisSpi spi = session.GetSpi();
+ result = spi.GetRepositoryService().GetTypeDefinition(repositoryId, typeId, extension);
+
+ // put it into the cache
+ if (!hasExtension && (result != null))
+ {
+ cache.Put(repositoryId, result);
+ }
+
+ return result;
+ }
+ }
+
+ /// <summary>
+ /// Object factory implementation.
+ /// </summary>
+ internal class BindingsObjectFactory : IBindingsObjectFactory
+ {
+ }
+
+ /// <summary>
+ /// SPI interface.
+ /// </summary>
+ internal interface ICmisSpi
+ {
+ void initialize(BindingSession session);
+
+ IRepositoryService GetRepositoryService();
+
+ INavigationService GetNavigationService();
+
+ IObjectService GetObjectService();
+
+ IVersioningService GetVersioningService();
+
+ IRelationshipService GetRelationshipService();
+
+ IDiscoveryService GetDiscoveryService();
+
+ IMultiFilingService GetMultiFilingService();
+
+ IAclService GetAclService();
+
+ IPolicyService GetPolicyService();
+
+ void ClearAllCaches();
+
+ void ClearRepositoryCache(string repositoryId);
+
+ void Close();
+ }
+}
diff --git a/DotCMIS/binding/binding-intf.cs b/DotCMIS/binding/binding-intf.cs
new file mode 100644
index 0000000..4efef7c
--- /dev/null
+++ b/DotCMIS/binding/binding-intf.cs
@@ -0,0 +1,296 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using DotCMIS.Binding.Services;
+using DotCMIS.Binding.Impl;
+using DotCMIS.CMISWebServicesReference;
+using System.Net;
+
+namespace DotCMIS.Binding
+{
+ public interface ICmisBinding
+ {
+ IRepositoryService GetRepositoryService();
+
+ INavigationService GetNavigationService();
+
+ IObjectService GetObjectService();
+
+ IVersioningService GetVersioningService();
+
+ IRelationshipService GetRelationshipService();
+
+ IDiscoveryService GetDiscoveryService();
+
+ IMultiFilingService GetMultiFilingService();
+
+ IAclService GetAclService();
+
+ IPolicyService GetPolicyService();
+
+ IBindingsObjectFactory GetObjectFactory();
+
+ void ClearAllCaches();
+
+ void ClearRepositoryCache(string repositoryId);
+
+ void Close();
+ }
+
+ public interface IBindingSession
+ {
+ object GetValue(string key);
+
+ object GetValue(string key, object defValue);
+
+ int GetValue(string key, int defValue);
+ }
+
+ public abstract class AbstractAuthenticationProvider
+ {
+ public IBindingSession Session { get; set; }
+
+ public abstract void Authenticate(object connection);
+
+ public string GetUser()
+ {
+ return Session.GetValue(SessionParameter.User) as string;
+ }
+
+ public string GetPassword()
+ {
+ return Session.GetValue(SessionParameter.Password) as string;
+ }
+ }
+
+ public class StandardAuthenticationProvider : AbstractAuthenticationProvider
+ {
+ public override void Authenticate(object connection)
+ {
+ string user = GetUser();
+ string password = GetPassword();
+ if (user == null || password == null)
+ {
+ return;
+ }
+
+ if (connection is RepositoryServicePortClient)
+ {
+ ((RepositoryServicePortClient)connection).ClientCredentials.UserName.UserName = user;
+ ((RepositoryServicePortClient)connection).ClientCredentials.UserName.Password = password;
+ }
+ else if (connection is NavigationServicePortClient)
+ {
+ ((NavigationServicePortClient)connection).ClientCredentials.UserName.UserName = user;
+ ((NavigationServicePortClient)connection).ClientCredentials.UserName.Password = password;
+ }
+ else if (connection is ObjectServicePortClient)
+ {
+ ((ObjectServicePortClient)connection).ClientCredentials.UserName.UserName = user;
+ ((ObjectServicePortClient)connection).ClientCredentials.UserName.Password = password;
+ }
+ else if (connection is VersioningServicePortClient)
+ {
+ ((VersioningServicePortClient)connection).ClientCredentials.UserName.UserName = user;
+ ((VersioningServicePortClient)connection).ClientCredentials.UserName.Password = password;
+ }
+ else if (connection is DiscoveryServicePortClient)
+ {
+ ((DiscoveryServicePortClient)connection).ClientCredentials.UserName.UserName = user;
+ ((DiscoveryServicePortClient)connection).ClientCredentials.UserName.Password = password;
+ }
+ else if (connection is RelationshipServicePortClient)
+ {
+ ((RelationshipServicePortClient)connection).ClientCredentials.UserName.UserName = user;
+ ((RelationshipServicePortClient)connection).ClientCredentials.UserName.Password = password;
+ }
+ else if (connection is MultiFilingServicePortClient)
+ {
+ ((MultiFilingServicePortClient)connection).ClientCredentials.UserName.UserName = user;
+ ((MultiFilingServicePortClient)connection).ClientCredentials.UserName.Password = password;
+ }
+ else if (connection is PolicyServicePortClient)
+ {
+ ((PolicyServicePortClient)connection).ClientCredentials.UserName.UserName = user;
+ ((PolicyServicePortClient)connection).ClientCredentials.UserName.Password = password;
+ }
+ else if (connection is ACLServicePortClient)
+ {
+ ((ACLServicePortClient)connection).ClientCredentials.UserName.UserName = user;
+ ((ACLServicePortClient)connection).ClientCredentials.UserName.Password = password;
+ }
+ else if (connection is WebRequest)
+ {
+ ((WebRequest)connection).Credentials = new NetworkCredential(user, password);
+ }
+ }
+ }
+
+
+ public interface IBindingsObjectFactory
+ {
+ }
+
+ public class CmisBindingFactory
+ {
+ // Default CMIS AtomPub binding SPI implementation
+ public const string BindingSpiAtomPub = "DotCMIS.Binding.AtomPub.CmisAtomPubSpi";
+ // Default CMIS Web Services binding SPI implementation
+ public const string BindingSpiWebServices = "DotCMIS.Binding.WebServices.CmisWebServicesSpi";
+
+ public const string StandardAuthenticationProviderClass = "DotCMIS.Binding.StandardAuthenticationProvider";
+
+ private IDictionary<string, string> defaults;
+
+ private CmisBindingFactory()
+ {
+ defaults = CreateNewDefaultParameters();
+ }
+
+ public static CmisBindingFactory NewInstance()
+ {
+ return new CmisBindingFactory();
+ }
+
+ public IDictionary<string, string> GetDefaultSessionParameters()
+ {
+ return defaults;
+ }
+
+ public void SetDefaultSessionParameters(IDictionary<string, string> sessionParameters)
+ {
+ if (sessionParameters == null)
+ {
+ defaults = CreateNewDefaultParameters();
+ }
+ else
+ {
+ defaults = sessionParameters;
+ }
+ }
+
+ public ICmisBinding CreateCmisBinding(IDictionary<string, string> sessionParameters)
+ {
+ CheckSessionParameters(sessionParameters, true);
+ AddDefaultParameters(sessionParameters);
+
+ return new CmisBinding(sessionParameters);
+ }
+
+ public ICmisBinding CreateCmisAtomPubBinding(IDictionary<string, string> sessionParameters)
+ {
+ CheckSessionParameters(sessionParameters, false);
+ sessionParameters[SessionParameter.BindingSpiClass] = BindingSpiAtomPub;
+ if (!sessionParameters.ContainsKey(SessionParameter.AuthenticationProviderClass))
+ {
+ sessionParameters[SessionParameter.AuthenticationProviderClass] = StandardAuthenticationProviderClass;
+ }
+
+ AddDefaultParameters(sessionParameters);
+
+ Check(sessionParameters, SessionParameter.AtomPubUrl);
+
+ return new CmisBinding(sessionParameters);
+ }
+
+ public ICmisBinding CreateCmisWebServicesBinding(IDictionary<string, string> sessionParameters)
+ {
+ CheckSessionParameters(sessionParameters, false);
+ sessionParameters[SessionParameter.BindingSpiClass] = BindingSpiWebServices;
+ if (!sessionParameters.ContainsKey(SessionParameter.AuthenticationProviderClass))
+ {
+ sessionParameters[SessionParameter.AuthenticationProviderClass] = StandardAuthenticationProviderClass;
+ }
+
+ AddDefaultParameters(sessionParameters);
+
+ Check(sessionParameters, SessionParameter.WebServicesAclService);
+ Check(sessionParameters, SessionParameter.WebServicesDiscoveryService);
+ Check(sessionParameters, SessionParameter.WebServicesMultifilingService);
+ Check(sessionParameters, SessionParameter.WebServicesNavigationService);
+ Check(sessionParameters, SessionParameter.WebServicesObjectService);
+ Check(sessionParameters, SessionParameter.WebServicesPolicyService);
+ Check(sessionParameters, SessionParameter.WebServicesRelationshipService);
+ Check(sessionParameters, SessionParameter.WebServicesRepositoryService);
+ Check(sessionParameters, SessionParameter.WebServicesVersioningService);
+
+ return new CmisBinding(sessionParameters);
+ }
+
+ // ---- internals ----
+
+ private void CheckSessionParameters(IDictionary<string, string> sessionParameters, bool mustContainSpi)
+ {
+ // don't accept null
+ if (sessionParameters == null)
+ {
+ throw new ArgumentNullException("sessionParameters");
+ }
+
+ // check binding entry
+ if (mustContainSpi)
+ {
+ string spiClass;
+
+ if (sessionParameters.TryGetValue(SessionParameter.BindingSpiClass, out spiClass))
+ {
+ throw new ArgumentException("SPI class entry (" + SessionParameter.BindingSpiClass + ") is missing!");
+ }
+
+ if ((spiClass == null) || (spiClass.Trim().Length == 0))
+ {
+ throw new ArgumentException("SPI class entry (" + SessionParameter.BindingSpiClass + ") is invalid!");
+ }
+ }
+ }
+
+ private void Check(IDictionary<string, string> sessionParameters, String parameter)
+ {
+ if (!sessionParameters.ContainsKey(parameter))
+ {
+ throw new ArgumentException("Parameter '" + parameter + "' is missing!");
+ }
+ }
+
+ private void AddDefaultParameters(IDictionary<string, string> sessionParameters)
+ {
+ foreach (string key in defaults.Keys)
+ {
+ if (!sessionParameters.ContainsKey(key))
+ {
+ sessionParameters[key] = defaults[key];
+ }
+ }
+ }
+
+ private IDictionary<string, string> CreateNewDefaultParameters()
+ {
+ IDictionary<string, string> result = new Dictionary<string, string>();
+
+ result[SessionParameter.CacheSizeRepositories] = "10";
+ result[SessionParameter.CacheSizeTypes] = "100";
+ result[SessionParameter.CacheSizeLinks] = "400";
+
+ return result;
+ }
+ }
+}
diff --git a/DotCMIS/binding/converter.cs b/DotCMIS/binding/converter.cs
new file mode 100644
index 0000000..9fd836a
--- /dev/null
+++ b/DotCMIS/binding/converter.cs
@@ -0,0 +1,1576 @@
+using DotCMIS.CMISWebServicesReference;
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+using DotCMIS.Data;
+using DotCMIS.Data.Extensions;
+using System.Collections.Generic;
+using System.Xml;
+using DotCMIS.Enums;
+using System;
+using System.Reflection;
+using System.Xml.Serialization;
+using System.IO;
+
+namespace DotCMIS.Binding
+{
+ internal class Converter
+ {
+ /// <summary>
+ /// Converts a repository info.
+ /// </summary>
+ public static IRepositoryInfo Convert(cmisRepositoryInfoType repositotyInfo)
+ {
+ if (repositotyInfo == null)
+ {
+ return null;
+ }
+
+ RepositoryInfo result = new RepositoryInfo();
+ result.Id = repositotyInfo.repositoryId;
+ result.Name = repositotyInfo.repositoryName;
+ result.Description = repositotyInfo.repositoryDescription;
+ result.VendorName = repositotyInfo.vendorName;
+ result.ProductName = repositotyInfo.productName;
+ result.ProductVersion = repositotyInfo.productVersion;
+ result.RootFolderId = repositotyInfo.rootFolderId;
+ result.Capabilities = Convert(repositotyInfo.capabilities);
+ result.AclCapabilities = Convert(repositotyInfo.aclCapability);
+ result.LatestChangeLogToken = repositotyInfo.latestChangeLogToken;
+ result.CmisVersionSupported = repositotyInfo.cmisVersionSupported;
+ result.ThinClientUri = repositotyInfo.thinClientURI;
+ result.ChangesIncomplete = (repositotyInfo.changesIncompleteSpecified ? (bool?)repositotyInfo.changesIncomplete : null);
+ result.ChangesOnType = new List<BaseTypeId?>();
+ if (repositotyInfo.changesOnType != null)
+ {
+ foreach (enumBaseObjectTypeIds baseType in repositotyInfo.changesOnType)
+ {
+ result.ChangesOnType.Add((BaseTypeId?)CmisValue.SerializerToCmisEnum(baseType));
+ }
+ }
+ result.PrincipalIdAnonymous = repositotyInfo.principalAnonymous;
+ result.PrincipalIdAnyone = repositotyInfo.principalAnyone;
+
+ ConvertExtension(repositotyInfo, result);
+
+ return result;
+ }
+
+ /// <summary>
+ /// Converts repository capabilities.
+ /// </summary>
+ public static IRepositoryCapabilities Convert(cmisRepositoryCapabilitiesType capabilities)
+ {
+ if (capabilities == null)
+ {
+ return null;
+ }
+
+ RepositoryCapabilities result = new RepositoryCapabilities();
+ result.ContentStreamUpdatesCapability = (CapabilityContentStreamUpdates)CmisValue.SerializerToCmisEnum(capabilities.capabilityContentStreamUpdatability);
+ result.ChangesCapability = (CapabilityChanges)CmisValue.SerializerToCmisEnum(capabilities.capabilityChanges);
+ result.RenditionsCapability = (CapabilityRenditions)CmisValue.SerializerToCmisEnum(capabilities.capabilityRenditions);
+ result.IsGetDescendantsSupported = capabilities.capabilityGetDescendants;
+ result.IsGetFolderTreeSupported = capabilities.capabilityGetFolderTree;
+ result.IsMultifilingSupported = capabilities.capabilityMultifiling;
+ result.IsUnfilingSupported = capabilities.capabilityUnfiling;
+ result.IsVersionSpecificFilingSupported = capabilities.capabilityVersionSpecificFiling;
+ result.IsPwcSearchableSupported = capabilities.capabilityPWCSearchable;
+ result.IsPwcUpdatableSupported = capabilities.capabilityPWCUpdatable;
+ result.IsAllVersionsSearchableSupported = capabilities.capabilityAllVersionsSearchable;
+ result.QueryCapability = (CapabilityQuery)CmisValue.SerializerToCmisEnum(capabilities.capabilityQuery);
+ result.JoinCapability = (CapabilityJoin)CmisValue.SerializerToCmisEnum(capabilities.capabilityJoin);
+ result.AclCapability = (CapabilityAcl)CmisValue.SerializerToCmisEnum(capabilities.capabilityACL);
+
+ ConvertExtension(capabilities, result);
+
+ return result;
+ }
+
+ /// <summary>
+ /// Converts ACL capabilities.
+ /// </summary>
+ public static IAclCapabilities Convert(cmisACLCapabilityType capabilities)
+ {
+ if (capabilities == null)
+ {
+ return null;
+ }
+
+ AclCapabilities result = new AclCapabilities();
+ result.SupportedPermissions = (SupportedPermissions)CmisValue.SerializerToCmisEnum(capabilities.supportedPermissions);
+ result.AclPropagation = (AclPropagation)CmisValue.SerializerToCmisEnum(capabilities.propagation);
+ result.Permissions = new List<IPermissionDefinition>();
+ if (capabilities.permissions != null)
+ {
+ foreach (cmisPermissionDefinition permission in capabilities.permissions)
+ {
+ PermissionDefinition permDef = new PermissionDefinition();
+ permDef.Id = permission.permission;
+ permDef.Description = permission.description;
+ result.Permissions.Add(permDef);
+
+ ConvertExtension(permission, permDef);
+ }
+ }
+ result.PermissionMapping = new Dictionary<string, IPermissionMapping>();
+ if (capabilities.mapping != null)
+ {
+ foreach (cmisPermissionMapping mapping in capabilities.mapping)
+ {
+ PermissionMapping permMap = new PermissionMapping();
+ permMap.Key = GetXmlEnumAttributeValue(mapping.key);
+ permMap.Permissions = new List<string>();
+ if (mapping.permission != null)
+ {
+ foreach (string s in mapping.permission)
+ {
+ permMap.Permissions.Add(s);
+ }
+ }
+
+ result.PermissionMapping[permMap.Key] = permMap;
+
+ ConvertExtension(mapping, permMap);
+ }
+ }
+
+ ConvertExtension(capabilities, result);
+
+ return result;
+ }
+
+ public static ITypeDefinition Convert(cmisTypeDefinitionType typeDef)
+ {
+ if (typeDef == null)
+ {
+ return null;
+ }
+
+ TypeDefinition result = null;
+ if (typeDef is cmisTypeDocumentDefinitionType)
+ {
+ DocumentTypeDefinition docType = new DocumentTypeDefinition();
+ cmisTypeDocumentDefinitionType docTypeDef = (cmisTypeDocumentDefinitionType)typeDef;
+
+ docType.IsVersionable = docTypeDef.versionable;
+ docType.ContentStreamAllowed = (ContentStreamAllowed)CmisValue.SerializerToCmisEnum(docTypeDef.contentStreamAllowed);
+
+ result = docType;
+ }
+ else if (typeDef is cmisTypeFolderDefinitionType)
+ {
+ result = new FolderTypeDefinition();
+ }
+ else if (typeDef is cmisTypePolicyDefinitionType)
+ {
+ result = new PolicyTypeDefinition();
+ }
+ else if (typeDef is cmisTypeRelationshipDefinitionType)
+ {
+ RelationshipTypeDefinition relType = new RelationshipTypeDefinition();
+ cmisTypeRelationshipDefinitionType relTypeDef = (cmisTypeRelationshipDefinitionType)typeDef;
+
+ if (relTypeDef.allowedSourceTypes != null)
+ {
+ relType.AllowedSourceTypeIds = new List<string>();
+ foreach (string id in relTypeDef.allowedSourceTypes)
+ {
+ relType.AllowedSourceTypeIds.Add(id);
+ }
+ }
+
+ if (relTypeDef.allowedTargetTypes != null)
+ {
+ relType.AllowedTargetTypeIds = new List<string>();
+ foreach (string id in relTypeDef.allowedTargetTypes)
+ {
+ relType.AllowedTargetTypeIds.Add(id);
+ }
+ }
+
+ result = relType;
+ }
+
+ result.Id = typeDef.id;
+ result.LocalName = typeDef.localName;
+ result.LocalNamespace = typeDef.localNamespace;
+ result.DisplayName = typeDef.displayName;
+ result.QueryName = typeDef.queryName;
+ result.Description = typeDef.description;
+ result.BaseTypeId = (BaseTypeId?)CmisValue.SerializerToCmisEnum(typeDef.baseId);
+ result.ParentTypeId = typeDef.parentId;
+ result.IsCreatable = typeDef.creatable;
+ result.IsFileable = typeDef.fileable;
+ result.IsQueryable = typeDef.queryable;
+ result.IsFulltextIndexed = typeDef.fulltextIndexed;
+ result.IsIncludedInSupertypeQuery = typeDef.includedInSupertypeQuery;
+ result.IsControllablePolicy = typeDef.controllablePolicy;
+ result.IsControllableAcl = typeDef.controllableACL;
+
+ if (typeDef.Items != null)
+ {
+ foreach (cmisPropertyDefinitionType propertyDefinition in typeDef.Items)
+ {
+ result.AddPropertyDefinition(Convert(propertyDefinition));
+ }
+ }
+
+ ConvertExtension(typeDef, result);
+
+ return result;
+ }
+
+ public static IPropertyDefinition Convert(cmisPropertyDefinitionType propDef)
+ {
+ if (propDef == null) { return null; }
+
+ PropertyDefinition result = null;
+ if (propDef is cmisPropertyBooleanDefinitionType)
+ {
+ PropertyBooleanDefinition pd = new PropertyBooleanDefinition();
+ cmisPropertyBooleanDefinitionType cpd = (cmisPropertyBooleanDefinitionType)propDef;
+
+ if (cpd.defaultValue != null && cpd.defaultValue.value != null)
+ {
+ pd.DefaultValue = new List<bool>();
+ foreach (bool value in cpd.defaultValue.value) { pd.DefaultValue.Add(value); }
+ }
+ if (cpd.choice != null)
+ {
+ pd.Choices = new List<IChoice<bool>>();
+ foreach (cmisChoiceBoolean c in cpd.choice) { pd.Choices.Add(ConvertChoice(c)); }
+ }
+
+ result = pd;
+ }
+ else if (propDef is cmisPropertyDateTimeDefinitionType)
+ {
+ PropertyDateTimeDefinition pd = new PropertyDateTimeDefinition();
+ cmisPropertyDateTimeDefinitionType cpd = (cmisPropertyDateTimeDefinitionType)propDef;
+
+ if (cpd.defaultValue != null && cpd.defaultValue.value != null)
+ {
+ pd.DefaultValue = new List<DateTime>();
+ foreach (DateTime value in cpd.defaultValue.value) { pd.DefaultValue.Add(value); }
+ }
+ if (cpd.choice != null)
+ {
+ pd.Choices = new List<IChoice<DateTime>>();
+ foreach (cmisChoiceDateTime c in cpd.choice) { pd.Choices.Add(ConvertChoice(c)); }
+ }
+
+ if (cpd.resolutionSpecified)
+ {
+ pd.DateTimeResolution = (DateTimeResolution)CmisValue.SerializerToCmisEnum(cpd.resolution);
+ }
+
+ result = pd;
+ }
+ else if (propDef is cmisPropertyDecimalDefinitionType)
+ {
+ PropertyDecimalDefinition pd = new PropertyDecimalDefinition();
+ cmisPropertyDecimalDefinitionType cpd = (cmisPropertyDecimalDefinitionType)propDef;
+
+ if (cpd.defaultValue != null && cpd.defaultValue.value != null)
+ {
+ pd.DefaultValue = new List<decimal>();
+ foreach (decimal value in cpd.defaultValue.value) { pd.DefaultValue.Add(value); }
+ }
+ if (cpd.choice != null)
+ {
+ pd.Choices = new List<IChoice<decimal>>();
+ foreach (cmisChoiceDecimal c in cpd.choice) { pd.Choices.Add(ConvertChoice(c)); }
+ }
+
+ if (cpd.maxValueSpecified)
+ {
+ pd.MaxValue = cpd.maxValue;
+ }
+ if (cpd.minValueSpecified)
+ {
+ pd.MinValue = cpd.minValue;
+ }
+ if (cpd.precisionSpecified)
+ {
+ pd.Precision = (DecimalPrecision)CmisValue.SerializerToCmisEnum(cpd.precision);
+ }
+
+ result = pd;
+ }
+ else if (propDef is cmisPropertyHtmlDefinitionType)
+ {
+ PropertyHtmlDefinition pd = new PropertyHtmlDefinition();
+ cmisPropertyHtmlDefinitionType cpd = (cmisPropertyHtmlDefinitionType)propDef;
+
+ if (cpd.defaultValue != null && cpd.defaultValue.value != null)
+ {
+ pd.DefaultValue = new List<string>();
+ foreach (string value in cpd.defaultValue.value) { pd.DefaultValue.Add(value); }
+ }
+ if (cpd.choice != null)
+ {
+ pd.Choices = new List<IChoice<string>>();
+ foreach (cmisChoiceHtml c in cpd.choice) { pd.Choices.Add(ConvertChoice(c)); }
+ }
+
+ result = pd;
+ }
+ else if (propDef is cmisPropertyIdDefinitionType)
+ {
+ PropertyIdDefinition pd = new PropertyIdDefinition();
+ cmisPropertyIdDefinitionType cpd = (cmisPropertyIdDefinitionType)propDef;
+
+ if (cpd.defaultValue != null && cpd.defaultValue.value != null)
+ {
+ pd.DefaultValue = new List<string>();
+ foreach (string value in cpd.defaultValue.value) { pd.DefaultValue.Add(value); }
+ }
+ if (cpd.choice != null)
+ {
+ pd.Choices = new List<IChoice<string>>();
+ foreach (cmisChoiceId c in cpd.choice) { pd.Choices.Add(ConvertChoice(c)); }
+ }
+
+ result = pd;
+ }
+ else if (propDef is cmisPropertyIntegerDefinitionType)
+ {
+ PropertyIntegerDefinition pd = new PropertyIntegerDefinition();
+ cmisPropertyIntegerDefinitionType cpd = (cmisPropertyIntegerDefinitionType)propDef;
+
+ if (cpd.defaultValue != null && cpd.defaultValue.value != null)
+ {
+ pd.DefaultValue = new List<long>();
+ foreach (string value in cpd.defaultValue.value) { pd.DefaultValue.Add(Int64.Parse(value)); }
+ }
+ if (cpd.choice != null)
+ {
+ pd.Choices = new List<IChoice<long>>();
+ foreach (cmisChoiceInteger c in cpd.choice) { pd.Choices.Add(ConvertChoice(c)); }
+ }
+
+ if (cpd.maxValue != null)
+ {
+ pd.MaxValue = Int64.Parse(cpd.maxValue);
+ }
+ if (cpd.minValue != null)
+ {
+ pd.MinValue = Int64.Parse(cpd.minValue);
+ }
+
+ result = pd;
+ }
+ else if (propDef is cmisPropertyStringDefinitionType)
+ {
+ PropertyStringDefinition pd = new PropertyStringDefinition();
+ cmisPropertyStringDefinitionType cpd = (cmisPropertyStringDefinitionType)propDef;
+
+ if (cpd.defaultValue != null && cpd.defaultValue.value != null)
+ {
+ pd.DefaultValue = new List<string>();
+ foreach (string value in cpd.defaultValue.value) { pd.DefaultValue.Add(value); }
+ }
+ if (cpd.choice != null)
+ {
+ pd.Choices = new List<IChoice<string>>();
+ foreach (cmisChoiceString c in cpd.choice) { pd.Choices.Add(ConvertChoice(c)); }
+ }
+
+ if (cpd.maxLength != null)
+ {
+ pd.MaxLength = Int64.Parse(cpd.maxLength);
+ }
+
+ result = pd;
+ }
+ else if (propDef is cmisPropertyUriDefinitionType)
+ {
+ PropertyUriDefinition pd = new PropertyUriDefinition();
+ cmisPropertyUriDefinitionType cpd = (cmisPropertyUriDefinitionType)propDef;
+
+ if (cpd.defaultValue != null && cpd.defaultValue.value != null)
+ {
+ pd.DefaultValue = new List<string>();
+ foreach (string value in cpd.defaultValue.value) { pd.DefaultValue.Add(value); }
+ }
+ if (cpd.choice != null)
+ {
+ pd.Choices = new List<IChoice<string>>();
+ foreach (cmisChoiceUri c in cpd.choice) { pd.Choices.Add(ConvertChoice(c)); }
+ }
+
+ result = pd;
+ }
+
+ result.Id = propDef.id;
+ result.LocalName = propDef.localName;
+ result.LocalNamespace = propDef.localNamespace;
+ result.DisplayName = propDef.displayName;
+ result.QueryName = propDef.queryName;
+ result.Description = propDef.description;
+ result.PropertyType = (PropertyType?)CmisValue.SerializerToCmisEnum(propDef.propertyType);
+ result.Cardinality = (Cardinality?)CmisValue.SerializerToCmisEnum(propDef.cardinality);
+ result.Updatability = (Updatability?)CmisValue.SerializerToCmisEnum(propDef.updatability);
+ result.IsInherited = (propDef.inheritedSpecified ? (bool?)propDef.inherited : null);
+ result.IsRequired = propDef.required;
+ result.IsQueryable = propDef.queryable;
+ result.IsOrderable = propDef.orderable;
+ result.IsOpenChoice = (propDef.openChoiceSpecified ? (bool?)propDef.openChoice : null);
+
+ ConvertExtension(propDef, result);
+
+ return result;
+ }
+
+ private static IChoice<bool> ConvertChoice(cmisChoiceBoolean choice)
+ {
+ if (choice == null) { return null; }
+
+ Choice<bool> result = new Choice<bool>();
+ result.DisplayName = choice.displayName;
+ if (choice.value != null)
+ {
+ result.Value = new List<bool>();
+ foreach (bool v in choice.value) { result.Value.Add(v); }
+ }
+ if (choice.choice != null)
+ {
+ result.Choices = new List<IChoice<bool>>();
+ foreach (cmisChoiceBoolean sc in choice.choice) { result.Choices.Add(ConvertChoice(sc)); }
+ }
+
+ return result;
+ }
+
+ private static IChoice<DateTime> ConvertChoice(cmisChoiceDateTime choice)
+ {
+ if (choice == null) { return null; }
+
+ Choice<DateTime> result = new Choice<DateTime>();
+ result.DisplayName = choice.displayName;
+ if (choice.value != null)
+ {
+ result.Value = new List<DateTime>();
+ foreach (DateTime v in choice.value) { result.Value.Add(v); }
+ }
+ if (choice.choice != null)
+ {
+ result.Choices = new List<IChoice<DateTime>>();
+ foreach (cmisChoiceDateTime sc in choice.choice) { result.Choices.Add(ConvertChoice(sc)); }
+ }
+
+ return result;
+ }
+
+ private static IChoice<decimal> ConvertChoice(cmisChoiceDecimal choice)
+ {
+ if (choice == null) { return null; }
+
+ Choice<decimal> result = new Choice<decimal>();
+ result.DisplayName = choice.displayName;
+ if (choice.value != null)
+ {
+ result.Value = new List<decimal>();
+ foreach (decimal v in choice.value) { result.Value.Add(v); }
+ }
+ if (choice.choice != null)
+ {
+ result.Choices = new List<IChoice<decimal>>();
+ foreach (cmisChoiceDecimal sc in choice.choice) { result.Choices.Add(ConvertChoice(sc)); }
+ }
+
+ return result;
+ }
+
+ private static IChoice<string> ConvertChoice(cmisChoiceHtml choice)
+ {
+ if (choice == null) { return null; }
+
+ Choice<string> result = new Choice<string>();
+ result.DisplayName = choice.displayName;
+ if (choice.value != null)
+ {
+ result.Value = new List<string>();
+ foreach (string v in choice.value) { result.Value.Add(v); }
+ }
+ if (choice.choice != null)
+ {
+ result.Choices = new List<IChoice<string>>();
+ foreach (cmisChoiceHtml sc in choice.choice) { result.Choices.Add(ConvertChoice(sc)); }
+ }
+
+ return result;
+ }
+
+ private static IChoice<string> ConvertChoice(cmisChoiceId choice)
+ {
+ if (choice == null) { return null; }
+
+ Choice<string> result = new Choice<string>();
+ result.DisplayName = choice.displayName;
+ if (choice.value != null)
+ {
+ result.Value = new List<string>();
+ foreach (string v in choice.value) { result.Value.Add(v); }
+ }
+ if (choice.choice != null)
+ {
+ result.Choices = new List<IChoice<string>>();
+ foreach (cmisChoiceId sc in choice.choice) { result.Choices.Add(ConvertChoice(sc)); }
+ }
+
+ return result;
+ }
+
+ private static IChoice<long> ConvertChoice(cmisChoiceInteger choice)
+ {
+ if (choice == null) { return null; }
+
+ Choice<long> result = new Choice<long>();
+ result.DisplayName = choice.displayName;
+ if (choice.value != null)
+ {
+ result.Value = new List<long>();
+ foreach (string v in choice.value) { result.Value.Add(Int64.Parse(v)); }
+ }
+ if (choice.choice != null)
+ {
+ result.Choices = new List<IChoice<long>>();
+ foreach (cmisChoiceInteger sc in choice.choice) { result.Choices.Add(ConvertChoice(sc)); }
+ }
+
+ return result;
+ }
+
+ private static IChoice<string> ConvertChoice(cmisChoiceString choice)
+ {
+ if (choice == null) { return null; }
+
+ Choice<string> result = new Choice<string>();
+ result.DisplayName = choice.displayName;
+ if (choice.value != null)
+ {
+ result.Value = new List<string>();
+ foreach (string v in choice.value) { result.Value.Add(v); }
+ }
+ if (choice.choice != null)
+ {
+ result.Choices = new List<IChoice<string>>();
+ foreach (cmisChoiceString sc in choice.choice) { result.Choices.Add(ConvertChoice(sc)); }
+ }
+
+ return result;
+ }
+
+ private static IChoice<string> ConvertChoice(cmisChoiceUri choice)
+ {
+ if (choice == null) { return null; }
+
+ Choice<string> result = new Choice<string>();
+ result.DisplayName = choice.displayName;
+ if (choice.value != null)
+ {
+ result.Value = new List<string>();
+ foreach (string v in choice.value) { result.Value.Add(v); }
+ }
+ if (choice.choice != null)
+ {
+ result.Choices = new List<IChoice<string>>();
+ foreach (cmisChoiceUri sc in choice.choice) { result.Choices.Add(ConvertChoice(sc)); }
+ }
+
+ return result;
+ }
+
+
+ /// <summary>
+ /// Converts a type defintion list.
+ /// </summary>
+ public static ITypeDefinitionList Convert(cmisTypeDefinitionListType typeDefList)
+ {
+ if (typeDefList == null) { return null; }
+
+ TypeDefinitionList result = new TypeDefinitionList();
+
+ if (typeDefList.types != null)
+ {
+ result.List = new List<ITypeDefinition>();
+ foreach (cmisTypeDefinitionType type in typeDefList.types)
+ {
+ result.List.Add(Convert(type));
+ }
+ }
+
+ result.HasMoreItems = typeDefList.hasMoreItems;
+ result.NumItems = Int64.Parse(typeDefList.numItems);
+
+ ConvertExtension(typeDefList, result);
+
+ return result;
+ }
+
+ /// <summary>
+ /// Converts a type defintion container.
+ /// </summary>
+ public static ITypeDefinitionContainer Convert(cmisTypeContainer typeDefCont)
+ {
+ if (typeDefCont == null) { return null; }
+
+ TypeDefinitionContainer result = new TypeDefinitionContainer();
+ result.TypeDefinition = Convert(typeDefCont.type);
+ if (typeDefCont.children != null)
+ {
+ result.Children = new List<ITypeDefinitionContainer>();
+ foreach (cmisTypeContainer container in typeDefCont.children)
+ {
+ result.Children.Add(Convert(container));
+ }
+ }
+
+ ConvertExtension(typeDefCont, result);
+
+ return result;
+ }
+
+ public static IObjectData Convert(cmisObjectType cmisObject)
+ {
+ if (cmisObject == null) { return null; }
+
+ ObjectData result = new ObjectData();
+ result.Properties = Convert(cmisObject.properties);
+ result.AllowableActions = Convert(cmisObject.allowableActions);
+ if (cmisObject.relationship != null)
+ {
+ result.Relationships = new List<IObjectData>();
+ foreach (cmisObjectType co in cmisObject.relationship)
+ {
+ result.Relationships.Add(Convert(co));
+ }
+ }
+ result.ChangeEventInfo = Convert(cmisObject.changeEventInfo);
+ result.IsExactAcl = cmisObject.exactACLSpecified ? (bool?)cmisObject.exactACL : null;
+ result.Acl = Convert(cmisObject.acl, result.IsExactAcl);
+ result.PolicyIds = Convert(cmisObject.policyIds);
+ if (cmisObject.rendition != null)
+ {
+ result.Renditions = new List<IRenditionData>();
+ foreach (cmisRenditionType rendition in cmisObject.rendition)
+ {
+ result.Renditions.Add(Convert(rendition));
+ }
+ }
+
+ ConvertExtension(cmisObject, result);
+
+ return result;
+ }
+
+ public static IProperties Convert(cmisPropertiesType properties)
+ {
+ if (properties == null) { return null; }
+
+ Properties result = new Properties();
+ if (properties.Items != null)
+ {
+ foreach (cmisProperty property in properties.Items)
+ {
+ result.AddProperty(Convert(property));
+ }
+ }
+
+ ConvertExtension(properties, result);
+
+ return result;
+ }
+ public static IPropertyData Convert(cmisProperty property)
+ {
+ if (property == null) { return null; }
+
+ PropertyData result = null;
+ if (property is cmisPropertyString)
+ {
+ result = new PropertyString();
+ if (((cmisPropertyString)property).value != null)
+ {
+ ((PropertyString)result).Values = new List<string>();
+ foreach (string value in ((cmisPropertyString)property).value)
+ {
+ ((PropertyString)result).Values.Add(value);
+ }
+ }
+ }
+ else if (property is cmisPropertyId)
+ {
+ result = new PropertyId();
+ if (((cmisPropertyId)property).value != null)
+ {
+ ((PropertyId)result).Values = new List<string>();
+ foreach (string value in ((cmisPropertyId)property).value)
+ {
+ ((PropertyId)result).Values.Add(value);
+ }
+ }
+ }
+ else if (property is cmisPropertyInteger)
+ {
+ result = new PropertyInteger();
+ if (((cmisPropertyInteger)property).value != null)
+ {
+ ((PropertyInteger)result).Values = new List<long>();
+ foreach (string value in ((cmisPropertyInteger)property).value)
+ {
+ ((PropertyInteger)result).Values.Add(Int64.Parse(value));
+ }
+ }
+ }
+ else if (property is cmisPropertyBoolean)
+ {
+ result = new PropertyBoolean();
+ if (((cmisPropertyBoolean)property).value != null)
+ {
+ ((PropertyBoolean)result).Values = new List<bool>();
+ foreach (bool value in ((cmisPropertyBoolean)property).value)
+ {
+ ((PropertyBoolean)result).Values.Add(value);
+ }
+ }
+ }
+ else if (property is cmisPropertyDateTime)
+ {
+ result = new PropertyDateTime();
+ if (((cmisPropertyDateTime)property).value != null)
+ {
+ ((PropertyDateTime)result).Values = new List<DateTime>();
+ foreach (DateTime value in ((cmisPropertyDateTime)property).value)
+ {
+ ((PropertyDateTime)result).Values.Add(value);
+ }
+ }
+ }
+ else if (property is cmisPropertyDecimal)
+ {
+ result = new PropertyDecimal();
+ if (((cmisPropertyDecimal)property).value != null)
+ {
+ ((PropertyDecimal)result).Values = new List<decimal>();
+ foreach (decimal value in ((cmisPropertyDecimal)property).value)
+ {
+ ((PropertyDecimal)result).Values.Add(value);
+ }
+ }
+ }
+ else if (property is cmisPropertyHtml)
+ {
+ result = new PropertyHtml();
+ if (((cmisPropertyHtml)property).value != null)
+ {
+ ((PropertyHtml)result).Values = new List<string>();
+ foreach (string value in ((cmisPropertyHtml)property).value)
+ {
+ ((PropertyHtml)result).Values.Add(value);
+ }
+ }
+ }
+ else if (property is cmisPropertyUri)
+ {
+ result = new PropertyUri();
+ if (((cmisPropertyUri)property).value != null)
+ {
+ ((PropertyUri)result).Values = new List<string>();
+ foreach (string value in ((cmisPropertyUri)property).value)
+ {
+ ((PropertyUri)result).Values.Add(value);
+ }
+ }
+ }
+
+ result.Id = property.propertyDefinitionId;
+ result.LocalName = property.localName;
+ result.DisplayName = property.displayName;
+ result.QueryName = property.queryName;
+
+ ConvertExtension(property, result);
+
+ return result;
+ }
+
+
+ public static cmisPropertiesType Convert(IProperties properties)
+ {
+ if (properties == null) { return null; }
+
+ cmisPropertiesType result = new cmisPropertiesType();
+ if (properties.PropertyList != null)
+ {
+ result.Items = new cmisProperty[properties.PropertyList.Count];
+ for (int i = 0; i < properties.PropertyList.Count; i++)
+ {
+ result.Items[i] = Convert(properties.PropertyList[i]);
+ }
+ }
+
+ ConvertExtension(properties, result);
+
+ return result;
+ }
+
+ public static cmisProperty Convert(IPropertyData property)
+ {
+ if (property == null) { return null; }
+
+ cmisProperty result = null;
+
+ if (property is IPropertyString)
+ {
+ result = new cmisPropertyString();
+ IList<string> propValues = ((IPropertyString)property).Values;
+ if (propValues != null)
+ {
+ ((cmisPropertyString)result).value = new string[propValues.Count];
+ for (int i = 0; i < propValues.Count; i++)
+ {
+ ((cmisPropertyString)result).value[i] = propValues[i];
+ }
+ }
+ }
+ else if (property is IPropertyId)
+ {
+ result = new cmisPropertyId();
+ IList<string> propValues = ((IPropertyId)property).Values;
+ if (propValues != null)
+ {
+ ((cmisPropertyId)result).value = new string[propValues.Count];
+ for (int i = 0; i < propValues.Count; i++)
+ {
+ ((cmisPropertyId)result).value[i] = propValues[i];
+ }
+ }
+ }
+ else if (property is IPropertyInteger)
+ {
+ result = new cmisPropertyInteger();
+ IList<long> propValues = ((IPropertyInteger)property).Values;
+ if (propValues != null)
+ {
+ ((cmisPropertyInteger)result).value = new string[propValues.Count];
+ for (int i = 0; i < propValues.Count; i++)
+ {
+ ((cmisPropertyInteger)result).value[i] = propValues[i].ToString();
+ }
+ }
+ }
+ else if (property is IPropertyBoolean)
+ {
+ result = new cmisPropertyInteger();
+ IList<bool> propValues = ((IPropertyBoolean)property).Values;
+ if (propValues != null)
+ {
+ ((cmisPropertyBoolean)result).value = new bool[propValues.Count];
+ for (int i = 0; i < propValues.Count; i++)
+ {
+ ((cmisPropertyBoolean)result).value[i] = propValues[i];
+ }
+ }
+ }
+ else if (property is IPropertyDateTime)
+ {
+ result = new cmisPropertyDateTime();
+ IList<DateTime> propValues = ((IPropertyDateTime)property).Values;
+ if (propValues != null)
+ {
+ ((cmisPropertyDateTime)result).value = new DateTime[propValues.Count];
+ for (int i = 0; i < propValues.Count; i++)
+ {
+ ((cmisPropertyDateTime)result).value[i] = propValues[i];
+ }
+ }
+ }
+ else if (property is IPropertyDecimal)
+ {
+ result = new cmisPropertyDecimal();
+ IList<decimal> propValues = ((IPropertyDecimal)property).Values;
+ if (propValues != null)
+ {
+ ((cmisPropertyDecimal)result).value = new decimal[propValues.Count];
+ for (int i = 0; i < propValues.Count; i++)
+ {
+ ((cmisPropertyDecimal)result).value[i] = propValues[i];
+ }
+ }
+ }
+ else if (property is IPropertyHtml)
+ {
+ result = new cmisPropertyHtml();
+ IList<string> propValues = ((IPropertyHtml)property).Values;
+ if (propValues != null)
+ {
+ ((cmisPropertyHtml)result).value = new string[propValues.Count];
+ for (int i = 0; i < propValues.Count; i++)
+ {
+ ((cmisPropertyHtml)result).value[i] = propValues[i];
+ }
+ }
+ }
+ else if (property is IPropertyUri)
+ {
+ result = new cmisPropertyUri();
+ IList<string> propValues = ((IPropertyUri)property).Values;
+ if (propValues != null)
+ {
+ ((cmisPropertyUri)result).value = new string[propValues.Count];
+ for (int i = 0; i < propValues.Count; i++)
+ {
+ ((cmisPropertyUri)result).value[i] = propValues[i];
+ }
+ }
+ }
+
+ result.propertyDefinitionId = property.Id;
+ result.localName = property.LocalName;
+ result.displayName = property.DisplayName;
+ result.queryName = property.QueryName;
+
+ ConvertExtension(property, result);
+
+ return result;
+ }
+
+ public static IAllowableActions Convert(cmisAllowableActionsType allowableActions)
+ {
+ if (allowableActions == null) { return null; }
+
+ AllowableActions result = new AllowableActions();
+ result.Actions = new HashSet<string>();
+
+ if (allowableActions.canDeleteObject && allowableActions.canDeleteObjectSpecified)
+ { result.Actions.Add(Actions.CanDeleteObject); }
+
+ if (allowableActions.canUpdateProperties && allowableActions.canUpdatePropertiesSpecified)
+ { result.Actions.Add(Actions.CanUpdateProperties); }
+
+ if (allowableActions.canGetFolderTree && allowableActions.canGetFolderTreeSpecified)
+ { result.Actions.Add(Actions.CanGetFolderTree); }
+
+ if (allowableActions.canGetProperties && allowableActions.canGetPropertiesSpecified)
+ { result.Actions.Add(Actions.CanGetProperties); }
+
+ if (allowableActions.canGetObjectRelationships && allowableActions.canGetObjectRelationshipsSpecified)
+ { result.Actions.Add(Actions.CanGetObjectRelationships); }
+
+ if (allowableActions.canGetObjectParents && allowableActions.canGetObjectParentsSpecified)
+ { result.Actions.Add(Actions.CanGetObjectParents); }
+
+ if (allowableActions.canGetFolderParent && allowableActions.canGetFolderParentSpecified)
+ { result.Actions.Add(Actions.CanGetFolderParent); }
+
+ if (allowableActions.canGetDescendants && allowableActions.canGetDescendantsSpecified)
+ { result.Actions.Add(Actions.CanGetDescendants); }
+
+ if (allowableActions.canMoveObject && allowableActions.canMoveObjectSpecified)
+ { result.Actions.Add(Actions.CanMoveObject); }
+
+ if (allowableActions.canDeleteContentStream && allowableActions.canDeleteContentStreamSpecified)
+ { result.Actions.Add(Actions.CanDeleteContentStream); }
+
+ if (allowableActions.canCheckOut && allowableActions.canCheckOutSpecified)
+ { result.Actions.Add(Actions.CanCheckOut); }
+
+ if (allowableActions.canCancelCheckOut && allowableActions.canCancelCheckOutSpecified)
+ { result.Actions.Add(Actions.CanCancelCheckOut); }
+
+ if (allowableActions.canCheckIn && allowableActions.canCheckInSpecified)
+ { result.Actions.Add(Actions.CanCheckIn); }
+
+ if (allowableActions.canSetContentStream && allowableActions.canSetContentStreamSpecified)
+ { result.Actions.Add(Actions.CanSetContentStream); }
+
+ if (allowableActions.canGetAllVersions && allowableActions.canGetAllVersionsSpecified)
+ { result.Actions.Add(Actions.CanGetAllVersions); }
+
+ if (allowableActions.canAddObjectToFolder && allowableActions.canAddObjectToFolderSpecified)
+ { result.Actions.Add(Actions.CanAddObjectToFolder); }
+
+ if (allowableActions.canRemoveObjectFromFolder && allowableActions.canRemoveObjectFromFolderSpecified)
+ { result.Actions.Add(Actions.CanRemoveObjectFromFolder); }
+
+ if (allowableActions.canGetContentStream && allowableActions.canGetContentStreamSpecified)
+ { result.Actions.Add(Actions.CanGetContentStream); }
+
+ if (allowableActions.canApplyPolicy && allowableActions.canApplyPolicySpecified)
+ { result.Actions.Add(Actions.CanApplyPolicy); }
+
+ if (allowableActions.canGetAppliedPolicies && allowableActions.canGetAppliedPoliciesSpecified)
+ { result.Actions.Add(Actions.CanGetAppliedPolicies); }
+
+ if (allowableActions.canRemovePolicy && allowableActions.canRemovePolicySpecified)
+ { result.Actions.Add(Actions.CanRemovePolicy); }
+
+ if (allowableActions.canGetChildren && allowableActions.canGetChildrenSpecified)
+ { result.Actions.Add(Actions.CanGetChildren); }
+
+ if (allowableActions.canCreateDocument && allowableActions.canCreateDocumentSpecified)
+ { result.Actions.Add(Actions.CanCreateDocument); }
+
+ if (allowableActions.canCreateFolder && allowableActions.canCreateFolderSpecified)
+ { result.Actions.Add(Actions.CanCreateFolder); }
+
+ if (allowableActions.canCreateRelationship && allowableActions.canCreateRelationshipSpecified)
+ { result.Actions.Add(Actions.CanCreateRelationship); }
+
+ if (allowableActions.canDeleteTree && allowableActions.canDeleteTreeSpecified)
+ { result.Actions.Add(Actions.CanDeleteTree); }
+
+ if (allowableActions.canGetRenditions && allowableActions.canGetRenditionsSpecified)
+ { result.Actions.Add(Actions.CanGetRenditions); }
+
+ if (allowableActions.canGetACL && allowableActions.canGetACLSpecified)
+ { result.Actions.Add(Actions.CanGetAcl); }
+
+ if (allowableActions.canApplyACL && allowableActions.canApplyACLSpecified)
+ { result.Actions.Add(Actions.CanApplyAcl); }
+
+ ConvertExtension(allowableActions, result);
+
+ return result;
+ }
+
+ public static IAcl Convert(cmisAccessControlListType acl, bool? isExact)
+ {
+ if (acl == null) { return null; }
+
+ Acl result = new Acl();
+ if (acl.permission != null)
+ {
+ result.Aces = new List<IAce>();
+ foreach (cmisAccessControlEntryType ace in acl.permission)
+ {
+ result.Aces.Add(Convert(ace));
+ }
+ }
+ result.IsExact = isExact;
+
+ ConvertExtension(acl, result);
+
+ return result;
+ }
+
+
+ public static IAcl Convert(cmisACLType acl)
+ {
+ if (acl == null) { return null; }
+
+ Acl result = new Acl();
+ if (acl.ACL != null && acl.ACL.permission != null)
+ {
+ result.Aces = new List<IAce>();
+ foreach (cmisAccessControlEntryType ace in acl.ACL.permission)
+ {
+ result.Aces.Add(Convert(ace));
+ }
+ }
+ result.IsExact = (acl.exactSpecified ? (bool?)acl.exactSpecified : null);
+
+ ConvertExtension(acl, result);
+
+ return result;
+ }
+
+
+ public static IAce Convert(cmisAccessControlEntryType ace)
+ {
+ if (ace == null) { return null; }
+
+ Ace result = new Ace();
+ if (ace.principal != null)
+ {
+ Principal principal = new Principal();
+ principal.Id = ace.principal.principalId;
+ result.Principal = principal;
+
+ ConvertExtension(ace.principal, principal);
+ }
+ if (ace.permission != null)
+ {
+ result.Permissions = new List<string>();
+ foreach (string permission in ace.permission)
+ {
+ result.Permissions.Add(permission);
+ }
+ }
+ result.IsDirect = ace.direct;
+
+ ConvertExtension(ace, result);
+
+ return result;
+ }
+
+ public static cmisAccessControlListType Convert(IAcl acl)
+ {
+ if (acl == null) { return null; }
+
+ cmisAccessControlListType result = new cmisAccessControlListType();
+ if (acl.Aces != null)
+ {
+ result.permission = new cmisAccessControlEntryType[acl.Aces.Count];
+ for (int i = 0; i < acl.Aces.Count; i++)
+ {
+ result.permission[i] = Convert(acl.Aces[i]);
+ }
+ }
+
+ ConvertExtension(acl, result);
+
+ return result;
+ }
+
+ public static cmisAccessControlEntryType Convert(IAce ace)
+ {
+ if (ace == null) { return null; }
+
+ cmisAccessControlEntryType result = new cmisAccessControlEntryType();
+ if (ace.Principal != null)
+ {
+ result.principal = new cmisAccessControlPrincipalType();
+ result.principal.principalId = ace.Principal.Id;
+
+ ConvertExtension(ace.Principal, result.principal);
+ }
+ if (ace.Permissions != null)
+ {
+ result.permission = new string[ace.Permissions.Count];
+ for (int i = 0; i < ace.Permissions.Count; i++)
+ {
+ result.permission[i] = ace.Permissions[i];
+ }
+ }
+ result.direct = ace.IsDirect;
+
+ ConvertExtension(ace, result);
+
+ return result;
+ }
+
+
+ public static IPolicyIdList Convert(cmisListOfIdsType policyIdList)
+ {
+ if (policyIdList == null) { return null; }
+
+ PolicyIdList result = new PolicyIdList();
+ if (policyIdList.id != null)
+ {
+ result.PolicyIds = new List<string>();
+ foreach (string id in policyIdList.id)
+ {
+ result.PolicyIds.Add(id);
+ }
+ }
+
+ ConvertExtension(policyIdList, result);
+
+ return result;
+ }
+
+ public static cmisListOfIdsType ConvertPolicies(IList<string> policyIds)
+ {
+ if (policyIds == null) { return null; }
+
+ cmisListOfIdsType result = new cmisListOfIdsType();
+ result.id = new string[policyIds.Count];
+ for (int i = 0; i < policyIds.Count; i++)
+ {
+ result.id[i] = policyIds[i];
+ }
+
+ return result;
+ }
+
+
+ public static IRenditionData Convert(cmisRenditionType rendition)
+ {
+ if (rendition == null) { return null; }
+
+ RenditionData result = new RenditionData();
+ result.StreamId = rendition.streamId;
+ result.MimeType = rendition.mimetype;
+ result.Length = Int64.Parse(rendition.length);
+ result.Kind = rendition.kind;
+ result.Title = rendition.title;
+ result.Height = Int64.Parse(rendition.height);
+ result.Width = Int64.Parse(rendition.width);
+ result.RenditionDocumentId = rendition.renditionDocumentId;
+
+ ConvertExtension(rendition, result);
+
+ return result;
+ }
+
+ public static IChangeEventInfo Convert(cmisChangeEventType changeEvent)
+ {
+ if (changeEvent == null) { return null; }
+
+ ChangeEventInfo result = new ChangeEventInfo();
+ result.ChangeType = (ChangeType)CmisValue.SerializerToCmisEnum(changeEvent.changeType);
+ result.ChangeTime = changeEvent.changeTime;
+
+ ConvertExtension(changeEvent, result);
+
+ return result;
+ }
+
+ public static IObjectInFolderList Convert(cmisObjectInFolderListType list)
+ {
+ if (list == null) { return null; }
+
+ ObjectInFolderList result = new ObjectInFolderList();
+ if (list.objects != null)
+ {
+ result.Objects = new List<IObjectInFolderData>();
+ foreach (cmisObjectInFolderType fo in list.objects)
+ {
+ result.Objects.Add(Convert(fo));
+ }
+ }
+ result.HasMoreItems = list.hasMoreItems;
+ if (list.numItems != null)
+ {
+ result.NumItems = Int64.Parse(list.numItems);
+ }
+
+ ConvertExtension(list, result);
+
+ return result;
+ }
+
+
+ public static IObjectInFolderData Convert(cmisObjectInFolderType objectInFolder)
+ {
+ if (objectInFolder == null) { return null; }
+
+ ObjectInFolderData result = new ObjectInFolderData();
+ result.Object = Convert(objectInFolder.@object);
+ result.PathSegment = objectInFolder.pathSegment;
+
+ ConvertExtension(objectInFolder, result);
+
+ return result;
+ }
+
+ public static IObjectInFolderContainer Convert(cmisObjectInFolderContainerType container)
+ {
+ if (container == null) { return null; }
+
+ ObjectInFolderContainer result = new ObjectInFolderContainer();
+ result.Object = Convert(container.objectInFolder);
+ if (container.children != null)
+ {
+ result.Children = new List<IObjectInFolderContainer>();
+ foreach (cmisObjectInFolderContainerType child in container.children)
+ {
+ result.Children.Add(Convert(child));
+ }
+ }
+
+ ConvertExtension(container, result);
+
+ return result;
+ }
+
+ public static IObjectParentData Convert(cmisObjectParentsType parent)
+ {
+ if (parent == null) { return null; }
+
+ ObjectParentData result = new ObjectParentData();
+ result.Object = Convert(parent.@object);
+ result.RelativePathSegment = parent.relativePathSegment;
+
+ ConvertExtension(parent, result);
+
+ return result;
+ }
+
+ public static IObjectList Convert(cmisObjectListType list)
+ {
+ if (list == null) { return null; }
+
+ ObjectList result = new ObjectList();
+ if (list.objects != null)
+ {
+ result.Objects = new List<IObjectData>();
+ foreach (cmisObjectType obj in list.objects)
+ {
+ result.Objects.Add(Convert(obj));
+ }
+ }
+
+ result.HasMoreItems = list.hasMoreItems;
+ result.NumItems = Int64.Parse(list.numItems);
+
+ ConvertExtension(list, result);
+
+ return result;
+ }
+
+ public static IContentStream Convert(cmisContentStreamType contentStream)
+ {
+ if (contentStream == null) { return null; }
+
+ ContentStream result = new ContentStream();
+ if (contentStream.length != null)
+ {
+ result.Length = Int64.Parse(contentStream.length);
+ }
+ result.MimeType = contentStream.mimeType;
+ result.FileName = contentStream.filename;
+ // Todo: enable real streaming
+ result.Stream = new MemoryStream(contentStream.stream);
+
+ ConvertExtension(contentStream, result);
+
+ return result;
+ }
+
+ public static cmisContentStreamType Convert(IContentStream contentStream)
+ {
+ if (contentStream == null) { return null; }
+
+ cmisContentStreamType result = new cmisContentStreamType();
+ result.length = contentStream.Length.ToString();
+ result.mimeType = contentStream.MimeType;
+ result.filename = contentStream.FileName;
+ if (contentStream.Stream != null)
+ {
+ if (contentStream.Stream is MemoryStream)
+ {
+ result.stream = ((MemoryStream)contentStream.Stream).ToArray();
+ }
+ else
+ {
+ MemoryStream memStream = new MemoryStream();
+ byte[] buffer = new byte[4096];
+ int bytes;
+ while ((bytes = contentStream.Stream.Read(buffer, 0, buffer.Length)) > 0)
+ {
+ memStream.Write(buffer, 0, bytes);
+ }
+ result.stream = memStream.ToArray();
+ }
+ }
+
+ return result;
+ }
+
+ public static IFailedToDeleteData Convert(deleteTreeResponseFailedToDelete failedToDelete)
+ {
+ if (failedToDelete == null) { return null; }
+
+ FailedToDeleteData result = new FailedToDeleteData();
+ if (failedToDelete.objectIds != null)
+ {
+ result.Ids = new List<string>();
+ foreach (string id in failedToDelete.objectIds)
+ {
+ result.Ids.Add(id);
+ }
+ }
+
+ ConvertExtension(failedToDelete, result);
+
+ return result;
+ }
+
+ public static T[] ConvertList<T>(IList<T> list)
+ {
+ if (list == null) { return null; }
+
+ T[] result = new T[list.Count];
+ for (int i = 0; i < list.Count; i++)
+ {
+ result[i] = list[i];
+ }
+
+ return result;
+ }
+
+ /// <summary>
+ /// Converts an extension.
+ /// </summary>
+ public static void ConvertExtension(object source, IExtensionsData target)
+ {
+ if (source == null || target == null) { return; }
+
+ Type type = source.GetType();
+ PropertyInfo propInfo = type.GetProperty("Any");
+ if (propInfo == null)
+ {
+ return;
+ }
+
+ XmlElement[] elements = (XmlElement[])propInfo.GetValue(source, null);
+ if (elements == null)
+ {
+ return;
+ }
+
+ target.Extensions = new List<ICmisExtensionElement>();
+ foreach (XmlElement xmlElement in elements)
+ {
+ ICmisExtensionElement element = CreateCmisExtensionElement(xmlElement);
+ if (element != null)
+ {
+ target.Extensions.Add(element);
+ }
+ }
+ }
+
+ private static ICmisExtensionElement CreateCmisExtensionElement(XmlNode xmlElement)
+ {
+ CmisExtensionElement result = new CmisExtensionElement();
+ result.Name = xmlElement.Name;
+ result.Namespace = xmlElement.NamespaceURI;
+
+ if (xmlElement.Attributes != null && xmlElement.Attributes.Count > 0)
+ {
+ result.Attributes = new Dictionary<string, string>();
+ foreach (XmlAttribute attr in xmlElement.Attributes)
+ {
+ result.Attributes[attr.Name] = attr.Value;
+ }
+ }
+
+ if (xmlElement.HasChildNodes)
+ {
+ result.Children = new List<ICmisExtensionElement>();
+ foreach (XmlNode node in xmlElement.ChildNodes)
+ {
+ ICmisExtensionElement element = CreateCmisExtensionElement(node);
+ if (element != null)
+ {
+ result.Children.Add(element);
+ }
+ }
+ }
+ else
+ {
+ result.Value = xmlElement.Value;
+ }
+
+ return result;
+ }
+
+ /// <summary>
+ /// Converts an extension.
+ /// </summary>
+ public static cmisExtensionType ConvertExtension(IExtensionsData extension)
+ {
+ if (extension == null || extension.Extensions == null) { return null; }
+
+ XmlDocument doc = new XmlDocument();
+
+ List<XmlElement> elements = new List<XmlElement>();
+ foreach (ICmisExtensionElement element in extension.Extensions)
+ {
+ if (element == null) { continue; }
+ elements.Add(CreateXmlElement(doc, element));
+ }
+
+ cmisExtensionType result = new cmisExtensionType();
+ result.Any = elements.ToArray();
+
+ return result;
+ }
+
+ public static void ConvertExtension(IExtensionsData source, object target)
+ {
+ if (source == null || source.Extensions == null || target == null)
+ {
+ return;
+ }
+
+ Type type = target.GetType();
+ PropertyInfo propInfo = type.GetProperty("Any");
+ if (propInfo == null)
+ {
+ return;
+ }
+
+ XmlDocument doc = new XmlDocument();
+
+ List<XmlElement> elements = new List<XmlElement>();
+ foreach (ICmisExtensionElement element in source.Extensions)
+ {
+ if (element == null) { continue; }
+ elements.Add(CreateXmlElement(doc, element));
+ }
+
+ propInfo.SetValue(target, elements.ToArray(), null);
+ }
+
+ private static XmlElement CreateXmlElement(XmlDocument doc, ICmisExtensionElement element)
+ {
+ if (element == null)
+ {
+ return null;
+ }
+
+ XmlElement result = doc.CreateElement(element.Name, element.Namespace);
+
+ if (element.Attributes != null)
+ {
+ foreach (string key in element.Attributes.Keys)
+ {
+ XmlAttribute attr = doc.CreateAttribute(key);
+ attr.Value = element.Attributes[key];
+ result.Attributes.Append(attr);
+ }
+ }
+
+ if (element.Value != null)
+ {
+ result.Value = element.Value;
+ }
+ else if (element.Children != null)
+ {
+ List<XmlElement> children = new List<XmlElement>();
+ foreach (ICmisExtensionElement child in element.Children)
+ {
+ XmlElement xml = CreateXmlElement(doc, child);
+ if (xml != null)
+ {
+ result.AppendChild(xml);
+ }
+ }
+ }
+
+ return result;
+ }
+
+ public static string GetXmlEnumAttributeValue(Enum xsdEnum)
+ {
+ FieldInfo fieldInfo = xsdEnum.GetType().GetField(xsdEnum.ToString());
+ XmlEnumAttribute[] xmlAttr = fieldInfo.GetCustomAttributes(typeof(XmlEnumAttribute), false) as XmlEnumAttribute[];
+
+ if (xmlAttr.Length == 0)
+ {
+ return null;
+ }
+
+ return xmlAttr[0].Name;
+ }
+ }
+}
diff --git a/DotCMIS/binding/http.cs b/DotCMIS/binding/http.cs
new file mode 100644
index 0000000..a3864a7
--- /dev/null
+++ b/DotCMIS/binding/http.cs
@@ -0,0 +1,259 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+using System;
+using System.Diagnostics;
+using System.IO;
+using System.Net;
+using DotCMIS.Binding.Impl;
+using DotCMIS.Enums;
+using DotCMIS.Exceptions;
+using System.Web;
+using System.Text;
+
+namespace DotCMIS.Binding
+{
+ internal static class HttpUtils
+ {
+ public delegate void Output(Stream stream);
+
+ public static Response InvokeGET(UrlBuilder url, BindingSession session)
+ {
+ return Invoke(url, "GET", null, null, session, null, null);
+ }
+
+ public static Response InvokeGET(UrlBuilder url, BindingSession session, int? offset, int? length)
+ {
+ return Invoke(url, "GET", null, null, session, offset, length);
+ }
+
+ public static Response InvokePOST(UrlBuilder url, String contentType, Output writer, BindingSession session)
+ {
+ return Invoke(url, "POST", contentType, writer, session, null, null);
+ }
+
+ public static Response InvokePUT(UrlBuilder url, String contentType, Output writer, BindingSession session)
+ {
+ return Invoke(url, "PUT", contentType, writer, session, null, null);
+ }
+
+ public static Response InvokeDELETE(UrlBuilder url, BindingSession session)
+ {
+ return Invoke(url, "DELETE", null, null, session, null, null);
+ }
+
+ private static Response Invoke(UrlBuilder url, String method, String contentType, Output writer, BindingSession session,
+ int? offset, int? length)
+ {
+ try
+ {
+ // log before connect
+ Trace.WriteLine(method + " " + url);
+
+ // create connection
+ HttpWebRequest conn = (HttpWebRequest)WebRequest.Create(url.Url);
+ conn.Method = method;
+
+ // set content type
+ if (contentType != null)
+ {
+ conn.ContentType = contentType;
+ }
+
+ // authenticate
+ AbstractAuthenticationProvider authProvider = session.GetAuthenticationProvider();
+ if (authProvider != null)
+ {
+ conn.PreAuthenticate = true;
+ authProvider.Authenticate(conn);
+ }
+
+ // range
+ if (offset != null && length != null)
+ {
+ conn.AddRange(offset ?? 0, offset + length - 1 ?? 0);
+ }
+ else if (offset != null)
+ {
+ conn.AddRange(offset ?? 0);
+ }
+
+ // send data
+ if (writer != null)
+ {
+ conn.SendChunked = true;
+ conn.AllowWriteStreamBuffering = false;
+ Stream requestStream = conn.GetRequestStream();
+ writer(requestStream);
+ requestStream.Close();
+ }
+
+ // connect
+ try
+ {
+ HttpWebResponse response = (HttpWebResponse)conn.GetResponse();
+ return new Response(response);
+ }
+ catch (WebException we)
+ {
+ return new Response(we);
+ }
+ }
+ catch (Exception e)
+ {
+ throw new CmisConnectionException("Cannot access " + url + ": " + e.Message, e);
+ }
+ }
+
+ internal class Response
+ {
+ private WebResponse response;
+
+ public HttpStatusCode StatusCode { get; private set; }
+ public string Message { get; private set; }
+ public Stream Stream { get; private set; }
+ public string ErrorContent { get; private set; }
+ public string ContentType { get; private set; }
+ public long? ContentLength { get; private set; }
+
+ public Response(HttpWebResponse httpResponse)
+ {
+ this.response = httpResponse;
+ StatusCode = httpResponse.StatusCode;
+ Message = httpResponse.StatusDescription;
+ ContentType = httpResponse.ContentType;
+ ContentLength = httpResponse.ContentLength == -1 ? null : (long?)httpResponse.ContentLength;
+
+ if (httpResponse.StatusCode == HttpStatusCode.OK ||
+ httpResponse.StatusCode == HttpStatusCode.Created ||
+ httpResponse.StatusCode == HttpStatusCode.NonAuthoritativeInformation ||
+ httpResponse.StatusCode == HttpStatusCode.PartialContent)
+ {
+ Stream = new BufferedStream(httpResponse.GetResponseStream(), 64 * 1024);
+ }
+ else
+ {
+ try { httpResponse.Close(); }
+ catch (Exception) { }
+ }
+ }
+
+ public Response(WebException exception)
+ {
+ response = exception.Response;
+
+ if (response is HttpWebResponse)
+ {
+ HttpWebResponse httpResponse = (HttpWebResponse)response;
+ StatusCode = httpResponse.StatusCode;
+ Message = httpResponse.StatusDescription;
+ ContentType = httpResponse.ContentType;
+
+ if (ContentType != null && ContentType.ToLower().StartsWith("text/"))
+ {
+ StringBuilder sb = new StringBuilder();
+
+ using (StreamReader sr = new StreamReader(httpResponse.GetResponseStream()))
+ {
+ string s;
+ while ((s = sr.ReadLine()) != null)
+ {
+ sb.Append(s);
+ sb.Append('\n');
+ }
+ }
+
+ ErrorContent = sb.ToString();
+ }
+ }
+ else
+ {
+ StatusCode = HttpStatusCode.InternalServerError;
+ Message = exception.Status.ToString();
+ }
+
+ try { response.Close(); }
+ catch (Exception) { }
+ }
+ }
+ }
+
+ internal class UrlBuilder
+ {
+ private UriBuilder uri;
+
+ public Uri Url
+ {
+ get { return uri.Uri; }
+ }
+
+ public UrlBuilder(string url)
+ {
+ if (url == null)
+ {
+ throw new ArgumentNullException("url");
+ }
+
+ uri = new UriBuilder(url);
+ }
+
+ public UrlBuilder AddParameter(string name, object value)
+ {
+ if ((name == null) || (value == null))
+ {
+ return this;
+ }
+
+ string valueStr = HttpUtility.UrlEncode(NormalizeParameter(value));
+
+ if (uri.Query != null && uri.Query.Length > 1)
+ {
+ uri.Query = uri.Query.Substring(1) + "&" + name + "=" + valueStr;
+ }
+ else
+ {
+ uri.Query = name + "=" + valueStr;
+ }
+
+ return this;
+ }
+
+ public static string NormalizeParameter(object value)
+ {
+ if (value == null)
+ {
+ return null;
+ }
+ else if (value is Enum)
+ {
+ return ((Enum)value).GetCmisValue();
+ }
+ else if (value is bool)
+ {
+ return (bool)value ? "true" : "false";
+ }
+
+ return value.ToString();
+ }
+
+ public override string ToString()
+ {
+ return Url.ToString();
+ }
+ }
+}
diff --git a/DotCMIS/binding/services.cs b/DotCMIS/binding/services.cs
new file mode 100644
index 0000000..47c67ce
--- /dev/null
+++ b/DotCMIS/binding/services.cs
@@ -0,0 +1,180 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+using System;
+using System.Collections.Generic;
+using DotCMIS.Data;
+using DotCMIS.Data.Extensions;
+using DotCMIS.Enums;
+
+namespace DotCMIS.Binding.Services
+{
+ public interface IRepositoryService
+ {
+ IList<IRepositoryInfo> GetRepositoryInfos(IExtensionsData extension);
+
+ IRepositoryInfo GetRepositoryInfo(string repositoryId, IExtensionsData extension);
+
+ ITypeDefinitionList GetTypeChildren(string repositoryId, string typeId, bool? includePropertyDefinitions,
+ long? maxItems, long? skipCount, IExtensionsData extension);
+
+ IList<ITypeDefinitionContainer> GetTypeDescendants(string repositoryId, string typeId, long? depth,
+ bool? includePropertyDefinitions, IExtensionsData extension);
+
+ ITypeDefinition GetTypeDefinition(string repositoryId, string typeId, IExtensionsData extension);
+ }
+
+ public interface INavigationService
+ {
+ IObjectInFolderList GetChildren(string repositoryId, string folderId, string filter, string orderBy,
+ bool? includeAllowableActions, IncludeRelationships? includeRelationships, string renditionFilter,
+ bool? includePathSegment, long? maxItems, long? skipCount, IExtensionsData extension);
+
+ IList<IObjectInFolderContainer> GetDescendants(string repositoryId, string folderId, long? depth, string filter,
+ bool? includeAllowableActions, IncludeRelationships? includeRelationships, string renditionFilter,
+ bool? includePathSegment, IExtensionsData extension);
+
+ IList<IObjectInFolderContainer> GetFolderTree(string repositoryId, string folderId, long? depth, string filter,
+ bool? includeAllowableActions, IncludeRelationships? includeRelationships, string renditionFilter,
+ bool? includePathSegment, IExtensionsData extension);
+
+ IList<IObjectParentData> GetObjectParents(string repositoryId, string objectId, string filter,
+ bool? includeAllowableActions, IncludeRelationships? includeRelationships, string renditionFilter,
+ bool? includeRelativePathSegment, IExtensionsData extension);
+
+ IObjectData GetFolderParent(string repositoryId, string folderId, string filter, ExtensionsData extension);
+
+ IObjectList GetCheckedOutDocs(string repositoryId, string folderId, string filter, string orderBy,
+ bool? includeAllowableActions, IncludeRelationships? includeRelationships, string renditionFilter,
+ long? maxItems, long? skipCount, IExtensionsData extension);
+ }
+
+ public interface IObjectService
+ {
+ string CreateDocument(string repositoryId, IProperties properties, string folderId, IContentStream contentStream,
+ VersioningState? versioningState, IList<string> policies, IAcl addAces, IAcl removeAces, IExtensionsData extension);
+
+ string CreateDocumentFromSource(string repositoryId, string sourceId, IProperties properties, string folderId,
+ VersioningState? versioningState, IList<string> policies, IAcl addAces, IAcl removeAces, IExtensionsData extension);
+
+ string CreateFolder(string repositoryId, IProperties properties, string folderId, IList<string> policies,
+ IAcl addAces, IAcl removeAces, IExtensionsData extension);
+
+ string CreateRelationship(string repositoryId, IProperties properties, IList<string> policies, IAcl addAces,
+ IAcl removeAces, IExtensionsData extension);
+
+ string CreatePolicy(string repositoryId, IProperties properties, string folderId, IList<string> policies,
+ IAcl addAces, IAcl removeAces, IExtensionsData extension);
+
+ IAllowableActions GetAllowableActions(string repositoryId, string objectId, IExtensionsData extension);
+
+ IProperties GetProperties(string repositoryId, string objectId, string filter, IExtensionsData extension);
+
+ IList<IRenditionData> GetRenditions(string repositoryId, string objectId, string renditionFilter,
+ long? maxItems, long? skipCount, IExtensionsData extension);
+
+ IObjectData GetObject(string repositoryId, string objectId, string filter, bool? includeAllowableActions,
+ IncludeRelationships? includeRelationships, string renditionFilter, bool? includePolicyIds,
+ bool? includeAcl, IExtensionsData extension);
+
+ IObjectData GetObjectByPath(string repositoryId, string path, string filter, bool? includeAllowableActions,
+ IncludeRelationships? includeRelationships, string renditionFilter, bool? includePolicyIds, bool? includeAcl,
+ IExtensionsData extension);
+
+ IContentStream GetContentStream(string repositoryId, string objectId, string streamId, long? offset, long? length,
+ IExtensionsData extension);
+
+ void UpdateProperties(string repositoryId, ref string objectId, ref string changeToken, IProperties properties,
+ IExtensionsData extension);
+
+ void MoveObject(string repositoryId, ref string objectId, string targetFolderId, string sourceFolderId,
+ IExtensionsData extension);
+
+ void DeleteObject(string repositoryId, string objectId, bool? allVersions, IExtensionsData extension);
+
+ IFailedToDeleteData DeleteTree(string repositoryId, string folderId, bool? allVersions, UnfileObject? unfileObjects,
+ bool? continueOnFailure, ExtensionsData extension);
+
+ void SetContentStream(string repositoryId, ref string objectId, bool? overwriteFlag, ref string changeToken,
+ IContentStream contentStream, IExtensionsData extension);
+
+ void DeleteContentStream(string repositoryId, ref string objectId, ref string changeToken, IExtensionsData extension);
+ }
+
+ public interface IVersioningService
+ {
+ void CheckOut(string repositoryId, ref string objectId, IExtensionsData extension, out bool? contentCopied);
+
+ void CancelCheckOut(string repositoryId, string objectId, IExtensionsData extension);
+
+ void CheckIn(string repositoryId, ref string objectId, bool? major, IProperties properties,
+ IContentStream contentStream, string checkinComment, List<string> policies, IAcl addAces, IAcl removeAces,
+ IExtensionsData extension);
+
+ IObjectData GetObjectOfLatestVersion(string repositoryId, string objectId, string versionSeriesId, bool major,
+ string filter, bool? includeAllowableActions, IncludeRelationships? includeRelationships,
+ string renditionFilter, bool? includePolicyIds, bool? includeAcl, IExtensionsData extension);
+
+ IProperties GetPropertiesOfLatestVersion(string repositoryId, string objectId, string versionSeriesId, bool major,
+ string filter, IExtensionsData extension);
+
+ IList<IObjectData> GetAllVersions(string repositoryId, string objectId, string versionSeriesId, string filter,
+ bool? includeAllowableActions, IExtensionsData extension);
+ }
+
+ public interface IRelationshipService
+ {
+ IObjectList GetObjectRelationships(string repositoryId, string objectId, bool? includeSubRelationshipTypes,
+ RelationshipDirection? relationshipDirection, string typeId, string filter, bool? includeAllowableActions,
+ long? maxItems, long? skipCount, IExtensionsData extension);
+ }
+
+ public interface IDiscoveryService
+ {
+ IObjectList Query(string repositoryId, string statement, bool? searchAllVersions,
+ bool? includeAllowableActions, IncludeRelationships? includeRelationships, string renditionFilter,
+ long? maxItems, long? skipCount, IExtensionsData extension);
+
+ IObjectList GetContentChanges(string repositoryId, ref string changeLogToken, bool? includeProperties,
+ string filter, bool? includePolicyIds, bool? includeAcl, long? maxItems, IExtensionsData extension);
+ }
+
+ public interface IMultiFilingService
+ {
+ void AddObjectToFolder(string repositoryId, string objectId, string folderId, bool? allVersions, IExtensionsData extension);
+
+ void RemoveObjectFromFolder(string repositoryId, string objectId, string folderId, IExtensionsData extension);
+ }
+
+ public interface IAclService
+ {
+ IAcl GetAcl(string repositoryId, string objectId, bool? onlyBasicPermissions, IExtensionsData extension);
+
+ IAcl ApplyAcl(string repositoryId, string objectId, IAcl addAces, IAcl removeAces, AclPropagation? aclPropagation,
+ IExtensionsData extension);
+ }
+
+ public interface IPolicyService
+ {
+ void ApplyPolicy(string repositoryId, string policyId, string objectId, IExtensionsData extension);
+
+ void RemovePolicy(string repositoryId, string policyId, string objectId, IExtensionsData extension);
+
+ IList<IObjectData> GetAppliedPolicies(string repositoryId, string objectId, string filter, IExtensionsData extension);
+ }
+}
diff --git a/DotCMIS/binding/webservices/webservices.cs b/DotCMIS/binding/webservices/webservices.cs
new file mode 100644
index 0000000..cc02b52
--- /dev/null
+++ b/DotCMIS/binding/webservices/webservices.cs
@@ -0,0 +1,1480 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+using System;
+using System.Collections.Generic;
+using System.ServiceModel;
+using DotCMIS.Binding.Impl;
+using DotCMIS.Binding.Services;
+using DotCMIS.CMISWebServicesReference;
+using DotCMIS.Data;
+using DotCMIS.Data.Extensions;
+using DotCMIS.Exceptions;
+using DotCMIS.Enums;
+
+namespace DotCMIS.Binding.WebServices
+{
+ /// <summary>
+ /// Web Services binding SPI.
+ /// </summary>
+ internal class CmisWebServicesSpi : ICmisSpi
+ {
+ private RepositoryService repositoryService;
+ private NavigationService navigationService;
+ private ObjectService objectService;
+ private VersioningService versioningService;
+ private DiscoveryService discoveryService;
+ private MultiFilingService multiFilingService;
+ private RelationshipService relationshipService;
+ private PolicyService policyService;
+ private AclService aclService;
+
+ public void initialize(BindingSession session)
+ {
+ PortProvider provider = new PortProvider(session);
+
+ repositoryService = new RepositoryService(session, provider);
+ navigationService = new NavigationService(session, provider);
+ objectService = new ObjectService(session, provider);
+ versioningService = new VersioningService(session, provider);
+ discoveryService = new DiscoveryService(session, provider);
+ multiFilingService = new MultiFilingService(session, provider);
+ relationshipService = new RelationshipService(session, provider);
+ policyService = new PolicyService(session, provider);
+ aclService = new AclService(session, provider);
+ }
+
+ public IRepositoryService GetRepositoryService()
+ {
+ return repositoryService;
+ }
+
+ public INavigationService GetNavigationService()
+ {
+ return navigationService;
+ }
+
+ public IObjectService GetObjectService()
+ {
+ return objectService;
+ }
+
+ public IVersioningService GetVersioningService()
+ {
+ return versioningService;
+ }
+
+ public IRelationshipService GetRelationshipService()
+ {
+ return relationshipService;
+ }
+
+ public IDiscoveryService GetDiscoveryService()
+ {
+ return discoveryService;
+ }
+
+ public IMultiFilingService GetMultiFilingService()
+ {
+ return multiFilingService;
+ }
+
+ public IAclService GetAclService()
+ {
+ return aclService;
+ }
+
+ public IPolicyService GetPolicyService()
+ {
+ return policyService;
+ }
+
+ public void ClearAllCaches()
+ {
+ // nothing to do
+ }
+
+ public void ClearRepositoryCache(string repositoryId)
+ {
+ // nothing to do
+ }
+
+ public void Close()
+ {
+ // nothing to do
+ }
+ }
+
+ internal class PortProvider
+ {
+ [ThreadStatic]
+ private static IDictionary<int, IDictionary<string, object>> Services;
+
+ private BindingSession session;
+
+ public PortProvider(BindingSession session)
+ {
+ this.session = session;
+ }
+
+ private static IDictionary<string, object> GetServiceDictionary(BindingSession session)
+ {
+ if (Services == null)
+ {
+ Services = new Dictionary<int, IDictionary<string, object>>();
+ }
+
+ IDictionary<string, object> serviceDict;
+ if (Services.TryGetValue(session.GetHashCode(), out serviceDict))
+ {
+ return serviceDict;
+ }
+
+ serviceDict = new Dictionary<string, object>();
+ Services[session.GetHashCode()] = serviceDict;
+
+ return serviceDict;
+ }
+
+ public RepositoryServicePortClient GetRepositoryServicePort()
+ {
+ return (RepositoryServicePortClient)GetPortObject(SessionParameter.WebServicesRepositoryService);
+ }
+
+ public NavigationServicePortClient GetNavigationService()
+ {
+ return (NavigationServicePortClient)GetPortObject(SessionParameter.WebServicesNavigationService);
+ }
+
+ public ObjectServicePortClient GetObjectService()
+ {
+ return (ObjectServicePortClient)GetPortObject(SessionParameter.WebServicesObjectService);
+ }
+
+ public VersioningServicePortClient GetVersioningService()
+ {
+ return (VersioningServicePortClient)GetPortObject(SessionParameter.WebServicesVersioningService);
+ }
+
+ public DiscoveryServicePortClient GetDiscoveryService()
+ {
+ return (DiscoveryServicePortClient)GetPortObject(SessionParameter.WebServicesDiscoveryService);
+ }
+
+ public MultiFilingServicePortClient GetMultiFilingService()
+ {
+ return (MultiFilingServicePortClient)GetPortObject(SessionParameter.WebServicesMultifilingService);
+ }
+
+ public RelationshipServicePortClient GetRelationshipService()
+ {
+ return (RelationshipServicePortClient)GetPortObject(SessionParameter.WebServicesRelationshipService);
+ }
+
+ public PolicyServicePortClient GetPolicyService()
+ {
+ return (PolicyServicePortClient)GetPortObject(SessionParameter.WebServicesPolicyService);
+ }
+
+ public ACLServicePortClient GetAclService()
+ {
+ return (ACLServicePortClient)GetPortObject(SessionParameter.WebServicesAclService);
+ }
+
+ private object GetPortObject(string serviceKey)
+ {
+ IDictionary<string, object> servicesDict = GetServiceDictionary(session);
+
+ object portObject;
+ if (!servicesDict.TryGetValue(serviceKey, out portObject))
+ {
+ portObject = InitServiceObject(serviceKey);
+ servicesDict[serviceKey] = portObject;
+ }
+
+ return portObject;
+ }
+
+ private object InitServiceObject(string serviceKey)
+ {
+ object portObject = null;
+
+ BasicHttpBinding binding = new BasicHttpBinding();
+ binding.MessageEncoding = WSMessageEncoding.Mtom;
+ binding.Security.Mode = BasicHttpSecurityMode.TransportWithMessageCredential;
+ binding.TransferMode = TransferMode.Streamed;
+
+ long messageSize = session.GetValue(SessionParameter.MessageSize, 4 * 1024 * 1024);
+ binding.MaxReceivedMessageSize = messageSize;
+ binding.MaxBufferSize = (messageSize > Int32.MaxValue ? Int32.MaxValue : (int)messageSize);
+
+ if (serviceKey == SessionParameter.WebServicesRepositoryService)
+ {
+ string wsdlUrl = session.GetValue(SessionParameter.WebServicesRepositoryService) as string;
+ portObject = new RepositoryServicePortClient(binding, new EndpointAddress(wsdlUrl));
+ }
+ else if (serviceKey == SessionParameter.WebServicesNavigationService)
+ {
+ string wsdlUrl = session.GetValue(SessionParameter.WebServicesNavigationService) as string;
+ portObject = new NavigationServicePortClient(binding, new EndpointAddress(wsdlUrl));
+ }
+ else if (serviceKey == SessionParameter.WebServicesObjectService)
+ {
+ string wsdlUrl = session.GetValue(SessionParameter.WebServicesObjectService) as string;
+ portObject = new ObjectServicePortClient(binding, new EndpointAddress(wsdlUrl));
+ }
+ else if (serviceKey == SessionParameter.WebServicesVersioningService)
+ {
+ string wsdlUrl = session.GetValue(SessionParameter.WebServicesVersioningService) as string;
+ portObject = new VersioningServicePortClient(binding, new EndpointAddress(wsdlUrl));
+ }
+ else if (serviceKey == SessionParameter.WebServicesDiscoveryService)
+ {
+ string wsdlUrl = session.GetValue(SessionParameter.WebServicesDiscoveryService) as string;
+ portObject = new DiscoveryServicePortClient(binding, new EndpointAddress(wsdlUrl));
+ }
+ else if (serviceKey == SessionParameter.WebServicesRelationshipService)
+ {
+ string wsdlUrl = session.GetValue(SessionParameter.WebServicesRelationshipService) as string;
+ portObject = new RelationshipServicePortClient(binding, new EndpointAddress(wsdlUrl));
+ }
+ else if (serviceKey == SessionParameter.WebServicesMultifilingService)
+ {
+ string wsdlUrl = session.GetValue(SessionParameter.WebServicesMultifilingService) as string;
+ portObject = new MultiFilingServicePortClient(binding, new EndpointAddress(wsdlUrl));
+ }
+ else if (serviceKey == SessionParameter.WebServicesPolicyService)
+ {
+ string wsdlUrl = session.GetValue(SessionParameter.WebServicesPolicyService) as string;
+ portObject = new PolicyServicePortClient(binding, new EndpointAddress(wsdlUrl));
+ }
+ else if (serviceKey == SessionParameter.WebServicesAclService)
+ {
+ string wsdlUrl = session.GetValue(SessionParameter.WebServicesAclService) as string;
+ portObject = new ACLServicePortClient(binding, new EndpointAddress(wsdlUrl));
+ }
+
+ AbstractAuthenticationProvider authenticationProvider = session.GetAuthenticationProvider();
+ if (authenticationProvider != null)
+ {
+ authenticationProvider.Authenticate(portObject);
+ }
+
+ return portObject;
+ }
+ }
+
+ /// <summary>
+ /// Common service methods.
+ /// </summary>
+ internal abstract class AbstractWebServicesService
+ {
+ protected BindingSession Session { get; set; }
+
+ protected PortProvider Provider { get; set; }
+
+ protected CmisBaseException ConvertException(FaultException<cmisFaultType> fault)
+ {
+ if ((fault == null) || (fault.Detail == null))
+ {
+ return new CmisRuntimeException("CmisException has no fault!");
+ }
+
+ String msg = fault.Detail.message;
+ long? code = null;
+
+ try
+ {
+ code = Int64.Parse(fault.Detail.code);
+ }
+ catch (Exception)
+ {
+ // ignore
+ }
+
+ switch (fault.Detail.type)
+ {
+ case enumServiceException.constraint:
+ return new CmisConstraintException(msg, code);
+ case enumServiceException.contentAlreadyExists:
+ return new CmisContentAlreadyExistsException(msg, code);
+ case enumServiceException.filterNotValid:
+ return new CmisFilterNotValidException(msg, code);
+ case enumServiceException.invalidArgument:
+ return new CmisInvalidArgumentException(msg, code);
+ case enumServiceException.nameConstraintViolation:
+ return new CmisNameConstraintViolationException(msg, code);
+ case enumServiceException.notSupported:
+ return new CmisNotSupportedException(msg, code);
+ case enumServiceException.objectNotFound:
+ return new CmisObjectNotFoundException(msg, code);
+ case enumServiceException.permissionDenied:
+ return new CmisPermissionDeniedException(msg, code);
+ case enumServiceException.runtime:
+ return new CmisRuntimeException(msg, code);
+ case enumServiceException.storage:
+ return new CmisStorageException(msg, code);
+ case enumServiceException.streamNotSupported:
+ return new CmisStreamNotSupportedException(msg, code);
+ case enumServiceException.updateConflict:
+ return new CmisUpdateConflictException(msg, code);
+ case enumServiceException.versioning:
+ return new CmisVersioningException(msg, code);
+ }
+
+ return new CmisRuntimeException("Unknown exception[" + fault.Detail.type + "]: " + msg);
+ }
+ }
+
+ internal class RepositoryService : AbstractWebServicesService, IRepositoryService
+ {
+ public RepositoryService(BindingSession session, PortProvider provider)
+ {
+ Session = session;
+ Provider = provider;
+ }
+
+ public IList<IRepositoryInfo> GetRepositoryInfos(IExtensionsData extension)
+ {
+ RepositoryServicePortClient port = Provider.GetRepositoryServicePort();
+
+ try
+ {
+ cmisRepositoryEntryType[] entries = port.getRepositories(Converter.ConvertExtension(extension));
+
+ if (entries == null)
+ {
+ return null;
+ }
+
+ IList<IRepositoryInfo> result = new List<IRepositoryInfo>();
+ foreach (cmisRepositoryEntryType entry in entries)
+ {
+ cmisRepositoryInfoType info = port.getRepositoryInfo(entry.repositoryId, null);
+ result.Add(Converter.Convert(info));
+ }
+
+ return result;
+ }
+ catch (FaultException<cmisFaultType> fe)
+ {
+ throw ConvertException(fe);
+ }
+ catch (Exception e)
+ {
+ throw new CmisRuntimeException("Error: " + e.Message, e);
+ }
+ }
+
+ public IRepositoryInfo GetRepositoryInfo(string repositoryId, IExtensionsData extension)
+ {
+ RepositoryServicePortClient port = Provider.GetRepositoryServicePort();
+
+ try
+ {
+ return Converter.Convert(port.getRepositoryInfo(repositoryId, Converter.ConvertExtension(extension)));
+ }
+ catch (FaultException<cmisFaultType> fe)
+ {
+ throw ConvertException(fe);
+ }
+ catch (Exception e)
+ {
+ throw new CmisRuntimeException("Error: " + e.Message, e);
+ }
+ }
+
+ public ITypeDefinitionList GetTypeChildren(string repositoryId, string typeId, bool? includePropertyDefinitions,
+ long? maxItems, long? skipCount, IExtensionsData extension)
+ {
+ RepositoryServicePortClient port = Provider.GetRepositoryServicePort();
+
+ try
+ {
+ return Converter.Convert(port.getTypeChildren(repositoryId, typeId, includePropertyDefinitions,
+ maxItems.ToString(), skipCount.ToString(), Converter.ConvertExtension(extension)));
+ }
+ catch (FaultException<cmisFaultType> fe)
+ {
+ throw ConvertException(fe);
+ }
+ catch (Exception e)
+ {
+ throw new CmisRuntimeException("Error: " + e.Message, e);
+ }
+ }
+
+ public IList<ITypeDefinitionContainer> GetTypeDescendants(string repositoryId, string typeId, long? depth,
+ bool? includePropertyDefinitions, IExtensionsData extension)
+ {
+ RepositoryServicePortClient port = Provider.GetRepositoryServicePort();
+
+ try
+ {
+ cmisTypeContainer[] descendants = port.getTypeDescendants(
+ repositoryId, typeId, depth.ToString(), includePropertyDefinitions, Converter.ConvertExtension(extension));
+
+ if (descendants == null)
+ {
+ return null;
+ }
+
+ List<ITypeDefinitionContainer> result = new List<ITypeDefinitionContainer>();
+ foreach (cmisTypeContainer container in descendants)
+ {
+ result.Add(Converter.Convert(container));
+ }
+
+ return result;
+ }
+ catch (FaultException<cmisFaultType> fe)
+ {
+ throw ConvertException(fe);
+ }
+ catch (Exception e)
+ {
+ throw new CmisRuntimeException("Error: " + e.Message, e);
+ }
+ }
+
+ public ITypeDefinition GetTypeDefinition(string repositoryId, string typeId, IExtensionsData extension)
+ {
+ RepositoryServicePortClient port = Provider.GetRepositoryServicePort();
+
+ try
+ {
+ return Converter.Convert(port.getTypeDefinition(repositoryId, typeId, Converter.ConvertExtension(extension)));
+ }
+ catch (FaultException<cmisFaultType> fe)
+ {
+ throw ConvertException(fe);
+ }
+ catch (Exception e)
+ {
+ throw new CmisRuntimeException("Error: " + e.Message, e);
+ }
+ }
+ }
+
+ internal class NavigationService : AbstractWebServicesService, INavigationService
+ {
+ public NavigationService(BindingSession session, PortProvider provider)
+ {
+ Session = session;
+ Provider = provider;
+ }
+
+ public IObjectInFolderList GetChildren(string repositoryId, string folderId, string filter, string orderBy,
+ bool? includeAllowableActions, IncludeRelationships? includeRelationships, string renditionFilter,
+ bool? includePathSegment, long? maxItems, long? skipCount, IExtensionsData extension)
+ {
+ NavigationServicePortClient port = Provider.GetNavigationService();
+
+ try
+ {
+ return Converter.Convert(port.getChildren(repositoryId, folderId, filter, orderBy, includeAllowableActions,
+ (enumIncludeRelationships?)CmisValue.CmisToSerializerEnum(includeRelationships), renditionFilter,
+ includePathSegment, maxItems.ToString(), skipCount.ToString(), Converter.ConvertExtension(extension)));
+ }
+ catch (FaultException<cmisFaultType> fe)
+ {
+ throw ConvertException(fe);
+ }
+ catch (Exception e)
+ {
+ throw new CmisRuntimeException("Error: " + e.Message, e);
+ }
+ }
+
+ public IList<IObjectInFolderContainer> GetDescendants(string repositoryId, string folderId, long? depth, string filter,
+ bool? includeAllowableActions, IncludeRelationships? includeRelationships, string renditionFilter,
+ bool? includePathSegment, IExtensionsData extension)
+ {
+ NavigationServicePortClient port = Provider.GetNavigationService();
+
+ try
+ {
+ cmisObjectInFolderContainerType[] descendants = port.getDescendants(repositoryId, folderId, filter, depth.ToString(),
+ includeAllowableActions, (enumIncludeRelationships?)CmisValue.CmisToSerializerEnum(includeRelationships),
+ renditionFilter, includePathSegment, Converter.ConvertExtension(extension));
+
+ if (descendants == null)
+ {
+ return null;
+ }
+
+ List<IObjectInFolderContainer> result = new List<IObjectInFolderContainer>();
+ foreach (cmisObjectInFolderContainerType container in descendants)
+ {
+ result.Add(Converter.Convert(container));
+ }
+
+ return result;
+ }
+ catch (FaultException<cmisFaultType> fe)
+ {
+ throw ConvertException(fe);
+ }
+ catch (Exception e)
+ {
+ throw new CmisRuntimeException("Error: " + e.Message, e);
+ }
+ }
+
+ public IList<IObjectInFolderContainer> GetFolderTree(string repositoryId, string folderId, long? depth, string filter,
+ bool? includeAllowableActions, IncludeRelationships? includeRelationships, string renditionFilter,
+ bool? includePathSegment, IExtensionsData extension)
+ {
+ NavigationServicePortClient port = Provider.GetNavigationService();
+
+ try
+ {
+ cmisObjectInFolderContainerType[] descendants = port.getFolderTree(repositoryId, folderId, filter, depth.ToString(),
+ includeAllowableActions, (enumIncludeRelationships?)CmisValue.CmisToSerializerEnum(includeRelationships),
+ renditionFilter, includePathSegment, Converter.ConvertExtension(extension));
+
+ if (descendants == null)
+ {
+ return null;
+ }
+
+ List<IObjectInFolderContainer> result = new List<IObjectInFolderContainer>();
+ foreach (cmisObjectInFolderContainerType container in descendants)
+ {
+ result.Add(Converter.Convert(container));
+ }
+
+ return result;
+ }
+ catch (FaultException<cmisFaultType> fe)
+ {
+ throw ConvertException(fe);
+ }
+ catch (Exception e)
+ {
+ throw new CmisRuntimeException("Error: " + e.Message, e);
+ }
+ }
+
+ public IList<IObjectParentData> GetObjectParents(string repositoryId, string objectId, string filter,
+ bool? includeAllowableActions, IncludeRelationships? includeRelationships, string renditionFilter,
+ bool? includeRelativePathSegment, IExtensionsData extension)
+ {
+ NavigationServicePortClient port = Provider.GetNavigationService();
+
+ try
+ {
+ cmisObjectParentsType[] parents = port.getObjectParents(repositoryId, objectId, filter,
+ includeAllowableActions, (enumIncludeRelationships?)CmisValue.CmisToSerializerEnum(includeRelationships),
+ renditionFilter, includeRelativePathSegment, Converter.ConvertExtension(extension));
+
+ if (parents == null)
+ {
+ return null;
+ }
+
+ List<IObjectParentData> result = new List<IObjectParentData>();
+ foreach (cmisObjectParentsType parent in parents)
+ {
+ result.Add(Converter.Convert(parent));
+ }
+
+ return result;
+ }
+ catch (FaultException<cmisFaultType> fe)
+ {
+ throw ConvertException(fe);
+ }
+ catch (Exception e)
+ {
+ throw new CmisRuntimeException("Error: " + e.Message, e);
+ }
+ }
+
+ public IObjectData GetFolderParent(string repositoryId, string folderId, string filter, ExtensionsData extension)
+ {
+ NavigationServicePortClient port = Provider.GetNavigationService();
+
+ try
+ {
+ return Converter.Convert(port.getFolderParent(repositoryId, folderId, filter, Converter.ConvertExtension(extension)));
+ }
+ catch (FaultException<cmisFaultType> fe)
+ {
+ throw ConvertException(fe);
+ }
+ catch (Exception e)
+ {
+ throw new CmisRuntimeException("Error: " + e.Message, e);
+ }
+ }
+
+ public IObjectList GetCheckedOutDocs(string repositoryId, string folderId, string filter, string orderBy,
+ bool? includeAllowableActions, IncludeRelationships? includeRelationships, string renditionFilter,
+ long? maxItems, long? skipCount, IExtensionsData extension)
+ {
+ NavigationServicePortClient port = Provider.GetNavigationService();
+
+ try
+ {
+ return Converter.Convert(port.getCheckedOutDocs(repositoryId, folderId, filter, orderBy, includeAllowableActions,
+ (enumIncludeRelationships?)CmisValue.CmisToSerializerEnum(includeRelationships), renditionFilter,
+ maxItems.ToString(), skipCount.ToString(), Converter.ConvertExtension(extension)));
+ }
+ catch (FaultException<cmisFaultType> fe)
+ {
+ throw ConvertException(fe);
+ }
+ catch (Exception e)
+ {
+ throw new CmisRuntimeException("Error: " + e.Message, e);
+ }
+ }
+ }
+
+ internal class ObjectService : AbstractWebServicesService, IObjectService
+ {
+ public ObjectService(BindingSession session, PortProvider provider)
+ {
+ Session = session;
+ Provider = provider;
+ }
+
+ public string CreateDocument(string repositoryId, IProperties properties, string folderId, IContentStream contentStream,
+ VersioningState? versioningState, IList<string> policies, IAcl addAces, IAcl removeAces, IExtensionsData extension)
+ {
+ ObjectServicePortClient port = Provider.GetObjectService();
+
+ try
+ {
+ cmisExtensionType cmisExtension = Converter.ConvertExtension(extension);
+
+ string objectId = port.createDocument(repositoryId, Converter.Convert(properties), folderId, Converter.Convert(contentStream),
+ (enumVersioningState?)CmisValue.CmisToSerializerEnum(versioningState), Converter.ConvertList(policies),
+ Converter.Convert(addAces), Converter.Convert(removeAces), ref cmisExtension);
+
+ Converter.ConvertExtension(cmisExtension, extension);
+
+ return objectId;
+ }
+ catch (FaultException<cmisFaultType> fe)
+ {
+ throw ConvertException(fe);
+ }
+ catch (Exception e)
+ {
+ throw new CmisRuntimeException("Error: " + e.Message, e);
+ }
+ }
+
+ public string CreateDocumentFromSource(string repositoryId, string sourceId, IProperties properties, string folderId,
+ VersioningState? versioningState, IList<string> policies, IAcl addAces, IAcl removeAces, IExtensionsData extension)
+ {
+ ObjectServicePortClient port = Provider.GetObjectService();
+
+ try
+ {
+ cmisExtensionType cmisExtension = Converter.ConvertExtension(extension);
+
+ string objectId = port.createDocumentFromSource(repositoryId, sourceId, Converter.Convert(properties), folderId,
+ (enumVersioningState?)CmisValue.CmisToSerializerEnum(versioningState), Converter.ConvertList(policies),
+ Converter.Convert(addAces), Converter.Convert(removeAces), ref cmisExtension);
+
+ Converter.ConvertExtension(cmisExtension, extension);
+
+ return objectId;
+ }
+ catch (FaultException<cmisFaultType> fe)
+ {
+ throw ConvertException(fe);
+ }
+ catch (Exception e)
+ {
+ throw new CmisRuntimeException("Error: " + e.Message, e);
+ }
+ }
+
+ public string CreateFolder(string repositoryId, IProperties properties, string folderId, IList<string> policies,
+ IAcl addAces, IAcl removeAces, IExtensionsData extension)
+ {
+ ObjectServicePortClient port = Provider.GetObjectService();
+
+ try
+ {
+ cmisExtensionType cmisExtension = Converter.ConvertExtension(extension);
+
+ string objectId = port.createFolder(repositoryId, Converter.Convert(properties), folderId,
+ Converter.ConvertList(policies), Converter.Convert(addAces), Converter.Convert(removeAces), ref cmisExtension);
+
+ Converter.ConvertExtension(cmisExtension, extension);
+
+ return objectId;
+ }
+ catch (FaultException<cmisFaultType> fe)
+ {
+ throw ConvertException(fe);
+ }
+ catch (Exception e)
+ {
+ throw new CmisRuntimeException("Error: " + e.Message, e);
+ }
+ }
+
+ public string CreateRelationship(string repositoryId, IProperties properties, IList<string> policies, IAcl addAces,
+ IAcl removeAces, IExtensionsData extension)
+ {
+ ObjectServicePortClient port = Provider.GetObjectService();
+
+ try
+ {
+ cmisExtensionType cmisExtension = Converter.ConvertExtension(extension);
+
+ string objectId = port.createRelationship(repositoryId, Converter.Convert(properties), Converter.ConvertList(policies),
+ Converter.Convert(addAces), Converter.Convert(removeAces), ref cmisExtension);
+
+ Converter.ConvertExtension(cmisExtension, extension);
+
+ return objectId;
+ }
+ catch (FaultException<cmisFaultType> fe)
+ {
+ throw ConvertException(fe);
+ }
+ catch (Exception e)
+ {
+ throw new CmisRuntimeException("Error: " + e.Message, e);
+ }
+
+ }
+
+ public string CreatePolicy(string repositoryId, IProperties properties, string folderId, IList<string> policies,
+ IAcl addAces, IAcl removeAces, IExtensionsData extension)
+ {
+ ObjectServicePortClient port = Provider.GetObjectService();
+
+ try
+ {
+ cmisExtensionType cmisExtension = Converter.ConvertExtension(extension);
+
+ string objectId = port.createPolicy(repositoryId, Converter.Convert(properties), folderId,
+ Converter.ConvertList(policies), Converter.Convert(addAces), Converter.Convert(removeAces), ref cmisExtension);
+
+ Converter.ConvertExtension(cmisExtension, extension);
+
+ return objectId;
+ }
+ catch (FaultException<cmisFaultType> fe)
+ {
+ throw ConvertException(fe);
+ }
+ catch (Exception e)
+ {
+ throw new CmisRuntimeException("Error: " + e.Message, e);
+ }
+ }
+
+ public IAllowableActions GetAllowableActions(string repositoryId, string objectId, IExtensionsData extension)
+ {
+ ObjectServicePortClient port = Provider.GetObjectService();
+
+ try
+ {
+ return Converter.Convert(port.getAllowableActions(repositoryId, objectId, Converter.ConvertExtension(extension)));
+ }
+ catch (FaultException<cmisFaultType> fe)
+ {
+ throw ConvertException(fe);
+ }
+ catch (Exception e)
+ {
+ throw new CmisRuntimeException("Error: " + e.Message, e);
+ }
+ }
+
+ public IProperties GetProperties(string repositoryId, string objectId, string filter, IExtensionsData extension)
+ {
+ ObjectServicePortClient port = Provider.GetObjectService();
+
+ try
+ {
+ return Converter.Convert(port.getProperties(repositoryId, objectId, filter, Converter.ConvertExtension(extension)));
+ }
+ catch (FaultException<cmisFaultType> fe)
+ {
+ throw ConvertException(fe);
+ }
+ catch (Exception e)
+ {
+ throw new CmisRuntimeException("Error: " + e.Message, e);
+ }
+ }
+
+ public IList<IRenditionData> GetRenditions(string repositoryId, string objectId, string renditionFilter,
+ long? maxItems, long? skipCount, IExtensionsData extension)
+ {
+ ObjectServicePortClient port = Provider.GetObjectService();
+
+ try
+ {
+ cmisRenditionType[] renditions = port.getRenditions(repositoryId, objectId, renditionFilter,
+ maxItems.ToString(), skipCount.ToString(), Converter.ConvertExtension(extension));
+
+ if (renditions == null)
+ {
+ return null;
+ }
+
+ IList<IRenditionData> result = new List<IRenditionData>();
+ foreach (cmisRenditionType rendition in renditions)
+ {
+ result.Add(Converter.Convert(rendition));
+ }
+
+ return result;
+ }
+ catch (FaultException<cmisFaultType> fe)
+ {
+ throw ConvertException(fe);
+ }
+ catch (Exception e)
+ {
+ throw new CmisRuntimeException("Error: " + e.Message, e);
+ }
+ }
+
+ public IObjectData GetObject(string repositoryId, string objectId, string filter, bool? includeAllowableActions,
+ IncludeRelationships? includeRelationships, string renditionFilter, bool? includePolicyIds,
+ bool? includeAcl, IExtensionsData extension)
+ {
+ ObjectServicePortClient port = Provider.GetObjectService();
+
+ try
+ {
+ return Converter.Convert(port.getObject(repositoryId, objectId, filter, includeAllowableActions,
+ (enumIncludeRelationships?)CmisValue.CmisToSerializerEnum(includeRelationships), renditionFilter,
+ includePolicyIds, includeAcl, Converter.ConvertExtension(extension)));
+ }
+ catch (FaultException<cmisFaultType> fe)
+ {
+ throw ConvertException(fe);
+ }
+ catch (Exception e)
+ {
+ throw new CmisRuntimeException("Error: " + e.Message, e);
+ }
+ }
+
+ public IObjectData GetObjectByPath(string repositoryId, string path, string filter, bool? includeAllowableActions,
+ IncludeRelationships? includeRelationships, string renditionFilter, bool? includePolicyIds, bool? includeAcl,
+ IExtensionsData extension)
+ {
+ ObjectServicePortClient port = Provider.GetObjectService();
+
+ try
+ {
+ return Converter.Convert(port.getObjectByPath(repositoryId, path, filter, includeAllowableActions,
+ (enumIncludeRelationships?)CmisValue.CmisToSerializerEnum(includeRelationships), renditionFilter,
+ includePolicyIds, includeAcl, Converter.ConvertExtension(extension)));
+ }
+ catch (FaultException<cmisFaultType> fe)
+ {
+ throw ConvertException(fe);
+ }
+ catch (Exception e)
+ {
+ throw new CmisRuntimeException("Error: " + e.Message, e);
+ }
+ }
+
+ public IContentStream GetContentStream(string repositoryId, string objectId, string streamId, long? offset, long? length,
+ IExtensionsData extension)
+ {
+ ObjectServicePortClient port = Provider.GetObjectService();
+
+ try
+ {
+ return Converter.Convert(port.getContentStream(
+ repositoryId, objectId, streamId, offset.ToString(), length.ToString(), Converter.ConvertExtension(extension)));
+ }
+ catch (FaultException<cmisFaultType> fe)
+ {
+ throw ConvertException(fe);
+ }
+ catch (Exception e)
+ {
+ throw new CmisRuntimeException("Error: " + e.Message, e);
+ }
+ }
+
+ public void UpdateProperties(string repositoryId, ref string objectId, ref string changeToken, IProperties properties,
+ IExtensionsData extension)
+ {
+ ObjectServicePortClient port = Provider.GetObjectService();
+
+ try
+ {
+ cmisExtensionType cmisExtension = Converter.ConvertExtension(extension);
+
+ port.updateProperties(repositoryId, ref objectId, ref changeToken, Converter.Convert(properties), ref cmisExtension);
+
+ Converter.ConvertExtension(cmisExtension, extension);
+ }
+ catch (FaultException<cmisFaultType> fe)
+ {
+ throw ConvertException(fe);
+ }
+ catch (Exception e)
+ {
+ throw new CmisRuntimeException("Error: " + e.Message, e);
+ }
+ }
+
+ public void MoveObject(string repositoryId, ref string objectId, string targetFolderId, string sourceFolderId,
+ IExtensionsData extension)
+ {
+ ObjectServicePortClient port = Provider.GetObjectService();
+
+ try
+ {
+ cmisExtensionType cmisExtension = Converter.ConvertExtension(extension);
+
+ port.moveObject(repositoryId, ref objectId, targetFolderId, sourceFolderId, ref cmisExtension);
+
+ Converter.ConvertExtension(cmisExtension, extension);
+ }
+ catch (FaultException<cmisFaultType> fe)
+ {
+ throw ConvertException(fe);
+ }
+ catch (Exception e)
+ {
+ throw new CmisRuntimeException("Error: " + e.Message, e);
+ }
+ }
+
+ public void DeleteObject(string repositoryId, string objectId, bool? allVersions, IExtensionsData extension)
+ {
+ ObjectServicePortClient port = Provider.GetObjectService();
+
+ try
+ {
+ cmisExtensionType cmisExtension = Converter.ConvertExtension(extension);
+
+ port.deleteObject(repositoryId, objectId, allVersions, ref cmisExtension);
+
+ Converter.ConvertExtension(cmisExtension, extension);
+ }
+ catch (FaultException<cmisFaultType> fe)
+ {
+ throw ConvertException(fe);
+ }
+ catch (Exception e)
+ {
+ throw new CmisRuntimeException("Error: " + e.Message, e);
+ }
+ }
+
+ public IFailedToDeleteData DeleteTree(string repositoryId, string folderId, bool? allVersions, UnfileObject? unfileObjects,
+ bool? continueOnFailure, ExtensionsData extension)
+ {
+ ObjectServicePortClient port = Provider.GetObjectService();
+
+ try
+ {
+ return Converter.Convert(port.deleteTree(repositoryId, folderId, allVersions,
+ (enumUnfileObject?)CmisValue.CmisToSerializerEnum(unfileObjects), continueOnFailure,
+ Converter.ConvertExtension(extension)));
+ }
+ catch (FaultException<cmisFaultType> fe)
+ {
+ throw ConvertException(fe);
+ }
+ catch (Exception e)
+ {
+ throw new CmisRuntimeException("Error: " + e.Message, e);
+ }
+ }
+
+ public void SetContentStream(string repositoryId, ref string objectId, bool? overwriteFlag, ref string changeToken,
+ IContentStream contentStream, IExtensionsData extension)
+ {
+ ObjectServicePortClient port = Provider.GetObjectService();
+
+ try
+ {
+ cmisExtensionType cmisExtension = Converter.ConvertExtension(extension);
+
+ port.setContentStream(repositoryId, ref objectId, overwriteFlag, ref changeToken,
+ Converter.Convert(contentStream), ref cmisExtension);
+
+ Converter.ConvertExtension(cmisExtension, extension);
+ }
+ catch (FaultException<cmisFaultType> fe)
+ {
+ throw ConvertException(fe);
+ }
+ catch (Exception e)
+ {
+ throw new CmisRuntimeException("Error: " + e.Message, e);
+ }
+ }
+
+ public void DeleteContentStream(string repositoryId, ref string objectId, ref string changeToken, IExtensionsData extension)
+ {
+ ObjectServicePortClient port = Provider.GetObjectService();
+
+ try
+ {
+ cmisExtensionType cmisExtension = Converter.ConvertExtension(extension);
+
+ port.deleteContentStream(repositoryId, ref objectId, ref changeToken, ref cmisExtension);
+
+ Converter.ConvertExtension(cmisExtension, extension);
+ }
+ catch (FaultException<cmisFaultType> fe)
+ {
+ throw ConvertException(fe);
+ }
+ catch (Exception e)
+ {
+ throw new CmisRuntimeException("Error: " + e.Message, e);
+ }
+ }
+ }
+
+ internal class VersioningService : AbstractWebServicesService, IVersioningService
+ {
+ public VersioningService(BindingSession session, PortProvider provider)
+ {
+ Session = session;
+ Provider = provider;
+ }
+
+ public void CheckOut(string repositoryId, ref string objectId, IExtensionsData extension, out bool? contentCopied)
+ {
+ VersioningServicePortClient port = Provider.GetVersioningService();
+
+ try
+ {
+ cmisExtensionType cmisExtension = Converter.ConvertExtension(extension);
+
+ contentCopied = port.checkOut(repositoryId, ref objectId, ref cmisExtension);
+
+ Converter.ConvertExtension(cmisExtension, extension);
+ }
+ catch (FaultException<cmisFaultType> fe)
+ {
+ throw ConvertException(fe);
+ }
+ catch (Exception e)
+ {
+ throw new CmisRuntimeException("Error: " + e.Message, e);
+ }
+ }
+
+ public void CancelCheckOut(string repositoryId, string objectId, IExtensionsData extension)
+ {
+ VersioningServicePortClient port = Provider.GetVersioningService();
+
+ try
+ {
+ cmisExtensionType cmisExtension = Converter.ConvertExtension(extension);
+
+ port.cancelCheckOut(repositoryId, objectId, ref cmisExtension);
+
+ Converter.ConvertExtension(cmisExtension, extension);
+ }
+ catch (FaultException<cmisFaultType> fe)
+ {
+ throw ConvertException(fe);
+ }
+ catch (Exception e)
+ {
+ throw new CmisRuntimeException("Error: " + e.Message, e);
+ }
+ }
+
+ public void CheckIn(string repositoryId, ref string objectId, bool? major, IProperties properties,
+ IContentStream contentStream, string checkinComment, List<string> policies, IAcl addAces, IAcl removeAces,
+ IExtensionsData extension)
+ {
+ VersioningServicePortClient port = Provider.GetVersioningService();
+
+ try
+ {
+ cmisExtensionType cmisExtension = Converter.ConvertExtension(extension);
+
+ port.checkIn(repositoryId, ref objectId, major, Converter.Convert(properties), Converter.Convert(contentStream),
+ checkinComment, Converter.ConvertList(policies), Converter.Convert(addAces), Converter.Convert(removeAces),
+ ref cmisExtension);
+
+ Converter.ConvertExtension(cmisExtension, extension);
+ }
+ catch (FaultException<cmisFaultType> fe)
+ {
+ throw ConvertException(fe);
+ }
+ catch (Exception e)
+ {
+ throw new CmisRuntimeException("Error: " + e.Message, e);
+ }
+ }
+
+ public IObjectData GetObjectOfLatestVersion(string repositoryId, string objectId, string versionSeriesId, bool major,
+ string filter, bool? includeAllowableActions, IncludeRelationships? includeRelationships,
+ string renditionFilter, bool? includePolicyIds, bool? includeAcl, IExtensionsData extension)
+ {
+ VersioningServicePortClient port = Provider.GetVersioningService();
+
+ try
+ {
+ return Converter.Convert(port.getObjectOfLatestVersion(repositoryId, versionSeriesId, major, filter,
+ includeAllowableActions, (enumIncludeRelationships?)CmisValue.CmisToSerializerEnum(includeRelationships),
+ renditionFilter, includePolicyIds, includeAcl, Converter.ConvertExtension(extension)));
+ }
+ catch (FaultException<cmisFaultType> fe)
+ {
+ throw ConvertException(fe);
+ }
+ catch (Exception e)
+ {
+ throw new CmisRuntimeException("Error: " + e.Message, e);
+ }
+ }
+
+ public IProperties GetPropertiesOfLatestVersion(string repositoryId, string objectId, string versionSeriesId, bool major,
+ string filter, IExtensionsData extension)
+ {
+ VersioningServicePortClient port = Provider.GetVersioningService();
+
+ try
+ {
+ return Converter.Convert(port.getPropertiesOfLatestVersion(repositoryId, versionSeriesId, major, filter,
+ Converter.ConvertExtension(extension)));
+ }
+ catch (FaultException<cmisFaultType> fe)
+ {
+ throw ConvertException(fe);
+ }
+ catch (Exception e)
+ {
+ throw new CmisRuntimeException("Error: " + e.Message, e);
+ }
+ }
+
+ public IList<IObjectData> GetAllVersions(string repositoryId, string objectId, string versionSeriesId, string filter,
+ bool? includeAllowableActions, IExtensionsData extension)
+ {
+ VersioningServicePortClient port = Provider.GetVersioningService();
+
+ try
+ {
+ cmisObjectType[] versions = port.getAllVersions(repositoryId, versionSeriesId, filter, includeAllowableActions,
+ Converter.ConvertExtension(extension));
+
+ if (versions == null)
+ {
+ return null;
+ }
+
+ IList<IObjectData> result = new List<IObjectData>();
+ foreach (cmisObjectType version in versions)
+ {
+ result.Add(Converter.Convert(version));
+ }
+
+ return result;
+ }
+ catch (FaultException<cmisFaultType> fe)
+ {
+ throw ConvertException(fe);
+ }
+ catch (Exception e)
+ {
+ throw new CmisRuntimeException("Error: " + e.Message, e);
+ }
+ }
+ }
+
+ internal class RelationshipService : AbstractWebServicesService, IRelationshipService
+ {
+ public RelationshipService(BindingSession session, PortProvider provider)
+ {
+ Session = session;
+ Provider = provider;
+ }
+
+ public IObjectList GetObjectRelationships(string repositoryId, string objectId, bool? includeSubRelationshipTypes,
+ RelationshipDirection? relationshipDirection, string typeId, string filter, bool? includeAllowableActions,
+ long? maxItems, long? skipCount, IExtensionsData extension)
+ {
+ RelationshipServicePortClient port = Provider.GetRelationshipService();
+
+ try
+ {
+ return Converter.Convert(port.getObjectRelationships(repositoryId, objectId,
+ includeSubRelationshipTypes == null ? true : (bool)includeSubRelationshipTypes,
+ (enumRelationshipDirection?)CmisValue.CmisToSerializerEnum(relationshipDirection), typeId, filter, includeAllowableActions,
+ maxItems.ToString(), skipCount.ToString(), Converter.ConvertExtension(extension)));
+ }
+ catch (FaultException<cmisFaultType> fe)
+ {
+ throw ConvertException(fe);
+ }
+ catch (Exception e)
+ {
+ throw new CmisRuntimeException("Error: " + e.Message, e);
+ }
+ }
+ }
+
+ internal class DiscoveryService : AbstractWebServicesService, IDiscoveryService
+ {
+ public DiscoveryService(BindingSession session, PortProvider provider)
+ {
+ Session = session;
+ Provider = provider;
+ }
+
+ public IObjectList Query(string repositoryId, string statement, bool? searchAllVersions,
+ bool? includeAllowableActions, IncludeRelationships? includeRelationships, string renditionFilter,
+ long? maxItems, long? skipCount, IExtensionsData extension)
+ {
+ DiscoveryServicePortClient port = Provider.GetDiscoveryService();
+
+ try
+ {
+ return Converter.Convert(port.query(repositoryId, statement, searchAllVersions, includeAllowableActions,
+ (enumIncludeRelationships?)CmisValue.CmisToSerializerEnum(includeRelationships), renditionFilter,
+ maxItems.ToString(), skipCount.ToString(), Converter.ConvertExtension(extension), null));
+ }
+ catch (FaultException<cmisFaultType> fe)
+ {
+ throw ConvertException(fe);
+ }
+ catch (Exception e)
+ {
+ throw new CmisRuntimeException("Error: " + e.Message, e);
+ }
+ }
+
+ public IObjectList GetContentChanges(string repositoryId, ref string changeLogToken, bool? includeProperties,
+ string filter, bool? includePolicyIds, bool? includeAcl, long? maxItems, IExtensionsData extension)
+ {
+ DiscoveryServicePortClient port = Provider.GetDiscoveryService();
+
+ try
+ {
+ return Converter.Convert(port.getContentChanges(repositoryId, ref changeLogToken, includeProperties, filter,
+ includePolicyIds, includeAcl, maxItems.ToString(), Converter.ConvertExtension(extension)));
+ }
+ catch (FaultException<cmisFaultType> fe)
+ {
+ throw ConvertException(fe);
+ }
+ catch (Exception e)
+ {
+ throw new CmisRuntimeException("Error: " + e.Message, e);
+ }
+ }
+ }
+
+ internal class MultiFilingService : AbstractWebServicesService, IMultiFilingService
+ {
+ public MultiFilingService(BindingSession session, PortProvider provider)
+ {
+ Session = session;
+ Provider = provider;
+ }
+
+ public void AddObjectToFolder(string repositoryId, string objectId, string folderId, bool? allVersions, IExtensionsData extension)
+ {
+ MultiFilingServicePortClient port = Provider.GetMultiFilingService();
+
+ try
+ {
+ cmisExtensionType cmisExtension = Converter.ConvertExtension(extension);
+
+ port.addObjectToFolder(repositoryId, objectId, folderId, allVersions == null ? true : (bool)allVersions, ref cmisExtension);
+
+ Converter.ConvertExtension(cmisExtension, extension);
+ }
+ catch (FaultException<cmisFaultType> fe)
+ {
+ throw ConvertException(fe);
+ }
+ catch (Exception e)
+ {
+ throw new CmisRuntimeException("Error: " + e.Message, e);
+ }
+ }
+
+ public void RemoveObjectFromFolder(string repositoryId, string objectId, string folderId, IExtensionsData extension)
+ {
+ MultiFilingServicePortClient port = Provider.GetMultiFilingService();
+
+ try
+ {
+ cmisExtensionType cmisExtension = Converter.ConvertExtension(extension);
+
+ port.removeObjectFromFolder(repositoryId, objectId, folderId, ref cmisExtension);
+
+ Converter.ConvertExtension(cmisExtension, extension);
+ }
+ catch (FaultException<cmisFaultType> fe)
+ {
+ throw ConvertException(fe);
+ }
+ catch (Exception e)
+ {
+ throw new CmisRuntimeException("Error: " + e.Message, e);
+ }
+ }
+ }
+
+ internal class AclService : AbstractWebServicesService, IAclService
+ {
+ public AclService(BindingSession session, PortProvider provider)
+ {
+ Session = session;
+ Provider = provider;
+ }
+
+ public IAcl GetAcl(string repositoryId, string objectId, bool? onlyBasicPermissions, IExtensionsData extension)
+ {
+ ACLServicePortClient port = Provider.GetAclService();
+
+ try
+ {
+ return Converter.Convert(port.getACL(repositoryId, objectId, onlyBasicPermissions, Converter.ConvertExtension(extension)));
+ }
+ catch (FaultException<cmisFaultType> fe)
+ {
+ throw ConvertException(fe);
+ }
+ catch (Exception e)
+ {
+ throw new CmisRuntimeException("Error: " + e.Message, e);
+ }
+ }
+
+ public IAcl ApplyAcl(string repositoryId, string objectId, IAcl addAces, IAcl removeAces, AclPropagation? aclPropagation,
+ IExtensionsData extension)
+ {
+ ACLServicePortClient port = Provider.GetAclService();
+
+ try
+ {
+ return Converter.Convert(port.applyACL(repositoryId, objectId, Converter.Convert(addAces), Converter.Convert(removeAces),
+ (enumACLPropagation?)CmisValue.CmisToSerializerEnum(aclPropagation), Converter.ConvertExtension(extension)));
+ }
+ catch (FaultException<cmisFaultType> fe)
+ {
+ throw ConvertException(fe);
+ }
+ catch (Exception e)
+ {
+ throw new CmisRuntimeException("Error: " + e.Message, e);
+ }
+ }
+ }
+
+ internal class PolicyService : AbstractWebServicesService, IPolicyService
+ {
+ public PolicyService(BindingSession session, PortProvider provider)
+ {
+ Session = session;
+ Provider = provider;
+ }
+
+ public void ApplyPolicy(string repositoryId, string policyId, string objectId, IExtensionsData extension)
+ {
+ PolicyServicePortClient port = Provider.GetPolicyService();
+
+ try
+ {
+ cmisExtensionType cmisExtension = Converter.ConvertExtension(extension);
+
+ port.applyPolicy(repositoryId, policyId, objectId, ref cmisExtension);
+
+ Converter.ConvertExtension(cmisExtension, extension);
+ }
+ catch (FaultException<cmisFaultType> fe)
+ {
+ throw ConvertException(fe);
+ }
+ catch (Exception e)
+ {
+ throw new CmisRuntimeException("Error: " + e.Message, e);
+ }
+ }
+
+ public void RemovePolicy(string repositoryId, string policyId, string objectId, IExtensionsData extension)
+ {
+ PolicyServicePortClient port = Provider.GetPolicyService();
+
+ try
+ {
+ cmisExtensionType cmisExtension = Converter.ConvertExtension(extension);
+
+ port.removePolicy(repositoryId, policyId, objectId, ref cmisExtension);
+
+ Converter.ConvertExtension(cmisExtension, extension);
+ }
+ catch (FaultException<cmisFaultType> fe)
+ {
+ throw ConvertException(fe);
+ }
+ catch (Exception e)
+ {
+ throw new CmisRuntimeException("Error: " + e.Message, e);
+ }
+ }
+
+ public IList<IObjectData> GetAppliedPolicies(string repositoryId, string objectId, string filter, IExtensionsData extension)
+ {
+ PolicyServicePortClient port = Provider.GetPolicyService();
+
+ try
+ {
+ cmisObjectType[] policies = port.getAppliedPolicies(repositoryId, objectId, filter, Converter.ConvertExtension(extension));
+
+ if (policies == null)
+ {
+ return null;
+ }
+
+ List<IObjectData> result = new List<IObjectData>();
+ foreach (cmisObjectType policy in policies)
+ {
+ result.Add(Converter.Convert(policy));
+ }
+
+ return result;
+ }
+ catch (FaultException<cmisFaultType> fe)
+ {
+ throw ConvertException(fe);
+ }
+ catch (Exception e)
+ {
+ throw new CmisRuntimeException("Error: " + e.Message, e);
+ }
+ }
+ }
+}
diff --git a/DotCMIS/client/client-impl.cs b/DotCMIS/client/client-impl.cs
new file mode 100644
index 0000000..739c9a2
--- /dev/null
+++ b/DotCMIS/client/client-impl.cs
@@ -0,0 +1,9 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace DotCMIS.Client
+{
+
+}
diff --git a/DotCMIS/client/client-intf.cs b/DotCMIS/client/client-intf.cs
new file mode 100644
index 0000000..0d2b913
--- /dev/null
+++ b/DotCMIS/client/client-intf.cs
@@ -0,0 +1,245 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using DotCMIS.Data;
+using DotCMIS.Enums;
+using DotCMIS.Data.Extensions;
+
+namespace DotCMIS.Client
+{
+ public interface IOperationContext { }
+
+ public interface ITree<T>
+ {
+ T Item { get; }
+ IList<ITree<T>> GetChildren();
+ }
+
+ public interface IObjectType : ITypeDefinition
+ {
+ bool IsBaseType { get; }
+ IObjectType BaseType { get; }
+ IObjectType ParentType { get; }
+ IItemIterable<IObjectType> GetChildren();
+ IList<ITree<IObjectType>> GetDescendants(int depth);
+ }
+
+ public interface IItemIterable<T>
+ {
+ IItemIterable<T> SkipTo(long position);
+ IItemIterable<T> GetPage();
+ IItemIterable<T> GetPage(int maxNumItems);
+ long PageNumItems { get; }
+ bool HasMoreItems { get; }
+ long TotalNumItems { get; }
+ }
+
+ public interface IObjectId
+ {
+ string Id { get; }
+ }
+
+ public interface IRendition : IRenditionData
+ {
+ IDocument GetRenditionDocument();
+ IDocument GetRenditionDocument(IOperationContext context);
+ IContentStream GetContentStream();
+ }
+
+ public interface IProperty : IPropertyData
+ {
+ bool IsMultiValued { get; }
+ PropertyType PropertyType { get; }
+ PropertyDefinition PropertyDefinition { get; }
+ V getValue<V>();
+ string GetValueAsString();
+ string getValuesAsString();
+ }
+
+ public interface ICmisObjectProperties
+ {
+ IList<IProperty> Properties { get; }
+ IProperty GetProperty(string id);
+ T getPropertyValue<T>(string id);
+
+ // convenience accessors
+ string Name { get; }
+ string CreatedBy { get; }
+ DateTime CreationDate { get; }
+ string LastModifiedBy { get; }
+ DateTime LastModificationDate { get; }
+ BaseTypeId BaseTypeId { get; }
+ IObjectType BaseType { get; }
+ IObjectType Type { get; }
+ string ChangeToken { get; }
+ }
+
+ public enum ExtensionLevel
+ {
+
+ Object, Properties, AllowableActions, Acl, Policies, ChangeEvent
+ }
+
+ public interface ICmisObject : IObjectId, ICmisObjectProperties
+ {
+ // object
+ IAllowableActions getAllowableActions();
+ IList<IRelationship> getRelationships();
+ IAcl getAcl();
+
+ // object service
+ void delete(bool allVersions);
+ ICmisObject updateProperties(IDictionary<string, object> properties);
+ IObjectId updateProperties(IDictionary<string, object> properties, bool refresh);
+
+ // renditions
+ IList<IRendition> getRenditions();
+
+ // policy service
+ void applyPolicy(IObjectId policyId);
+ void removePolicy(IObjectId policyIds);
+ IList<IPolicy> getPolicies();
+
+ // ACL service
+ IAcl applyAcl(IList<Ace> addAces, IList<Ace> removeAces, AclPropagation? aclPropagation);
+ IAcl addAcl(IList<Ace> addAces, AclPropagation? aclPropagation);
+ IAcl removeAcl(IList<Ace> removeAces, AclPropagation? aclPropagation);
+
+ // extensions
+ IList<ICmisExtensionElement> getExtensions(ExtensionLevel level);
+
+ long getRefreshTimestamp();
+ void refresh();
+ void refreshIfOld(long durationInMillis);
+ }
+
+ public interface IFileableCmisObject : ICmisObject
+ {
+ // object service
+ IFileableCmisObject move(IObjectId sourceFolderId, IObjectId targetFolderId);
+
+ // navigation service
+ IList<IFolder> GetParents();
+ IList<string> GetPaths();
+
+ // multifiling service
+ void addToFolder(IObjectId folderId, bool allVersions);
+ void removeFromFolder(IObjectId folderId);
+ }
+
+ public interface IDocumentProperties
+ {
+ bool? IsImmutable { get; }
+ bool? IsLatestVersion { get; }
+ bool? IsMajorVersion { get; }
+ bool? IsLatestMajorVersion { get; }
+ string VersionLabel { get; }
+ string VersionSeriesId { get; }
+ bool? VersionSeriesCheckedOut { get; }
+ string VersionSeriesCheckedOutBy { get; }
+ string VersionSeriesCheckedOutId { get; }
+ string CheckinComment { get; }
+ long ContentStreamLength { get; }
+ string ContentStreamMimeType { get; }
+ string ContentStreamFileName { get; }
+ string ContentStreamId { get; }
+ }
+
+ public interface IDocument : IFileableCmisObject, IDocumentProperties
+ {
+ void DeleteAllVersions();
+ IContentStream GetContentStream();
+ IContentStream GetContentStream(string streamId);
+ IDocument SetContentStream(IContentStream contentStream, bool overwrite);
+ IObjectId SetContentStream(IContentStream contentStream, bool overwrite, bool refresh);
+ IDocument DeleteContentStream();
+ IObjectId DeleteContentStream(bool refresh);
+ IObjectId CheckOut();
+ void CancelCheckOut();
+ IObjectId CheckIn(bool major, IDictionary<string, object> properties, IContentStream contentStream, string checkinComment,
+ IList<IPolicy> policies, IList<IAce> addAces, IList<IAce> removeAces);
+ IObjectId checkIn(bool major, IDictionary<string, object> properties, IContentStream contentStream, string checkinComment);
+ IDocument GetObjectOfLatestVersion(bool major);
+ IDocument GetObjectOfLatestVersion(bool major, IOperationContext context);
+ IList<IDocument> GetAllVersions();
+ IList<IDocument> GetAllVersions(IOperationContext context);
+ IDocument Copy(IObjectId targetFolderId);
+ IDocument Copy(IObjectId targetFolderId, IDictionary<string, object> properties, VersioningState? versioningState,
+ IList<IPolicy> policies, IList<IAce> addACEs, IList<IAce> removeACEs, IOperationContext context);
+ }
+
+ public interface IFolderProperties
+ {
+ IList<IObjectType> AllowedChildObjectTypes { get; }
+ }
+
+ public interface IFolder : IFileableCmisObject, IFolderProperties
+ {
+ IDocument createDocument(IDictionary<string, object> properties, IContentStream contentStream, VersioningState? versioningState,
+ IList<IPolicy> policies, IList<IAce> addAces, IList<IAce> removeAces, IOperationContext context);
+ IDocument createDocument(IDictionary<string, object> properties, IContentStream contentStream, VersioningState? versioningState);
+ IDocument createDocumentFromSource(IObjectId source, IDictionary<string, object> properties, VersioningState? versioningState,
+ IList<IPolicy> policies, IList<IAce> addAces, IList<IAce> removeAces, IOperationContext context);
+ IDocument createDocumentFromSource(IObjectId source, IDictionary<string, object> properties, VersioningState? versioningState);
+ IFolder createFolder(IDictionary<string, object> properties, IList<IPolicy> policies, IList<IAce> addAces, IList<IAce> removeAces,
+ IOperationContext context);
+ IFolder createFolder(IDictionary<string, object> properties);
+ IPolicy createPolicy(IDictionary<string, object> properties, List<IPolicy> policies, IList<IAce> addAces, IList<IAce> removeAces,
+ IOperationContext context);
+ IPolicy createPolicy(IDictionary<string, object> properties);
+ IList<string> deleteTree(bool allversions, UnfileObject? unfile, bool continueOnFailure);
+ IList<ITree<IFileableCmisObject>> GetFolderTree(int depth);
+ IList<ITree<IFileableCmisObject>> GetFolderTree(int depth, IOperationContext context);
+ IList<ITree<IFileableCmisObject>> GetDescendants(int depth);
+ IList<ITree<IFileableCmisObject>> GetDescendants(int depth, IOperationContext context);
+ IItemIterable<ICmisObject> GetChildren();
+ IItemIterable<ICmisObject> GetChildren(IOperationContext context);
+ bool IsRootFolder { get; }
+ IFolder FolderParent { get; }
+ string Path { get; }
+ IItemIterable<IDocument> GetCheckedOutDocs();
+ IItemIterable<IDocument> GetCheckedOutDocs(IOperationContext context);
+ }
+
+ public interface IPolicyProperties
+ {
+ string PolicyText { get; }
+ }
+
+ public interface IPolicy : IFileableCmisObject, IPolicyProperties
+ {
+ }
+
+ public interface IRelationshipProperties
+ {
+ IObjectId SourceId { get; }
+ IObjectId TargetId { get; }
+ }
+
+ public interface IRelationship : ICmisObject, IRelationshipProperties
+ {
+ ICmisObject GetSource();
+ ICmisObject GetSource(IOperationContext context);
+ ICmisObject GetTarget();
+ ICmisObject GetTarget(IOperationContext context);
+ }
+}
diff --git a/DotCMIS/const.cs b/DotCMIS/const.cs
new file mode 100644
index 0000000..b586e9b
--- /dev/null
+++ b/DotCMIS/const.cs
@@ -0,0 +1,357 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace DotCMIS
+{
+ public static class SessionParameter
+ {
+ // ---- general parameter ----
+ public const string User = "org.apache.chemistry.dotcmis.user";
+ public const string Password = "org.apache.chemistry.dotcmis.password";
+
+ // ---- provider parameter ----
+ // Predefined binding types
+ public const string BindingType = "org.apache.chemistry.dotcmis.binding.spi.type";
+
+ // Class name of the binding class.
+ public const string BindingSpiClass = "org.apache.chemistry.dotcmis.binding.spi.classname";
+
+ // URL of the AtomPub service document.
+ public const string AtomPubUrl = "org.apache.chemistry.dotcmis.binding.atompub.url";
+
+ // WSDL URLs for Web Services.
+ public const string WebServicesRepositoryService = "org.apache.chemistry.dotcmis.binding.webservices.RepositoryService";
+ public const string WebServicesNavigationService = "org.apache.chemistry.dotcmis.binding.webservices.NavigationService";
+ public const string WebServicesObjectService = "org.apache.chemistry.dotcmis.binding.webservices.ObjectService";
+ public const string WebServicesVersioningService = "org.apache.chemistry.dotcmis.binding.webservices.VersioningService";
+ public const string WebServicesDiscoveryService = "org.apache.chemistry.dotcmis.binding.webservices.DiscoveryService";
+ public const string WebServicesRelationshipService = "org.apache.chemistry.dotcmis.binding.webservices.RelationshipService";
+ public const string WebServicesMultifilingService = "org.apache.chemistry.dotcmis.binding.webservices.MultiFilingService";
+ public const string WebServicesPolicyService = "org.apache.chemistry.dotcmis.binding.webservices.PolicyService";
+ public const string WebServicesAclService = "org.apache.chemistry.dotcmis.binding.webservices.ACLService";
+
+ // authentication provider
+ public const string AuthenticationProviderClass = "org.apache.chemistry.dotcmis.binding.auth.classname";
+
+ // binding caches
+ public const string CacheSizeRepositories = "org.apache.chemistry.dotcmis.binding.cache.repositories.size";
+ public const string CacheSizeTypes = "org.apache.chemistry.dotcmis.binding.cache.types.size";
+ public const string CacheSizeLinks = "org.apache.chemistry.dotcmis.binding.cache.links.size";
+
+ // message size
+ public const string MessageSize = "org.apache.chemistry.dotcmis.binding.message.size";
+ }
+
+ public static class BindingType
+ {
+ public const string AtomPub = "atompub";
+ public const string WebServices = "webservices";
+ }
+
+ public static class PropertyIds
+ {
+ // ---- base ----
+ public const string Name = "cmis:name";
+ public const string ObjectId = "cmis:objectId";
+ public const string ObjectTypeId = "cmis:objectTypeId";
+ public const string BaseTypeId = "cmis:baseTypeId";
+ public const string CreatedBy = "cmis:createdBy";
+ public const string CreationDate = "cmis:creationDate";
+ public const string LastModifiedBy = "cmis:lastModifiedBy";
+ public const string LastModificationDate = "cmis:lastModificationDate";
+ public const string ChangeToken = "cmis:changeToken";
+
+ // ---- document ----
+ public const string IsImmutable = "cmis:isImmutable";
+ public const string IsLatestVersion = "cmis:isLatestVersion";
+ public const string IsMajorVersion = "cmis:isMajorVersion";
+ public const string isLatestMajorVersion = "cmis:isLatestMajorVersion";
+ public const string VersionLabel = "cmis:versionLabel";
+ public const string VersionSeriesId = "cmis:versionSeriesId";
+ public const string IsVersionSeriesCheckedOut = "cmis:isVersionSeriesCheckedOut";
+ public const string VersionSeriesCheckedOutBy = "cmis:versionSeriesCheckedOutBy";
+ public const string VersionSeriesCheckedOutId = "cmis:versionSeriesCheckedOutId";
+ public const string CheckinComment = "cmis:checkinComment";
+ public const string ContentStreamLength = "cmis:contentStreamLength";
+ public const string ContentStreamMimeType = "cmis:contentStreamMimeType";
+ public const string ContentStreamFileName = "cmis:contentStreamFileName";
+ public const string ContentStreamId = "cmis:contentStreamId";
+
+ // ---- folder ----
+ public const string ParentId = "cmis:parentId";
+ public const string AllowedChildObjectTypeIds = "cmis:allowedChildObjectTypeIds";
+ public const string Path = "cmis:path";
+
+ // ---- relationship ----
+ public const string SourceId = "cmis:sourceId";
+ public const string TargetId = "cmis:targetId";
+
+ // ---- policy ----
+ public const string PolicyText = "cmis:policyText";
+ }
+
+ public static class BasicPermissions
+ {
+ public const string Read = "cmis:read";
+ public const string Write = "cmis:write";
+ public const string All = "cmis:all";
+ }
+
+ public static class PermissionMappingKeys
+ {
+ public const string CanGetDescendentsFolder = "canGetDescendents.Folder";
+ public const string CanGetChildrenFolder = "canGetChildren.Folder";
+ public const string CanGetParentsFolder = "canGetParents.Folder";
+ public const string CanGetFolderParentObject = "canGetFolderParent.Object";
+ public const string CanCreateDocumentFolder = "canCreateDocument.Folder";
+ public const string CanCreateFolderFolder = "canCreateFolder.Folder";
+ public const string CanCreateRelationshipSource = "canCreateRelationship.Source";
+ public const string CanCreateRelationshipTarget = "canCreateRelationship.Target";
+ public const string CanGetPropertiesObject = "canGetProperties.Object";
+ public const string CanViewContentObject = "canViewContent.Object";
+ public const string CanUpdatePropertiesObject = "canUpdateProperties.Object";
+ public const string CanMoveObject = "canMove.Object";
+ public const string CanMoveTarget = "canMove.Target";
+ public const string CanMoveSource = "canMove.Source";
+ public const string CanDeleteObject = "canDelete.Object";
+ public const string CanDeleteTreeFolder = "canDeleteTree.Folder";
+ public const string CanSetContentDocument = "canSetContent.Document";
+ public const string CanDeleteContentDocument = "canDeleteContent.Document";
+ public const string CanAddToFolderObject = "canAddToFolder.Object";
+ public const string CanAddToFolderFolder = "canAddToFolder.Folder";
+ public const string CanRemoveFromFolderObject = "canRemoveFromFolder.Object";
+ public const string CanRemoveFromFolderFolder = "canRemoveFromFolder.Folder";
+ public const string CanCheckoutDocument = "canCheckout.Document";
+ public const string CanCancelCheckoutDocument = "canCancelCheckout.Document";
+ public const string CanCheckinDocument = "canCheckin.Document";
+ public const string CanGetAllVersionsVersionSeries = "canGetAllVersions.VersionSeries";
+ public const string CanGetObjectRelationshipSObject = "canGetObjectRelationships.Object";
+ public const string CanAddPolicyObject = "canAddPolicy.Object";
+ public const string CanAddPolicyPolicy = "canAddPolicy.Policy";
+ public const string CanRemovePolicyObject = "canRemovePolicy.Object";
+ public const string CanRemovePolicyPolicy = "canRemovePolicy.Policy";
+ public const string CanGetAppliesPoliciesObject = "canGetAppliedPolicies.Object";
+ public const string CanGetAclObject = "canGetAcl.Object";
+ public const string CanApplyAclObject = "canApplyAcl.Object";
+ }
+
+ public static class Actions
+ {
+ public const string CanDeleteObject = "canDeleteObject";
+ public const string CanUpdateProperties = "canUpdateProperties";
+ public const string CanGetProperties = "canGetProperties";
+ public const string CanGetObjectRelationships = "canGetObjectRelationships";
+ public const string CanGetObjectParents = "canGetObjectParents";
+ public const string CanGetFolderParent = "canGetFolderParent";
+ public const string CanGetFolderTree = "canGetFolderTree";
+ public const string CanGetDescendants = "canGetDescendants";
+ public const string CanMoveObject = "canMoveObject";
+ public const string CanDeleteContentStream = "canDeleteContentStream";
+ public const string CanCheckOut = "canCheckOut";
+ public const string CanCancelCheckOut = "canCancelCheckOut";
+ public const string CanCheckIn = "canCheckIn";
+ public const string CanSetContentStream = "canSetContentStream";
+ public const string CanGetAllVersions = "canGetAllVersions";
+ public const string CanAddObjectToFolder = "canAddObjectToFolder";
+ public const string CanRemoveObjectFromFolder = "canRemoveObjectFromFolder";
+ public const string CanGetContentStream = "canGetContentStream";
+ public const string CanApplyPolicy = "canApplyPolicy";
+ public const string CanGetAppliedPolicies = "canGetAppliedPolicies";
+ public const string CanRemovePolicy = "canRemovePolicy";
+ public const string CanGetChildren = "canGetChildren";
+ public const string CanCreateDocument = "canCreateDocument";
+ public const string CanCreateFolder = "canCreateFolder";
+ public const string CanCreateRelationship = "canCreateRelationship";
+ public const string CanDeleteTree = "canDeleteTree";
+ public const string CanGetRenditions = "canGetRenditions";
+ public const string CanGetAcl = "canGetACL";
+ public const string CanApplyAcl = "canApplyACL";
+ }
+
+ internal static class AtomPubConstants
+ {
+ // namespaces
+ public const string NamespaceCMIS = "http://docs.oasis-open.org/ns/cmis/core/200908/";
+ public const string NamespaceAtom = "http://www.w3.org/2005/Atom";
+ public const string NamespaceAPP = "http://www.w3.org/2007/app";
+ public const string NamespaceRestAtom = "http://docs.oasis-open.org/ns/cmis/restatom/200908/";
+ public const string NamespaceXSI = "http://www.w3.org/2001/XMLSchema-instance";
+
+ // media types
+ public const string MediatypeService = "application/atomsvc+xml";
+ public const string MediatypeFeed = "application/atom+xml;type=feed";
+ public const string MediatypeEntry = "application/atom+xml;type=entry";
+ public const string MediatypeChildren = MediatypeFeed;
+ public const string MediatypeDescendants = "application/cmistree+xml";
+ public const string MediatypeQuery = "application/cmisquery+xml";
+ public const string MediatypeAllowableAction = "application/cmisallowableactions+xml";
+ public const string MediatypeACL = "application/cmisacl+xml";
+ public const string MediatypeCMISAtom = "application/cmisatom+xml";
+ public const string MediatypeOctetStream = "application/octet-stream";
+
+ // collections
+ public const string CollectionRoot = "root";
+ public const string CollectionTypes = "types";
+ public const string CollectionQuery = "query";
+ public const string CollectionCheckedout = "checkedout";
+ public const string CollectionUnfiled = "unfiled";
+
+ // URI templates
+ public const string TemplateObjectById = "objectbyid";
+ public const string TemplateObjectByPath = "objectbypath";
+ public const string TemplateTypeById = "typebyid";
+ public const string TemplateQuery = "query";
+
+ // Link rel
+ public const string RelSelf = "self";
+ public const string RelEnclosure = "enclosure";
+ public const string RelService = "service";
+ public const string RelDescribedBy = "describedby";
+ public const string RelAlternate = "alternate";
+ public const string RelDown = "down";
+ public const string RelUp = "up";
+ public const string RelFirst = "first";
+ public const string RelLast = "last";
+ public const string RelPrev = "previous";
+ public const string RelNext = "next";
+ public const string RelVia = "via";
+ public const string RelEdit = "edit";
+ public const string RelEditMedia = "edit-media";
+ public const string RelVersionHistory = "version-history";
+ public const string RelCurrentVersion = "current-version";
+ public const string RelWorkingCopy = "working-copy";
+ public const string RelFolderTree = "http://docs.oasis-open.org/ns/cmis/link/200908/foldertree";
+ public const string RelAllowableActions = "http://docs.oasis-open.org/ns/cmis/link/200908/allowableactions";
+ public const string RelACL = "http://docs.oasis-open.org/ns/cmis/link/200908/acl";
+ public const string RelSource = "http://docs.oasis-open.org/ns/cmis/link/200908/source";
+ public const string RelTarget = "http://docs.oasis-open.org/ns/cmis/link/200908/target";
+ public const string RelRelationships = "http://docs.oasis-open.org/ns/cmis/link/200908/relationships";
+ public const string RelPolicies = "http://docs.oasis-open.org/ns/cmis/link/200908/policies";
+
+ public const string RepRelTypeDesc = "http://docs.oasis-open.org/ns/cmis/link/200908/typedescendants";
+ public const string RepRelFolderTree = "http://docs.oasis-open.org/ns/cmis/link/200908/foldertree";
+ public const string RepRelRootDesc = "http://docs.oasis-open.org/ns/cmis/link/200908/rootdescendants";
+ public const string RepRelChanges = "http://docs.oasis-open.org/ns/cmis/link/200908/changes";
+
+ // parameter
+ public const string ParamACL = "includeACL";
+ public const string ParamAllowableActions = "includeAllowableActions";
+ public const string ParamAllVersions = "allVersions";
+ public const string ParamChangeLogToken = "changeLogToken";
+ public const string ParamChangeToken = "changeToken";
+ public const string ParamCheckinComment = "checkinComment";
+ public const string ParamCheckIn = "checkin";
+ public const string ParamChildTypes = "childTypes";
+ public const string ParamContinueOnFailure = "continueOnFailure";
+ public const string ParamDepth = "depth";
+ public const string ParamFilter = "filter";
+ public const string ParamFolderId = "folderId";
+ public const string ParamId = "id";
+ public const string ParamMajor = "major";
+ public const string ParamMaxItems = "maxItems";
+ public const string ParamObjectId = "objectId";
+ public const string ParamOnlyBasicPermissions = "onlyBasicPermissions";
+ public const string ParamOrderBy = "orderBy";
+ public const string ParamOverwriteFlag = "overwriteFlag";
+ public const string ParamPath = "path";
+ public const string ParamPathSegment = "includePathSegment";
+ public const string ParamPolicyId = "policyId";
+ public const string ParamPolicyIds = "includePolicyIds";
+ public const string ParamProperties = "includeProperties";
+ public const string ParamPropertyDefinitions = "includePropertyDefinitions";
+ public const string ParamRelationships = "includeRelationships";
+ public const string ParamRelationshipDirection = "relationshipDirection";
+ public const string ParamRelativePathSegment = "includeRelativePathSegment";
+ public const string ParamRemoveFrom = "removeFrom";
+ public const string ParamRenditionFilter = "renditionFilter";
+ public const string ParamRepositoryId = "repositoryId";
+ public const string ParamReturnVersion = "returnVersion";
+ public const string ParamSkipCount = "skipCount";
+ public const string ParamSourceFolderId = "sourceFolderId";
+ public const string ParamStreamId = "streamId";
+ public const string ParamSubRelationshipTypes = "includeSubRelationshipTypes";
+ public const string ParamTypeId = "typeId";
+ public const string ParamUnfildeObjects = "unfileObjects";
+ public const string ParamVersioningState = "versioningState";
+ public const string ParamQ = "q";
+ public const string ParamSearchAllVersions = "searchAllVersions";
+ public const string ParamACLPropagation = "ACLPropagation";
+
+ // rendition filter
+ public const string RenditionNone = "cmis:none";
+
+ // service doc
+ public const string TagService = "service";
+ public const string TagWorkspace = "workspace";
+ public const string TagRepositoryInfo = "repositoryInfo";
+ public const string TagCollection = "collection";
+ public const string TagCollectionType = "collectionType";
+ public const string TagUriTemplate = "uritemplate";
+ public const string TagTemplateTemplate = "template";
+ public const string TagTemplateType = "type";
+ public const string TagLink = "link";
+
+ // atom
+ public const string TagAtomId = "id";
+ public const string TagAtomTitle = "title";
+ public const string TagAtomUpdated = "updated";
+
+ // feed
+ public const string TagFeed = "feed";
+
+ // entry
+ public const string TagEntry = "entry";
+ public const string TagObject = "object";
+ public const string TagNumItems = "numItems";
+ public const string TagPathSegment = "pathSegment";
+ public const string TagRelativePathSegment = "relativePathSegment";
+ public const string TagType = "type";
+ public const string TagChildren = "children";
+ public const string TagContent = "content";
+ public const string TagContentMediatype = "mediatype";
+ public const string TagContentBase64 = "base64";
+
+ // allowable actions
+ public const string TagAllowableActions = "allowableActions";
+
+ // ACL
+ public const string TagACL = "acl";
+
+ // query
+ public const string TagQuery = "query";
+ public const string TagStatement = "statement";
+ public const string TagSearchAllVersions = "searchAllVersions";
+ public const string TagIncludeAllowableActions = "includeAllowableActions";
+ public const string TagRenditionFilter = "renditionFilter";
+ public const string TagIncludeRelationships = "includeRelationships";
+ public const string TagMaxItems = "maxItems";
+ public const string TagSkipCount = "skipCount";
+
+ // links
+ public const string LinkRel = "rel";
+ public const string LinkHref = "href";
+ public const string LinkType = "type";
+ public const string ContentSrc = "src";
+ public const string LinkRelContent = "@@content@@";
+ }
+}
diff --git a/DotCMIS/data/data-impl.cs b/DotCMIS/data/data-impl.cs
new file mode 100644
index 0000000..b929921
--- /dev/null
+++ b/DotCMIS/data/data-impl.cs
@@ -0,0 +1,539 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Text;
+using DotCMIS.Data.Extensions;
+using DotCMIS.Enums;
+
+namespace DotCMIS.Data
+{
+ public class RepositoryInfo : ExtensionsData, IRepositoryInfo
+ {
+ public string Id { get; set; }
+ public string Name { get; set; }
+ public string Description { get; set; }
+ public string VendorName { get; set; }
+ public string ProductName { get; set; }
+ public string ProductVersion { get; set; }
+ public string RootFolderId { get; set; }
+ public IRepositoryCapabilities Capabilities { get; set; }
+ public IAclCapabilities AclCapabilities { get; set; }
+ public string LatestChangeLogToken { get; set; }
+ public string CmisVersionSupported { get; set; }
+ public string ThinClientUri { get; set; }
+ public bool? ChangesIncomplete { get; set; }
+ public IList<BaseTypeId?> ChangesOnType { get; set; }
+ public string PrincipalIdAnonymous { get; set; }
+ public string PrincipalIdAnyone { get; set; }
+ }
+
+ public class RepositoryCapabilities : ExtensionsData, IRepositoryCapabilities
+ {
+ public CapabilityContentStreamUpdates? ContentStreamUpdatesCapability { get; set; }
+ public CapabilityChanges? ChangesCapability { get; set; }
+ public CapabilityRenditions? RenditionsCapability { get; set; }
+ public bool? IsGetDescendantsSupported { get; set; }
+ public bool? IsGetFolderTreeSupported { get; set; }
+ public bool? IsMultifilingSupported { get; set; }
+ public bool? IsUnfilingSupported { get; set; }
+ public bool? IsVersionSpecificFilingSupported { get; set; }
+ public bool? IsPwcSearchableSupported { get; set; }
+ public bool? IsPwcUpdatableSupported { get; set; }
+ public bool? IsAllVersionsSearchableSupported { get; set; }
+ public CapabilityQuery? QueryCapability { get; set; }
+ public CapabilityJoin? JoinCapability { get; set; }
+ public CapabilityAcl? AclCapability { get; set; }
+ }
+
+ public class AclCapabilities : ExtensionsData, IAclCapabilities
+ {
+ public SupportedPermissions? SupportedPermissions { get; set; }
+ public AclPropagation? AclPropagation { get; set; }
+ public IList<IPermissionDefinition> Permissions { get; set; }
+ public IDictionary<string, IPermissionMapping> PermissionMapping { get; set; }
+ }
+
+ public class PermissionDefinition : ExtensionsData, IPermissionDefinition
+ {
+ public string Id { get; set; }
+ public string Description { get; set; }
+ }
+
+ public class PermissionMapping : ExtensionsData, IPermissionMapping
+ {
+ public string Key { get; set; }
+ public IList<string> Permissions { get; set; }
+ }
+
+ public abstract class TypeDefinition : ExtensionsData, ITypeDefinition
+ {
+ private List<IPropertyDefinition> propertyDefintionList = new List<IPropertyDefinition>();
+ private Dictionary<string, IPropertyDefinition> propertyDefintionDict = new Dictionary<string, IPropertyDefinition>();
+
+ public string Id { get; set; }
+ public string LocalName { get; set; }
+ public string LocalNamespace { get; set; }
+ public string DisplayName { get; set; }
+ public string QueryName { get; set; }
+ public string Description { get; set; }
+ public BaseTypeId? BaseTypeId { get; set; }
+ public string ParentTypeId { get; set; }
+ public bool? IsCreatable { get; set; }
+ public bool? IsFileable { get; set; }
+ public bool? IsQueryable { get; set; }
+ public bool? IsFulltextIndexed { get; set; }
+ public bool? IsIncludedInSupertypeQuery { get; set; }
+ public bool? IsControllablePolicy { get; set; }
+ public bool? IsControllableAcl { get; set; }
+ public IPropertyDefinition this[string propertyId]
+ {
+ get
+ {
+ IPropertyDefinition propertyDefinition = null;
+ propertyDefintionDict.TryGetValue(propertyId, out propertyDefinition);
+ return propertyDefinition;
+ }
+ }
+ public IList<IPropertyDefinition> PropertyDefintions
+ {
+ get
+ {
+ return propertyDefintionList;
+ }
+ }
+
+ public void AddPropertyDefinition(IPropertyDefinition propertyDefinition)
+ {
+ if (propertyDefinition == null || propertyDefinition.Id == null)
+ {
+ return;
+ }
+
+ propertyDefintionList.Add(propertyDefinition);
+ propertyDefintionDict[propertyDefinition.Id] = propertyDefinition;
+ }
+ }
+
+ public class DocumentTypeDefinition : TypeDefinition, IDocumentTypeDefinition
+ {
+ public bool? IsVersionable { get; set; }
+ public ContentStreamAllowed? ContentStreamAllowed { get; set; }
+ }
+
+ public class FolderTypeDefinition : TypeDefinition, IFolderTypeDefinition
+ {
+ }
+
+ public class PolicyTypeDefinition : TypeDefinition, IPolicyTypeDefinition
+ {
+ }
+
+ public class RelationshipTypeDefinition : TypeDefinition, IRelationshipTypeDefinition
+ {
+ public IList<string> AllowedSourceTypeIds { get; set; }
+ public IList<string> AllowedTargetTypeIds { get; set; }
+ }
+
+ public class TypeDefinitionList : ExtensionsData, ITypeDefinitionList
+ {
+ public IList<ITypeDefinition> List { get; set; }
+ public bool? HasMoreItems { get; set; }
+ public long? NumItems { get; set; }
+ }
+
+ public class TypeDefinitionContainer : ExtensionsData, ITypeDefinitionContainer
+ {
+ public ITypeDefinition TypeDefinition { get; set; }
+ public IList<ITypeDefinitionContainer> Children { get; set; }
+ }
+
+ public abstract class PropertyDefinition : ExtensionsData, IPropertyDefinition
+ {
+ public string Id { get; set; }
+ public string LocalName { get; set; }
+ public string LocalNamespace { get; set; }
+ public string DisplayName { get; set; }
+ public string QueryName { get; set; }
+ public string Description { get; set; }
+ public PropertyType? PropertyType { get; set; }
+ public Cardinality? Cardinality { get; set; }
+ public Updatability? Updatability { get; set; }
+ public bool? IsInherited { get; set; }
+ public bool? IsRequired { get; set; }
+ public bool? IsQueryable { get; set; }
+ public bool? IsOrderable { get; set; }
+ public bool? IsOpenChoice { get; set; }
+ }
+
+ public class Choice<T> : IChoice<T>
+ {
+ public string DisplayName { get; set; }
+ public IList<T> Value { get; set; }
+ public IList<IChoice<T>> Choices { get; set; }
+ }
+
+ public class PropertyBooleanDefinition : PropertyDefinition, IPropertyBooleanDefinition
+ {
+ public IList<bool> DefaultValue { get; set; }
+ public IList<IChoice<bool>> Choices { get; set; }
+ }
+
+ public class PropertyDateTimeDefinition : PropertyDefinition, IPropertyDateTimeDefinition
+ {
+ public IList<DateTime> DefaultValue { get; set; }
+ public IList<IChoice<DateTime>> Choices { get; set; }
+ public DateTimeResolution? DateTimeResolution { get; set; }
+ }
+
+ public class PropertyDecimalDefinition : PropertyDefinition, IPropertyDecimalDefinition
+ {
+ public IList<decimal> DefaultValue { get; set; }
+ public IList<IChoice<decimal>> Choices { get; set; }
+ public decimal? MinValue { get; set; }
+ public decimal? MaxValue { get; set; }
+ public DecimalPrecision? Precision { get; set; }
+ }
+
+ public class PropertyHtmlDefinition : PropertyDefinition, IPropertyHtmlDefinition
+ {
+ public IList<string> DefaultValue { get; set; }
+ public IList<IChoice<string>> Choices { get; set; }
+ }
+
+ public class PropertyIdDefinition : PropertyDefinition, IPropertyIdDefinition
+ {
+ public IList<string> DefaultValue { get; set; }
+ public IList<IChoice<string>> Choices { get; set; }
+ }
+
+ public class PropertyIntegerDefinition : PropertyDefinition, IPropertyIntegerDefinition
+ {
+ public IList<long> DefaultValue { get; set; }
+ public IList<IChoice<long>> Choices { get; set; }
+ public long? MinValue { get; set; }
+ public long? MaxValue { get; set; }
+ }
+
+ public class PropertyStringDefinition : PropertyDefinition, IPropertyStringDefinition
+ {
+ public IList<string> DefaultValue { get; set; }
+ public IList<IChoice<string>> Choices { get; set; }
+ public long? MaxLength { get; set; }
+ }
+
+ public class PropertyUriDefinition : PropertyDefinition, IPropertyUriDefinition
+ {
+ public IList<string> DefaultValue { get; set; }
+ public IList<IChoice<string>> Choices { get; set; }
+ }
+
+ public class ObjectData : ExtensionsData, IObjectData
+ {
+ public string Id
+ {
+ get
+ {
+ return GetFirstValue(PropertyIds.ObjectId) as string;
+ }
+ }
+ public BaseTypeId? BaseTypeId
+ {
+ get
+ {
+ string baseTypeId = GetFirstValue(PropertyIds.BaseTypeId) as string;
+ if (baseTypeId == null)
+ {
+ return null;
+ }
+
+ return baseTypeId.GetCmisEnum<BaseTypeId>();
+ }
+ }
+ public IProperties Properties { get; set; }
+ public IAllowableActions AllowableActions { get; set; }
+ public IList<IObjectData> Relationships { get; set; }
+ public IChangeEventInfo ChangeEventInfo { get; set; }
+ public IAcl Acl { get; set; }
+ public bool? IsExactAcl { get; set; }
+ public IPolicyIdList PolicyIds { get; set; }
+ public IList<IRenditionData> Renditions { get; set; }
+
+ private object GetFirstValue(string id)
+ {
+ if (Properties == null) { return null; }
+
+ IPropertyData property = Properties[id];
+ if (property == null)
+ {
+ return null;
+ }
+
+ return property.FirstObject;
+ }
+ }
+
+ public class ObjectList : ExtensionsData, IObjectList
+ {
+ public IList<IObjectData> Objects { get; set; }
+ public bool? HasMoreItems { get; set; }
+ public long? NumItems { get; set; }
+ }
+
+ public class ObjectInFolderData : ExtensionsData, IObjectInFolderData
+ {
+ public IObjectData Object { get; set; }
+ public string PathSegment { get; set; }
+ }
+
+ public class ObjectInFolderList : ExtensionsData, IObjectInFolderList
+ {
+ public IList<IObjectInFolderData> Objects { get; set; }
+ public bool? HasMoreItems { get; set; }
+ public long? NumItems { get; set; }
+ }
+
+ public class ObjectInFolderContainer : ExtensionsData, IObjectInFolderContainer
+ {
+ public IObjectInFolderData Object { get; set; }
+ public IList<IObjectInFolderContainer> Children { get; set; }
+ }
+
+ public class ObjectParentData : ExtensionsData, IObjectParentData
+ {
+ public IObjectData Object { get; set; }
+ public string RelativePathSegment { get; set; }
+ }
+
+ public class Properties : ExtensionsData, IProperties
+ {
+ private List<IPropertyData> propertyList = new List<IPropertyData>();
+ private Dictionary<string, IPropertyData> propertyDict = new Dictionary<string, IPropertyData>();
+
+ public IPropertyData this[string propertyId]
+ {
+ get
+ {
+ IPropertyData property = null;
+ propertyDict.TryGetValue(propertyId, out property);
+ return property;
+ }
+ }
+
+ public IList<IPropertyData> PropertyList
+ {
+ get
+ {
+ return propertyList;
+ }
+ }
+
+ public void AddProperty(IPropertyData property)
+ {
+ if (property == null)
+ {
+ return;
+ }
+
+ propertyList.Add(property);
+
+ if (property.Id != null)
+ {
+ propertyDict[property.Id] = property;
+ }
+ }
+
+ public override string ToString()
+ {
+ StringBuilder sb = new StringBuilder();
+ foreach (IPropertyData prop in propertyList)
+ {
+ if (sb.Length == 0) { sb.Append("["); }
+ else { sb.Append(", "); }
+ sb.Append(prop.ToString());
+ }
+ sb.Append("]");
+
+ return sb.ToString();
+ }
+ }
+
+ public abstract class PropertyData : ExtensionsData, IPropertyData
+ {
+ public string Id { get; set; }
+ public string LocalName { get; set; }
+ public string DisplayName { get; set; }
+ public string QueryName { get; set; }
+
+ public object FirstObject
+ {
+ get
+ {
+ if (this is PropertyBoolean)
+ {
+ return ((PropertyBoolean)this).FirstValue;
+ }
+ else if (this is PropertyDateTime)
+ {
+ return ((PropertyDateTime)this).FirstValue;
+ }
+ else if (this is PropertyDecimal)
+ {
+ return ((PropertyDecimal)this).FirstValue;
+ }
+ else if (this is PropertyHtml)
+ {
+ return ((PropertyHtml)this).FirstValue;
+ }
+ else if (this is PropertyId)
+ {
+ return ((PropertyId)this).FirstValue;
+ }
+ else if (this is PropertyInteger)
+ {
+ return ((PropertyInteger)this).FirstValue;
+ }
+ else if (this is PropertyString)
+ {
+ return ((PropertyString)this).FirstValue;
+ }
+ else if (this is PropertyUri)
+ {
+ return ((PropertyUri)this).FirstValue;
+ }
+
+ return null;
+ }
+ }
+
+ public override string ToString()
+ {
+ return Id + ": " + FirstObject;
+ }
+ }
+
+ public class PropertyBoolean : PropertyData, IPropertyBoolean
+ {
+ public IList<bool> Values { get; set; }
+ public bool? FirstValue { get { return Values == null || Values.Count < 1 ? null : (bool?)Values[0]; } }
+ }
+
+ public class PropertyDateTime : PropertyData, IPropertyDateTime
+ {
+ public IList<DateTime> Values { get; set; }
+ public DateTime? FirstValue { get { return Values == null || Values.Count < 1 ? null : (DateTime?)Values[0]; } }
+ }
+
+ public class PropertyDecimal : PropertyData, IPropertyDecimal
+ {
+ public IList<decimal> Values { get; set; }
+ public decimal? FirstValue { get { return Values == null || Values.Count < 1 ? null : (decimal?)Values[0]; } }
+ }
+
+ public class PropertyHtml : PropertyData, IPropertyHtml
+ {
+ public IList<string> Values { get; set; }
+ public string FirstValue { get { return Values == null || Values.Count < 1 ? null : Values[0]; } }
+ }
+
+ public class PropertyId : PropertyData, IPropertyId
+ {
+ public IList<string> Values { get; set; }
+ public string FirstValue { get { return Values == null || Values.Count < 1 ? null : Values[0]; } }
+ }
+
+ public class PropertyInteger : PropertyData, IPropertyInteger
+ {
+ public IList<long> Values { get; set; }
+ public long? FirstValue { get { return Values == null || Values.Count < 1 ? null : (long?)Values[0]; } }
+ }
+
+ public class PropertyString : PropertyData, IPropertyString
+ {
+ public IList<string> Values { get; set; }
+ public string FirstValue { get { return Values == null || Values.Count < 1 ? null : Values[0]; } }
+ }
+
+ public class PropertyUri : PropertyData, IPropertyUri
+ {
+ public IList<string> Values { get; set; }
+ public string FirstValue { get { return Values == null || Values.Count < 1 ? null : Values[0]; } }
+ }
+
+ public class Principal : ExtensionsData, IPrincipal
+ {
+ public string Id { get; set; }
+ }
+
+ public class Ace : ExtensionsData, IAce
+ {
+ public IPrincipal Principal { get; set; }
+ public string PrincipalId { get { return Principal == null ? null : Principal.Id; } }
+ public IList<string> Permissions { get; set; }
+ public bool IsDirect { get; set; }
+ }
+
+ public class Acl : ExtensionsData, IAcl
+ {
+ public IList<IAce> Aces { get; set; }
+ public bool? IsExact { get; set; }
+ }
+
+ public class ContentStream : ExtensionsData, IContentStream
+ {
+ public long? Length { get; set; }
+ public string MimeType { get; set; }
+ public string FileName { get; set; }
+ public Stream Stream { get; set; }
+ }
+
+ public class AllowableActions : ExtensionsData, IAllowableActions
+ {
+ public HashSet<string> Actions { get; set; }
+ }
+
+ public class RenditionData : ExtensionsData, IRenditionData
+ {
+ public string StreamId { get; set; }
+ public string MimeType { get; set; }
+ public long? Length { get; set; }
+ public string Kind { get; set; }
+ public string Title { get; set; }
+ public long? Height { get; set; }
+ public long? Width { get; set; }
+ public string RenditionDocumentId { get; set; }
+ }
+
+ public class ChangeEventInfo : ExtensionsData, IChangeEventInfo
+ {
+ public ChangeType ChangeType { get; set; }
+ public DateTime ChangeTime { get; set; }
+ }
+
+ public class PolicyIdList : ExtensionsData, IPolicyIdList
+ {
+ public IList<string> PolicyIds { get; set; }
+ }
+
+ public class FailedToDeleteData : ExtensionsData, IFailedToDeleteData
+ {
+ public IList<string> Ids { get; set; }
+ }
+}
diff --git a/DotCMIS/data/data-intf.cs b/DotCMIS/data/data-intf.cs
new file mode 100644
index 0000000..fbbd8cd
--- /dev/null
+++ b/DotCMIS/data/data-intf.cs
@@ -0,0 +1,388 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+using System.Collections.Generic;
+using DotCMIS.Data.Extensions;
+using DotCMIS.Enums;
+using System.IO;
+using System;
+using System.Collections;
+
+namespace DotCMIS.Data
+{
+ public interface IRepositoryInfo : IExtensionsData
+ {
+ string Id { get; }
+ string Name { get; }
+ string Description { get; }
+ string VendorName { get; }
+ string ProductName { get; }
+ string ProductVersion { get; }
+ string RootFolderId { get; }
+ IRepositoryCapabilities Capabilities { get; }
+ IAclCapabilities AclCapabilities { get; }
+ string LatestChangeLogToken { get; }
+ string CmisVersionSupported { get; }
+ string ThinClientUri { get; }
+ bool? ChangesIncomplete { get; }
+ IList<BaseTypeId?> ChangesOnType { get; }
+ string PrincipalIdAnonymous { get; }
+ string PrincipalIdAnyone { get; }
+ }
+
+ public interface IRepositoryCapabilities : IExtensionsData
+ {
+ CapabilityContentStreamUpdates? ContentStreamUpdatesCapability { get; }
+ CapabilityChanges? ChangesCapability { get; }
+ CapabilityRenditions? RenditionsCapability { get; }
+ bool? IsGetDescendantsSupported { get; }
+ bool? IsGetFolderTreeSupported { get; }
+ bool? IsMultifilingSupported { get; }
+ bool? IsUnfilingSupported { get; }
+ bool? IsVersionSpecificFilingSupported { get; }
+ bool? IsPwcSearchableSupported { get; }
+ bool? IsPwcUpdatableSupported { get; }
+ bool? IsAllVersionsSearchableSupported { get; }
+ CapabilityQuery? QueryCapability { get; }
+ CapabilityJoin? JoinCapability { get; }
+ CapabilityAcl? AclCapability { get; }
+ }
+
+ public interface IAclCapabilities : IExtensionsData
+ {
+ SupportedPermissions? SupportedPermissions { get; }
+ AclPropagation? AclPropagation { get; }
+ IList<IPermissionDefinition> Permissions { get; }
+ IDictionary<string, IPermissionMapping> PermissionMapping { get; }
+ }
+
+ public interface IPermissionDefinition : IExtensionsData
+ {
+ string Id { get; }
+ string Description { get; }
+ }
+
+ public interface IPermissionMapping : IExtensionsData
+ {
+ string Key { get; }
+ IList<string> Permissions { get; }
+ }
+
+ public interface ITypeDefinition : IExtensionsData
+ {
+ string Id { get; }
+ string LocalName { get; }
+ string LocalNamespace { get; }
+ string DisplayName { get; }
+ string QueryName { get; }
+ string Description { get; }
+ BaseTypeId? BaseTypeId { get; }
+ string ParentTypeId { get; }
+ bool? IsCreatable { get; }
+ bool? IsFileable { get; }
+ bool? IsQueryable { get; }
+ bool? IsFulltextIndexed { get; }
+ bool? IsIncludedInSupertypeQuery { get; }
+ bool? IsControllablePolicy { get; }
+ bool? IsControllableAcl { get; }
+ IPropertyDefinition this[string propertyId] { get; }
+ IList<IPropertyDefinition> PropertyDefintions { get; }
+ }
+
+ public interface IDocumentTypeDefinition : ITypeDefinition
+ {
+ bool? IsVersionable { get; }
+ ContentStreamAllowed? ContentStreamAllowed { get; }
+ }
+
+ public interface IFolderTypeDefinition : ITypeDefinition
+ {
+ }
+
+ public interface IPolicyTypeDefinition : ITypeDefinition
+ {
+ }
+
+ public interface IRelationshipTypeDefinition : ITypeDefinition
+ {
+ IList<string> AllowedSourceTypeIds { get; }
+ IList<string> AllowedTargetTypeIds { get; }
+ }
+
+ public interface ITypeDefinitionList : IExtensionsData
+ {
+ IList<ITypeDefinition> List { get; }
+ bool? HasMoreItems { get; }
+ long? NumItems { get; }
+ }
+
+ public interface ITypeDefinitionContainer : IExtensionsData
+ {
+ ITypeDefinition TypeDefinition { get; }
+ IList<ITypeDefinitionContainer> Children { get; }
+ }
+
+ public interface IPropertyDefinition : IExtensionsData
+ {
+ string Id { get; }
+ string LocalName { get; }
+ string LocalNamespace { get; }
+ string DisplayName { get; }
+ string QueryName { get; }
+ string Description { get; }
+ PropertyType? PropertyType { get; }
+ Cardinality? Cardinality { get; }
+ Updatability? Updatability { get; }
+ bool? IsInherited { get; }
+ bool? IsRequired { get; }
+ bool? IsQueryable { get; }
+ bool? IsOrderable { get; }
+ bool? IsOpenChoice { get; }
+ }
+
+ public interface IChoice<T>
+ {
+ string DisplayName { get; }
+ IList<T> Value { get; }
+ IList<IChoice<T>> Choices { get; }
+ }
+
+ public interface IPropertyBooleanDefinition : IPropertyDefinition
+ {
+ IList<bool> DefaultValue { get; }
+ IList<IChoice<bool>> Choices { get; }
+ }
+
+ public interface IPropertyDateTimeDefinition : IPropertyDefinition
+ {
+ IList<DateTime> DefaultValue { get; }
+ IList<IChoice<DateTime>> Choices { get; }
+ DateTimeResolution? DateTimeResolution { get; }
+ }
+
+ public interface IPropertyDecimalDefinition : IPropertyDefinition
+ {
+ IList<decimal> DefaultValue { get; }
+ IList<IChoice<decimal>> Choices { get; }
+ decimal? MinValue { get; }
+ decimal? MaxValue { get; }
+ DecimalPrecision? Precision { get; }
+ }
+
+ public interface IPropertyHtmlDefinition : IPropertyDefinition
+ {
+ IList<string> DefaultValue { get; }
+ IList<IChoice<string>> Choices { get; }
+ }
+
+ public interface IPropertyIdDefinition : IPropertyDefinition
+ {
+ IList<string> DefaultValue { get; }
+ IList<IChoice<string>> Choices { get; }
+ }
+
+ public interface IPropertyIntegerDefinition : IPropertyDefinition
+ {
+ IList<long> DefaultValue { get; }
+ IList<IChoice<long>> Choices { get; }
+ long? MinValue { get; }
+ long? MaxValue { get; }
+ }
+
+ public interface IPropertyStringDefinition : IPropertyDefinition
+ {
+ IList<string> DefaultValue { get; }
+ IList<IChoice<string>> Choices { get; }
+ long? MaxLength { get; }
+ }
+
+ public interface IPropertyUriDefinition : IPropertyDefinition
+ {
+ IList<string> DefaultValue { get; }
+ IList<IChoice<string>> Choices { get; }
+ }
+
+ public interface IObjectData : IExtensionsData
+ {
+ string Id { get; }
+ BaseTypeId? BaseTypeId { get; }
+ IProperties Properties { get; }
+ IAllowableActions AllowableActions { get; }
+ IList<IObjectData> Relationships { get; }
+ IChangeEventInfo ChangeEventInfo { get; }
+ IAcl Acl { get; }
+ bool? IsExactAcl { get; }
+ IPolicyIdList PolicyIds { get; }
+ IList<IRenditionData> Renditions { get; }
+ }
+
+ public interface IObjectList : IExtensionsData
+ {
+ IList<IObjectData> Objects { get; }
+ bool? HasMoreItems { get; }
+ long? NumItems { get; }
+ }
+
+ public interface IObjectInFolderData : IExtensionsData
+ {
+ IObjectData Object { get; }
+ string PathSegment { get; }
+ }
+
+ public interface IObjectInFolderList : IExtensionsData
+ {
+ IList<IObjectInFolderData> Objects { get; }
+ bool? HasMoreItems { get; }
+ long? NumItems { get; }
+ }
+
+ public interface IObjectInFolderContainer : IExtensionsData
+ {
+ IObjectInFolderData Object { get; }
+ IList<IObjectInFolderContainer> Children { get; }
+ }
+
+ public interface IObjectParentData : IExtensionsData
+ {
+ IObjectData Object { get; }
+ string RelativePathSegment { get; }
+ }
+
+ public interface IProperties : IExtensionsData
+ {
+ IPropertyData this[string propertyId] { get; }
+ IList<IPropertyData> PropertyList { get; }
+ }
+
+ public interface IPropertyData : IExtensionsData
+ {
+ string Id { get; }
+ string LocalName { get; }
+ string DisplayName { get; }
+ string QueryName { get; }
+ object FirstObject { get; }
+ }
+
+ public interface IPropertyBoolean : IPropertyData
+ {
+ IList<bool> Values { get; }
+ bool? FirstValue { get; }
+ }
+
+ public interface IPropertyDateTime : IPropertyData
+ {
+ IList<DateTime> Values { get; }
+ DateTime? FirstValue { get; }
+ }
+
+ public interface IPropertyDecimal : IPropertyData
+ {
+ IList<decimal> Values { get; }
+ decimal? FirstValue { get; }
+ }
+
+ public interface IPropertyHtml : IPropertyData
+ {
+ IList<string> Values { get; }
+ string FirstValue { get; }
+ }
+
+ public interface IPropertyId : IPropertyData
+ {
+ IList<string> Values { get; }
+ string FirstValue { get; }
+ }
+
+ public interface IPropertyInteger : IPropertyData
+ {
+ IList<long> Values { get; }
+ long? FirstValue { get; }
+ }
+
+ public interface IPropertyString : IPropertyData
+ {
+ IList<string> Values { get; }
+ string FirstValue { get; }
+ }
+
+ public interface IPropertyUri : IPropertyData
+ {
+ IList<string> Values { get; }
+ string FirstValue { get; }
+ }
+
+ public interface IPrincipal : IExtensionsData
+ {
+ string Id { get; }
+ }
+
+ public interface IAce : IExtensionsData
+ {
+ IPrincipal Principal { get; }
+ string PrincipalId { get; }
+ IList<string> Permissions { get; }
+ bool IsDirect { get; }
+ }
+
+ public interface IAcl : IExtensionsData
+ {
+ IList<IAce> Aces { get; }
+ bool? IsExact { get; }
+ }
+
+ public interface IContentStream : IExtensionsData
+ {
+ long? Length { get; }
+ string MimeType { get; }
+ string FileName { get; }
+ Stream Stream { get; }
+ }
+
+ public interface IAllowableActions : IExtensionsData
+ {
+ HashSet<string> Actions { get; }
+ }
+
+ public interface IRenditionData : IExtensionsData
+ {
+ string StreamId { get; }
+ string MimeType { get; }
+ long? Length { get; }
+ string Kind { get; }
+ string Title { get; }
+ long? Height { get; }
+ long? Width { get; }
+ string RenditionDocumentId { get; }
+ }
+
+ public interface IChangeEventInfo : IExtensionsData
+ {
+ ChangeType ChangeType { get; }
+ DateTime ChangeTime { get; }
+ }
+
+ public interface IPolicyIdList : IExtensionsData
+ {
+ IList<string> PolicyIds { get; }
+ }
+
+ public interface IFailedToDeleteData : IExtensionsData
+ {
+ IList<string> Ids { get; }
+ }
+}
diff --git a/DotCMIS/data/extensions.cs b/DotCMIS/data/extensions.cs
new file mode 100644
index 0000000..81ecc1a
--- /dev/null
+++ b/DotCMIS/data/extensions.cs
@@ -0,0 +1,61 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace DotCMIS.Data.Extensions
+{
+ public interface ICmisExtensionElement
+ {
+ string Name { get; }
+
+ string Namespace { get; }
+
+ string Value { get; }
+
+ IDictionary<string, string> Attributes { get; }
+
+ IList<ICmisExtensionElement> Children { get; }
+ }
+
+ public class CmisExtensionElement :ICmisExtensionElement
+ {
+ public string Name { get; set; }
+
+ public string Namespace { get; set; }
+
+ public string Value { get; set; }
+
+ public IDictionary<string, string> Attributes { get; set; }
+
+ public IList<ICmisExtensionElement> Children { get; set;}
+ }
+
+ public interface IExtensionsData
+ {
+ IList<ICmisExtensionElement> Extensions { get; set; }
+ }
+
+ public class ExtensionsData : IExtensionsData
+ {
+ public IList<ICmisExtensionElement> Extensions { get; set; }
+ }
+}
diff --git a/DotCMIS/enums.cs b/DotCMIS/enums.cs
new file mode 100644
index 0000000..02b5ee3
--- /dev/null
+++ b/DotCMIS/enums.cs
@@ -0,0 +1,454 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Reflection;
+using DotCMIS.CMISWebServicesReference;
+using System.Xml.Serialization;
+
+namespace DotCMIS.Enums
+{
+ public enum BaseTypeId
+ {
+ [CmisValue("cmis:document")]
+ CmisDocument,
+
+ [CmisValue("cmis:folder")]
+ CmisFolder,
+
+ [CmisValue("cmis:relationship")]
+ CmisRelationship,
+
+ [CmisValue("cmis:policy")]
+ CmisPolicy
+ }
+
+ public enum CapabilityContentStreamUpdates
+ {
+ [CmisValue("anytime")]
+ Anyime,
+
+ [CmisValue("pwconly")]
+ PWCOnly,
+
+ [CmisValue("none")]
+ None
+ }
+
+ public enum CapabilityChanges
+ {
+ [CmisValue("none")]
+ None,
+
+ [CmisValue("objectidsonly")]
+ ObjectIdsOnly,
+
+ [CmisValue("properties")]
+ Properties,
+
+ [CmisValue("all")]
+ All
+ }
+
+ public enum CapabilityRenditions
+ {
+ [CmisValue("none")]
+ None,
+
+ [CmisValue("read")]
+ Read
+ }
+
+ public enum CapabilityQuery
+ {
+ [CmisValue("none")]
+ None,
+
+ [CmisValue("metadataonly")]
+ MetadataOnly,
+
+ [CmisValue("fulltextonly")]
+ FulltextOnly,
+
+ [CmisValue("bothseparate")]
+ BothSeparate,
+
+ [CmisValue("bothcombined")]
+ BothCombined
+ }
+
+ public enum CapabilityJoin
+ {
+ [CmisValue("none")]
+ None,
+
+ [CmisValue("inneronly")]
+ InnerOnly,
+
+ [CmisValue("innerandouter")]
+ InnerAndOuter
+ }
+
+ public enum CapabilityAcl
+ {
+ [CmisValue("none")]
+ None,
+
+ [CmisValue("discover")]
+ Discover,
+
+ [CmisValue("manage")]
+ Manage
+ }
+
+ public enum SupportedPermissions
+ {
+ [CmisValue("basic")]
+ Basic,
+
+ [CmisValue("repository")]
+ Repository,
+
+ [CmisValue("both")]
+ Both
+ }
+
+ public enum AclPropagation
+ {
+ [CmisValue("repositorydetermined")]
+ RepositoryDetermined,
+
+ [CmisValue("objectonly")]
+ ObjectOnly,
+
+ [CmisValue("propagate")]
+ Propagate
+ }
+
+ public enum ContentStreamAllowed
+ {
+ [CmisValue("notallowed")]
+ NotAllowed,
+
+ [CmisValue("allowed")]
+ Allowed,
+
+ [CmisValue("required")]
+ Required
+ }
+
+ public enum PropertyType
+ {
+ [CmisValue("boolean")]
+ Boolean,
+
+ [CmisValue("id")]
+ Id,
+
+ [CmisValue("integer")]
+ Integer,
+
+ [CmisValue("datetime")]
+ DateTime,
+
+ [CmisValue("decimal")]
+ Decimal,
+
+ [CmisValue("html")]
+ Html,
+
+ [CmisValue("string")]
+ String,
+
+ [CmisValue("uri")]
+ Uri
+ }
+
+ public enum Cardinality
+ {
+ [CmisValue("single")]
+ Single,
+
+ [CmisValue("multi")]
+ Multi
+ }
+
+ public enum Updatability
+ {
+ [CmisValue("readonly")]
+ ReadOnly,
+
+ [CmisValue("readwrite")]
+ ReadWrite,
+
+ [CmisValue("whencheckedout")]
+ WhenCheckedOut,
+
+ [CmisValue("oncreate")]
+ OnCreate
+ }
+
+ public enum DateTimeResolution
+ {
+ [CmisValue("year")]
+ Year,
+
+ [CmisValue("date")]
+ Date,
+
+ [CmisValue("time")]
+ Time
+ }
+
+ public enum DecimalPrecision
+ {
+ [CmisValue("32")]
+ Bits32,
+
+ [CmisValue("64")]
+ Bits64
+ }
+
+ public enum IncludeRelationships
+ {
+ [CmisValue("none")]
+ None,
+
+ [CmisValue("source")]
+ Source,
+
+ [CmisValue("target")]
+ Target,
+
+ [CmisValue("both")]
+ Both
+ }
+
+ public enum VersioningState
+ {
+ [CmisValue("none")]
+ None,
+
+ [CmisValue("major")]
+ Major,
+
+ [CmisValue("minor")]
+ Minor,
+
+ [CmisValue("checkedout")]
+ CheckedOut
+ }
+
+ public enum UnfileObject
+ {
+ [CmisValue("unfile")]
+ Unfile,
+
+ [CmisValue("deletesinglefiled")]
+ DeleteSinglefiled,
+
+ [CmisValue("delete")]
+ Delete
+ }
+
+ public enum RelationshipDirection
+ {
+ [CmisValue("source")]
+ Source,
+
+ [CmisValue("target")]
+ Target,
+
+ [CmisValue("either")]
+ Either
+ }
+
+ public enum ReturnVersion
+ {
+ [CmisValue("this")]
+ This,
+
+ [CmisValue("latest")]
+ Latest,
+
+ [CmisValue("latestmajor")]
+ LatestMajor
+ }
+
+ public enum ChangeType
+ {
+ [CmisValue("created")]
+ Created,
+
+ [CmisValue("updated")]
+ Updated,
+
+ [CmisValue("deleted")]
+ Deleted,
+
+ [CmisValue("security")]
+ Security
+ }
+
+ // --- attribute class ---
+
+ public class CmisValueAttribute : System.Attribute
+ {
+ public CmisValueAttribute(string value)
+ {
+ Value = value;
+ }
+
+ public string Value
+ {
+ get;
+ private set;
+ }
+ }
+
+ public static class CmisValue
+ {
+ private static IDictionary<Type, IDictionary<Enum, Enum>> CmisToSerializerDict = new Dictionary<Type, IDictionary<Enum, Enum>>();
+ private static IDictionary<Type, IDictionary<Enum, Enum>> SerializerToCmisDict = new Dictionary<Type, IDictionary<Enum, Enum>>();
+
+ static CmisValue()
+ {
+ MapEnums(typeof(BaseTypeId), typeof(enumBaseObjectTypeIds));
+ MapEnums(typeof(CapabilityContentStreamUpdates), typeof(enumCapabilityContentStreamUpdates));
+ MapEnums(typeof(CapabilityChanges), typeof(enumCapabilityChanges));
+ MapEnums(typeof(CapabilityRenditions), typeof(enumCapabilityRendition));
+ MapEnums(typeof(CapabilityQuery), typeof(enumCapabilityQuery));
+ MapEnums(typeof(CapabilityJoin), typeof(enumCapabilityJoin));
+ MapEnums(typeof(CapabilityAcl), typeof(enumCapabilityACL));
+ MapEnums(typeof(SupportedPermissions), typeof(enumSupportedPermissions));
+ MapEnums(typeof(AclPropagation), typeof(enumACLPropagation));
+ MapEnums(typeof(ContentStreamAllowed), typeof(enumContentStreamAllowed));
+ MapEnums(typeof(PropertyType), typeof(enumPropertyType));
+ MapEnums(typeof(Cardinality), typeof(enumCardinality));
+ MapEnums(typeof(Updatability), typeof(enumUpdatability));
+ MapEnums(typeof(DateTimeResolution), typeof(enumDateTimeResolution));
+ MapEnums(typeof(DecimalPrecision), typeof(enumDecimalPrecision));
+ MapEnums(typeof(IncludeRelationships), typeof(enumIncludeRelationships));
+ MapEnums(typeof(ChangeType), typeof(enumTypeOfChanges));
+ }
+
+ private static void MapEnums(Type cmisEnum, Type xsdEnum)
+ {
+ IDictionary<Enum, Enum> cmisDict = new Dictionary<Enum, Enum>();
+ CmisToSerializerDict[cmisEnum] = cmisDict;
+
+ IDictionary<Enum, Enum> xsdDict = new Dictionary<Enum, Enum>();
+ SerializerToCmisDict[xsdEnum] = xsdDict;
+
+ foreach (FieldInfo xsdfieldInfo in xsdEnum.GetFields())
+ {
+ Enum xsdEnumValue = null;
+
+ try
+ {
+ xsdEnumValue = (Enum)Enum.Parse(xsdEnum, xsdfieldInfo.Name);
+ }
+ catch (Exception)
+ {
+ continue;
+ }
+
+ XmlEnumAttribute[] xmlAttr = xsdfieldInfo.GetCustomAttributes(typeof(XmlEnumAttribute), false) as XmlEnumAttribute[];
+ string value = xmlAttr.Length == 0 ? value = xsdfieldInfo.Name : value = xmlAttr[0].Name;
+
+ foreach (FieldInfo cmisfieldInfo in cmisEnum.GetFields())
+ {
+ CmisValueAttribute[] cmisValueAttr = cmisfieldInfo.GetCustomAttributes(typeof(CmisValueAttribute), false) as CmisValueAttribute[];
+ if (cmisValueAttr != null && cmisValueAttr.Length > 0 && cmisValueAttr[0].Value == value)
+ {
+ Enum cmisEnumValue = (Enum)Enum.Parse(cmisEnum, cmisfieldInfo.Name);
+ cmisDict[cmisEnumValue] = xsdEnumValue;
+ xsdDict[xsdEnumValue] = cmisEnumValue;
+ break;
+ }
+ }
+ }
+ }
+
+ public static Enum CmisToSerializerEnum(Enum source)
+ {
+ if (source == null) { return null; }
+
+ Enum result = null;
+
+ IDictionary<Enum, Enum> dict;
+ if (CmisToSerializerDict.TryGetValue(source.GetType(), out dict))
+ {
+ dict.TryGetValue(source, out result);
+ }
+
+ if (result == null)
+ {
+ Console.WriteLine("*** " + source);
+ }
+
+ return result;
+ }
+
+ public static Enum SerializerToCmisEnum(Enum source)
+ {
+ if (source == null) { return null; }
+
+ Enum result = null;
+
+ IDictionary<Enum, Enum> dict;
+ if (SerializerToCmisDict.TryGetValue(source.GetType(), out dict))
+ {
+ dict.TryGetValue(source, out result);
+ }
+
+ if (result == null)
+ {
+ Console.WriteLine("*** " + source);
+ }
+
+ return result;
+ }
+
+ public static string GetCmisValue(this Enum value)
+ {
+ FieldInfo fieldInfo = value.GetType().GetField(value.ToString());
+ CmisValueAttribute[] cmisValueAttr = fieldInfo.GetCustomAttributes(typeof(CmisValueAttribute), false) as CmisValueAttribute[];
+
+ return cmisValueAttr.Length > 0 ? cmisValueAttr[0].Value : null;
+ }
+
+ public static T GetCmisEnum<T>(this string value)
+ {
+ Type type = typeof(T);
+ foreach (FieldInfo fieldInfo in type.GetFields())
+ {
+ CmisValueAttribute[] cmisValueAttr = fieldInfo.GetCustomAttributes(typeof(CmisValueAttribute), false) as CmisValueAttribute[];
+ if (cmisValueAttr != null && cmisValueAttr.Length > 0 && cmisValueAttr[0].Value == value)
+ {
+ return (T)Enum.Parse(type, fieldInfo.Name);
+ }
+ }
+
+ return default(T);
+ }
+ }
+}
diff --git a/DotCMIS/exceptions.cs b/DotCMIS/exceptions.cs
new file mode 100644
index 0000000..cc89732
--- /dev/null
+++ b/DotCMIS/exceptions.cs
@@ -0,0 +1,310 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace DotCMIS.Exceptions
+{
+ [Serializable]
+ public class CmisBaseException : ApplicationException
+ {
+ public CmisBaseException() { Code = null; }
+ public CmisBaseException(string message) : base(message) { Code = null; }
+ public CmisBaseException(string message, Exception inner) : base(message, inner) { Code = null; }
+ protected CmisBaseException(
+ System.Runtime.Serialization.SerializationInfo info,
+ System.Runtime.Serialization.StreamingContext context)
+ : base(info, context) { }
+
+ public CmisBaseException(string message, long? code)
+ : this(message)
+ {
+ Code = code;
+ }
+
+ public CmisBaseException(string message, string errorContent)
+ : this(message)
+ {
+ ErrorContent = errorContent;
+ }
+
+ public CmisBaseException(string message, string errorContent, Exception inner)
+ : this(message, inner)
+ {
+ ErrorContent = errorContent;
+ }
+
+ public long? Code { get; protected set; }
+ public string ErrorContent { get; protected set; }
+ }
+
+ [Serializable]
+ public class CmisConnectionException : CmisBaseException
+ {
+ public CmisConnectionException() : base() { }
+ public CmisConnectionException(string message) : base(message) { }
+ public CmisConnectionException(string message, Exception inner) : base(message, inner) { }
+ protected CmisConnectionException(
+ System.Runtime.Serialization.SerializationInfo info,
+ System.Runtime.Serialization.StreamingContext context)
+ : base(info, context) { }
+ public CmisConnectionException(string message, long? code)
+ : base(message) { }
+ public CmisConnectionException(string message, string errorContent)
+ : base(message) { }
+ public CmisConnectionException(string message, string errorContent, Exception inner)
+ : base(message, errorContent, inner) { }
+ }
+
+ [Serializable]
+ public class CmisConstraintException : CmisBaseException
+ {
+ public CmisConstraintException() : base() { }
+ public CmisConstraintException(string message) : base(message) { }
+ public CmisConstraintException(string message, Exception inner) : base(message, inner) { }
+ protected CmisConstraintException(
+ System.Runtime.Serialization.SerializationInfo info,
+ System.Runtime.Serialization.StreamingContext context)
+ : base(info, context) { }
+ public CmisConstraintException(string message, long? code)
+ : base(message) { }
+ public CmisConstraintException(string message, string errorContent)
+ : base(message) { }
+ public CmisConstraintException(string message, string errorContent, Exception inner)
+ : base(message, errorContent, inner) { }
+ }
+
+ [Serializable]
+ public class CmisContentAlreadyExistsException : CmisBaseException
+ {
+ public CmisContentAlreadyExistsException() : base() { }
+ public CmisContentAlreadyExistsException(string message) : base(message) { }
+ public CmisContentAlreadyExistsException(string message, Exception inner) : base(message, inner) { }
+ protected CmisContentAlreadyExistsException(
+ System.Runtime.Serialization.SerializationInfo info,
+ System.Runtime.Serialization.StreamingContext context)
+ : base(info, context) { }
+ public CmisContentAlreadyExistsException(string message, long? code)
+ : base(message) { }
+ public CmisContentAlreadyExistsException(string message, string errorContent)
+ : base(message) { }
+ public CmisContentAlreadyExistsException(string message, string errorContent, Exception inner)
+ : base(message, errorContent, inner) { }
+ }
+
+ [Serializable]
+ public class CmisFilterNotValidException : CmisBaseException
+ {
+ public CmisFilterNotValidException() : base() { }
+ public CmisFilterNotValidException(string message) : base(message) { }
+ public CmisFilterNotValidException(string message, Exception inner) : base(message, inner) { }
+ protected CmisFilterNotValidException(
+ System.Runtime.Serialization.SerializationInfo info,
+ System.Runtime.Serialization.StreamingContext context)
+ : base(info, context) { }
+ public CmisFilterNotValidException(string message, long? code)
+ : base(message) { }
+ public CmisFilterNotValidException(string message, string errorContent)
+ : base(message) { }
+ public CmisFilterNotValidException(string message, string errorContent, Exception inner)
+ : base(message, errorContent, inner) { }
+ }
+
+ [Serializable]
+ public class CmisInvalidArgumentException : CmisBaseException
+ {
+ public CmisInvalidArgumentException() : base() { }
+ public CmisInvalidArgumentException(string message) : base(message) { }
+ public CmisInvalidArgumentException(string message, Exception inner) : base(message, inner) { }
+ protected CmisInvalidArgumentException(
+ System.Runtime.Serialization.SerializationInfo info,
+ System.Runtime.Serialization.StreamingContext context)
+ : base(info, context) { }
+ public CmisInvalidArgumentException(string message, long? code)
+ : base(message) { }
+ public CmisInvalidArgumentException(string message, string errorContent)
+ : base(message) { }
+ public CmisInvalidArgumentException(string message, string errorContent, Exception inner)
+ : base(message, errorContent, inner) { }
+ }
+
+ [Serializable]
+ public class CmisNameConstraintViolationException : CmisBaseException
+ {
+ public CmisNameConstraintViolationException() : base() { }
+ public CmisNameConstraintViolationException(string message) : base(message) { }
+ public CmisNameConstraintViolationException(string message, Exception inner) : base(message, inner) { }
+ protected CmisNameConstraintViolationException(
+ System.Runtime.Serialization.SerializationInfo info,
+ System.Runtime.Serialization.StreamingContext context)
+ : base(info, context) { }
+ public CmisNameConstraintViolationException(string message, long? code)
+ : base(message) { }
+ public CmisNameConstraintViolationException(string message, string errorContent)
+ : base(message) { }
+ public CmisNameConstraintViolationException(string message, string errorContent, Exception inner)
+ : base(message, errorContent, inner) { }
+ }
+
+ [Serializable]
+ public class CmisNotSupportedException : CmisBaseException
+ {
+ public CmisNotSupportedException() : base() { }
+ public CmisNotSupportedException(string message) : base(message) { }
+ public CmisNotSupportedException(string message, Exception inner) : base(message, inner) { }
+ protected CmisNotSupportedException(
+ System.Runtime.Serialization.SerializationInfo info,
+ System.Runtime.Serialization.StreamingContext context)
+ : base(info, context) { }
+ public CmisNotSupportedException(string message, long? code)
+ : base(message) { }
+ public CmisNotSupportedException(string message, string errorContent)
+ : base(message) { }
+ public CmisNotSupportedException(string message, string errorContent, Exception inner)
+ : base(message, errorContent, inner) { }
+ }
+
+ [Serializable]
+ public class CmisObjectNotFoundException : CmisBaseException
+ {
+ public CmisObjectNotFoundException() : base() { }
+ public CmisObjectNotFoundException(string message) : base(message) { }
+ public CmisObjectNotFoundException(string message, Exception inner) : base(message, inner) { }
+ protected CmisObjectNotFoundException(
+ System.Runtime.Serialization.SerializationInfo info,
+ System.Runtime.Serialization.StreamingContext context)
+ : base(info, context) { }
+ public CmisObjectNotFoundException(string message, long? code)
+ : base(message) { }
+ public CmisObjectNotFoundException(string message, string errorContent)
+ : base(message) { }
+ public CmisObjectNotFoundException(string message, string errorContent, Exception inner)
+ : base(message, errorContent, inner) { }
+ }
+
+ [Serializable]
+ public class CmisPermissionDeniedException : CmisBaseException
+ {
+ public CmisPermissionDeniedException() : base() { }
+ public CmisPermissionDeniedException(string message) : base(message) { }
+ public CmisPermissionDeniedException(string message, Exception inner) : base(message, inner) { }
+ protected CmisPermissionDeniedException(
+ System.Runtime.Serialization.SerializationInfo info,
+ System.Runtime.Serialization.StreamingContext context)
+ : base(info, context) { }
+ public CmisPermissionDeniedException(string message, long? code)
+ : base(message) { }
+ public CmisPermissionDeniedException(string message, string errorContent)
+ : base(message) { }
+ public CmisPermissionDeniedException(string message, string errorContent, Exception inner)
+ : base(message, errorContent, inner) { }
+ }
+
+ [Serializable]
+ public class CmisRuntimeException : CmisBaseException
+ {
+ public CmisRuntimeException() : base() { }
+ public CmisRuntimeException(string message) : base(message) { }
+ public CmisRuntimeException(string message, Exception inner) : base(message, inner) { }
+ protected CmisRuntimeException(
+ System.Runtime.Serialization.SerializationInfo info,
+ System.Runtime.Serialization.StreamingContext context)
+ : base(info, context) { }
+ public CmisRuntimeException(string message, long? code)
+ : base(message) { }
+ public CmisRuntimeException(string message, string errorContent)
+ : base(message) { }
+ public CmisRuntimeException(string message, string errorContent, Exception inner)
+ : base(message, errorContent, inner) { }
+ }
+
+ [Serializable]
+ public class CmisStorageException : CmisBaseException
+ {
+ public CmisStorageException() : base() { }
+ public CmisStorageException(string message) : base(message) { }
+ public CmisStorageException(string message, Exception inner) : base(message, inner) { }
+ protected CmisStorageException(
+ System.Runtime.Serialization.SerializationInfo info,
+ System.Runtime.Serialization.StreamingContext context)
+ : base(info, context) { }
+ public CmisStorageException(string message, long? code)
+ : base(message) { }
+ public CmisStorageException(string message, string errorContent)
+ : base(message) { }
+ public CmisStorageException(string message, string errorContent, Exception inner)
+ : base(message, errorContent, inner) { }
+ }
+
+ [Serializable]
+ public class CmisStreamNotSupportedException : CmisBaseException
+ {
+ public CmisStreamNotSupportedException() : base() { }
+ public CmisStreamNotSupportedException(string message) : base(message) { }
+ public CmisStreamNotSupportedException(string message, Exception inner) : base(message, inner) { }
+ protected CmisStreamNotSupportedException(
+ System.Runtime.Serialization.SerializationInfo info,
+ System.Runtime.Serialization.StreamingContext context)
+ : base(info, context) { }
+ public CmisStreamNotSupportedException(string message, long? code)
+ : base(message) { }
+ public CmisStreamNotSupportedException(string message, string errorContent)
+ : base(message) { }
+ public CmisStreamNotSupportedException(string message, string errorContent, Exception inner)
+ : base(message, errorContent, inner) { }
+ }
+
+ [Serializable]
+ public class CmisUpdateConflictException : CmisBaseException
+ {
+ public CmisUpdateConflictException() : base() { }
+ public CmisUpdateConflictException(string message) : base(message) { }
+ public CmisUpdateConflictException(string message, Exception inner) : base(message, inner) { }
+ protected CmisUpdateConflictException(
+ System.Runtime.Serialization.SerializationInfo info,
+ System.Runtime.Serialization.StreamingContext context)
+ : base(info, context) { }
+ public CmisUpdateConflictException(string message, long? code)
+ : base(message) { }
+ public CmisUpdateConflictException(string message, string errorContent)
+ : base(message) { }
+ public CmisUpdateConflictException(string message, string errorContent, Exception inner)
+ : base(message, errorContent, inner) { }
+ }
+
+ [Serializable]
+ public class CmisVersioningException : CmisBaseException
+ {
+ public CmisVersioningException() : base() { }
+ public CmisVersioningException(string message) : base(message) { }
+ public CmisVersioningException(string message, Exception inner) : base(message, inner) { }
+ protected CmisVersioningException(
+ System.Runtime.Serialization.SerializationInfo info,
+ System.Runtime.Serialization.StreamingContext context)
+ : base(info, context) { }
+ public CmisVersioningException(string message, long? code)
+ : base(message) { }
+ public CmisVersioningException(string message, string errorContent)
+ : base(message) { }
+ public CmisVersioningException(string message, string errorContent, Exception inner)
+ : base(message, errorContent, inner) { }
+ }
+}
diff --git a/DotCMIS/wsdl/CMIS-Core.xsd b/DotCMIS/wsdl/CMIS-Core.xsd
new file mode 100644
index 0000000..aa427b1
--- /dev/null
+++ b/DotCMIS/wsdl/CMIS-Core.xsd
@@ -0,0 +1,1268 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+ <!--
+ Licensed under the Apache License, Version 2.0 (the "License"); you
+ may not use this file except in compliance with the License. You may
+ obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0 Unless required by
+ applicable law or agreed to in writing, software distributed under the
+ License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
+ CONDITIONS OF ANY KIND, either express or implied. See the License for
+ the specific language governing permissions and limitations under the
+ License.
+ -->
+
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="qualified" targetNamespace="http://docs.oasis-open.org/ns/cmis/core/200908/"
+ xmlns:atom="http://www.w3.org/2005/Atom" xmlns:xhtml="http://www.w3.org/1999/xhtml"
+ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
+ jaxb:extensionBindingPrefixes="xjc" jaxb:version="2.1"
+ xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/" version="1.0">
+
+ <!-- enums -->
+ <xs:simpleType name="enumDecimalPrecision">
+ <xs:restriction base="xs:integer">
+ <xs:enumeration value="32" />
+ <xs:enumeration value="64" />
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="enumContentStreamAllowed">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="notallowed" />
+ <xs:enumeration value="allowed" />
+ <xs:enumeration value="required" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="enumCardinality">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="single" />
+ <xs:enumeration value="multi" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="enumUpdatability">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="readonly" />
+ <xs:enumeration value="readwrite" />
+ <xs:enumeration value="whencheckedout" />
+ <xs:enumeration value="oncreate" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="enumDateTimeResolution">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="year" />
+ <xs:enumeration value="date" />
+ <xs:enumeration value="time" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="enumPropertyType">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="boolean" />
+ <xs:enumeration value="id" />
+ <xs:enumeration value="integer" />
+ <xs:enumeration value="datetime" />
+ <xs:enumeration value="decimal" />
+ <xs:enumeration value="html" />
+ <xs:enumeration value="string" />
+ <xs:enumeration value="uri" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="enumBaseObjectTypeIds">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="cmis:document" />
+ <xs:enumeration value="cmis:folder" />
+ <xs:enumeration value="cmis:relationship" />
+ <xs:enumeration value="cmis:policy" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="enumCapabilityQuery">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="none" />
+ <xs:enumeration value="metadataonly" />
+ <xs:enumeration value="fulltextonly" />
+ <xs:enumeration value="bothseparate" />
+ <xs:enumeration value="bothcombined" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="enumCapabilityJoin">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="none" />
+ <xs:enumeration value="inneronly" />
+ <xs:enumeration value="innerandouter" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="enumCapabilityContentStreamUpdates">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="anytime" />
+ <xs:enumeration value="pwconly" />
+ <xs:enumeration value="none" />
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="enumVersioningState">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="none" />
+ <xs:enumeration value="checkedout" />
+ <xs:enumeration value="minor" />
+ <xs:enumeration value="major" />
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="enumUnfileObject">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="unfile" />
+ <xs:enumeration value="deletesinglefiled" />
+ <xs:enumeration value="delete" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="enumRelationshipDirection">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="source" />
+ <xs:enumeration value="target" />
+ <xs:enumeration value="either" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="enumIncludeRelationships">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="none" />
+ <xs:enumeration value="source" />
+ <xs:enumeration value="target" />
+ <xs:enumeration value="both" />
+ </xs:restriction>
+ </xs:simpleType>
+
+ <!-- properties in CMIS -->
+ <xs:simpleType name="enumPropertiesBase">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="cmis:name" />
+ <xs:enumeration value="cmis:objectId" />
+ <xs:enumeration value="cmis:objectTypeId" />
+ <xs:enumeration value="cmis:baseTypeId" />
+ <xs:enumeration value="cmis:createdBy" />
+ <xs:enumeration value="cmis:creationDate" />
+ <xs:enumeration value="cmis:lastModifiedBy" />
+ <xs:enumeration value="cmis:lastModificationDate" />
+ <xs:enumeration value="cmis:changeToken" />
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="enumPropertiesDocument">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="cmis:isImmutable" />
+ <xs:enumeration value="cmis:isLatestVersion" />
+ <xs:enumeration value="cmis:isMajorVersion" />
+ <xs:enumeration value="cmis:isLatestMajorVersion" />
+ <xs:enumeration value="cmis:versionLabel" />
+ <xs:enumeration value="cmis:versionSeriesId" />
+ <xs:enumeration value="cmis:isVersionSeriesCheckedOut" />
+ <xs:enumeration value="cmis:versionSeriesCheckedOutBy" />
+ <xs:enumeration value="cmis:versionSeriesCheckedOutId" />
+ <xs:enumeration value="cmis:checkinComment" />
+ <xs:enumeration value="cmis:contentStreamLength" />
+ <xs:enumeration value="cmis:contentStreamMimeType" />
+ <xs:enumeration value="cmis:contentStreamFileName" />
+ <xs:enumeration value="cmis:contentStreamId" />
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="enumPropertiesFolder">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="cmis:parentId" />
+ <xs:enumeration value="cmis:allowedChildObjectTypeIds" />
+ <xs:enumeration value="cmis:path" />
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="enumPropertiesRelationship">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="cmis:sourceId" />
+ <xs:enumeration value="cmis:targetId" />
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name="enumPropertiesPolicy">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="cmis:policyText" />
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:attributeGroup name="cmisUndefinedAttribute">
+ <xs:anyAttribute namespace="##other" processContents="lax" />
+ </xs:attributeGroup>
+
+ <!-- main cmis object -->
+ <xs:complexType name="cmisObjectType">
+ <xs:sequence>
+ <xs:element name="properties" type="cmis:cmisPropertiesType"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="allowableActions" type="cmis:cmisAllowableActionsType"
+ minOccurs="0" maxOccurs="1" />
+
+ <xs:element name="relationship" type="cmis:cmisObjectType"
+ minOccurs="0" maxOccurs="unbounded" />
+
+ <!-- if change log -->
+ <xs:element name="changeEventInfo" type="cmis:cmisChangeEventType"
+ minOccurs="0" maxOccurs="1" />
+
+ <!-- ACL -->
+ <xs:element name="acl" type="cmis:cmisAccessControlListType"
+ minOccurs="0" maxOccurs="1" />
+
+ <xs:element name="exactACL" type="xs:boolean" minOccurs="0"
+ maxOccurs="1" />
+
+ <!-- Applied Policy IDs -->
+ <xs:element name="policyIds" type="cmis:cmisListOfIdsType"
+ minOccurs="0" maxOccurs="1" />
+
+ <!-- Rendition -->
+ <xs:element name="rendition" type="cmis:cmisRenditionType"
+ minOccurs="0" maxOccurs="unbounded" />
+
+ <!-- extensions -->
+ <xs:any minOccurs="0" maxOccurs="unbounded" processContents="lax"
+ namespace="##other" />
+ </xs:sequence>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+
+
+ <!-- property bag -->
+ <xs:attribute name="key" type="xs:string" />
+ <xs:attribute name="index" type="xs:integer" />
+
+ <xs:complexType name="cmisPropertiesType">
+ <xs:sequence>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:appinfo>
+ <jaxb:property name="property" />
+ </xs:appinfo>
+ </xs:annotation>
+ <xs:element name="propertyBoolean" type="cmis:cmisPropertyBoolean"
+ nillable="true" />
+ <xs:element name="propertyId" type="cmis:cmisPropertyId"
+ nillable="true" />
+ <xs:element name="propertyInteger" type="cmis:cmisPropertyInteger"
+ nillable="true" />
+ <xs:element name="propertyDateTime" type="cmis:cmisPropertyDateTime"
+ nillable="true" />
+ <xs:element name="propertyDecimal" type="cmis:cmisPropertyDecimal"
+ nillable="true" />
+ <xs:element name="propertyHtml" type="cmis:cmisPropertyHtml"
+ nillable="true" />
+ <xs:element name="propertyString" type="cmis:cmisPropertyString"
+ nillable="true" />
+ <xs:element name="propertyUri" type="cmis:cmisPropertyUri"
+ nillable="true" />
+ </xs:choice>
+ <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"
+ processContents="lax" />
+ </xs:sequence>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+
+
+ <!-- start the prop definitions -->
+ <xs:complexType name="cmisProperty">
+ <xs:attribute name="propertyDefinitionId" use="optional">
+ <xs:annotation>
+ <xs:documentation>
+ This is the property definition id for this
+ property instance. This is
+ not required to be set when used as a
+ default value. This is
+ required to be set when used for query result
+ set or returning
+ properties on an object.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="localName" use="optional">
+ <xs:annotation>
+ <xs:documentation>
+ This is the localname as defined by the property
+ definition
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="displayName" use="optional">
+ <xs:annotation>
+ <xs:documentation>
+ This is the displayname as defined by the property
+ definition
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="queryName" use="optional">
+ <xs:annotation>
+ <xs:documentation>
+ This is the queryName. This must be specified if
+ this is the result of a query. If aliases are used, the alias is to
+ be specified here instead of the queryName.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+ <xs:complexType name="cmisPropertyBoolean">
+ <xs:complexContent>
+ <xs:extension base="cmis:cmisProperty">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="value"
+ type="xs:boolean" />
+ <xs:any processContents="lax" namespace="##other" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisPropertyId">
+ <xs:complexContent>
+ <xs:extension base="cmis:cmisProperty">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="value"
+ type="xs:string" />
+ <xs:any processContents="lax" namespace="##other" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisPropertyInteger">
+ <xs:complexContent>
+ <xs:extension base="cmis:cmisProperty">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="value"
+ type="xs:integer" />
+ <xs:any processContents="lax" namespace="##other" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisPropertyDateTime">
+ <xs:complexContent>
+ <xs:extension base="cmis:cmisProperty">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="value"
+ type="xs:dateTime" />
+ <xs:any processContents="lax" namespace="##other" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisPropertyDecimal">
+ <xs:complexContent>
+ <xs:extension base="cmis:cmisProperty">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="value"
+ type="xs:decimal" />
+ <xs:any processContents="lax" namespace="##other" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisPropertyHtml">
+ <xs:complexContent>
+ <xs:extension base="cmis:cmisProperty">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="value"
+ type="xs:string" />
+ <xs:any processContents="lax" namespace="##other" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+ <xs:complexType name="cmisPropertyString">
+ <xs:complexContent>
+ <xs:extension base="cmis:cmisProperty">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="value"
+ type="xs:string" />
+ <xs:any processContents="lax" namespace="##other" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisPropertyUri">
+ <xs:complexContent>
+ <xs:extension base="cmis:cmisProperty">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="value"
+ type="xs:anyURI" />
+ <xs:any processContents="lax" namespace="##other" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+ <!-- cmis choice -->
+ <xs:complexType name="cmisChoice">
+ <xs:attribute name="displayName" use="required" />
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+ <xs:complexType name="cmisChoiceBoolean">
+ <xs:complexContent>
+ <xs:extension base="cmis:cmisChoice">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="value"
+ type="xs:boolean" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="choice"
+ type="cmis:cmisChoiceBoolean" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisChoiceId">
+ <xs:complexContent>
+ <xs:extension base="cmis:cmisChoice">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="value"
+ type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="choice"
+ type="cmis:cmisChoiceId" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisChoiceInteger">
+ <xs:complexContent>
+ <xs:extension base="cmis:cmisChoice">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="value"
+ type="xs:integer" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="choice"
+ type="cmis:cmisChoiceInteger" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisChoiceDateTime">
+ <xs:complexContent>
+ <xs:extension base="cmis:cmisChoice">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="value"
+ type="xs:dateTime" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="choice"
+ type="cmis:cmisChoiceDateTime" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisChoiceDecimal">
+ <xs:complexContent>
+ <xs:extension base="cmis:cmisChoice">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="value"
+ type="xs:decimal" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="choice"
+ type="cmis:cmisChoiceDecimal" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisChoiceHtml">
+ <xs:complexContent>
+ <xs:extension base="cmis:cmisChoice">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="value"
+ type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="choice"
+ type="cmis:cmisChoiceHtml" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <xs:complexType name="cmisChoiceString">
+ <xs:complexContent>
+ <xs:extension base="cmis:cmisChoice">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="value"
+ type="xs:string" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="choice"
+ type="cmis:cmisChoiceString" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisChoiceUri">
+ <xs:complexContent>
+ <xs:extension base="cmis:cmisChoice">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="value"
+ type="xs:anyURI" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="choice"
+ type="cmis:cmisChoiceUri" />
+ </xs:sequence>
+
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+ <!-- allowable actions -->
+ <xs:complexType name="cmisAllowableActionsType">
+ <xs:sequence>
+ <xs:element name="canDeleteObject" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="canUpdateProperties" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="canGetFolderTree" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="canGetProperties" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="canGetObjectRelationships" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="canGetObjectParents" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="canGetFolderParent" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="canGetDescendants" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="canMoveObject" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="canDeleteContentStream" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="canCheckOut" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="canCancelCheckOut" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="canCheckIn" type="xs:boolean" minOccurs="0"
+ maxOccurs="1" />
+ <xs:element name="canSetContentStream" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="canGetAllVersions" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="canAddObjectToFolder" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="canRemoveObjectFromFolder" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="canGetContentStream" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="canApplyPolicy" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="canGetAppliedPolicies" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="canRemovePolicy" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="canGetChildren" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="canCreateDocument" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="canCreateFolder" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="canCreateRelationship" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="canDeleteTree" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" />
+
+ <!-- renditions -->
+ <xs:element name="canGetRenditions" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" />
+
+ <!-- ACL -->
+ <xs:element name="canGetACL" type="xs:boolean" minOccurs="0"
+ maxOccurs="1" />
+ <xs:element name="canApplyACL" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" />
+
+ <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"
+ processContents="lax" />
+ </xs:sequence>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+
+
+ <xs:complexType name="cmisListOfIdsType">
+ <xs:sequence>
+ <xs:element name="id" type="xs:string" minOccurs="1"
+ maxOccurs="unbounded" />
+
+ <!-- extension -->
+ <xs:any processContents="lax" namespace="##other" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+
+
+ <!-- Property Attributes -->
+ <xs:complexType name="cmisPropertyDefinitionType">
+ <xs:sequence>
+ <xs:element name="id" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="localName" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="localNamespace" type="xs:anyURI"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="displayName" type="xs:string" minOccurs="0"
+ maxOccurs="1" />
+ <xs:element name="queryName" type="xs:string" minOccurs="0"
+ maxOccurs="1" />
+ <xs:element name="description" type="xs:string" minOccurs="0"
+ maxOccurs="1" />
+ <xs:element name="propertyType" type="cmis:enumPropertyType"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="cardinality" type="cmis:enumCardinality"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="updatability" type="cmis:enumUpdatability"
+ minOccurs="1" maxOccurs="1" />
+
+ <!-- flags -->
+ <xs:element name="inherited" type="xs:boolean" minOccurs="0"
+ maxOccurs="1" />
+ <xs:element name="required" type="xs:boolean" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="queryable" type="xs:boolean" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="orderable" type="xs:boolean" minOccurs="1"
+ maxOccurs="1" />
+
+ <xs:element name="openChoice" type="xs:boolean" minOccurs="0"
+ maxOccurs="1" />
+
+ <!-- extension -->
+ <xs:any processContents="lax" namespace="##other" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+
+ <!-- type specific definitions -->
+ <xs:complexType name="cmisPropertyBooleanDefinitionType">
+ <xs:complexContent>
+ <xs:extension base="cmis:cmisPropertyDefinitionType">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="1" name="defaultValue"
+ type="cmis:cmisPropertyBoolean" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="choice"
+ type="cmis:cmisChoiceBoolean" />
+
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisPropertyIdDefinitionType">
+ <xs:complexContent>
+ <xs:extension base="cmis:cmisPropertyDefinitionType">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="1" name="defaultValue"
+ type="cmis:cmisPropertyId" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="choice"
+ type="cmis:cmisChoiceId" />
+
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisPropertyIntegerDefinitionType">
+ <xs:complexContent>
+ <xs:extension base="cmis:cmisPropertyDefinitionType">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="1" name="defaultValue"
+ type="cmis:cmisPropertyInteger" />
+ <xs:element name="maxValue" type="xs:integer" minOccurs="0"
+ maxOccurs="1" />
+ <xs:element name="minValue" type="xs:integer" minOccurs="0"
+ maxOccurs="1" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="choice"
+ type="cmis:cmisChoiceInteger" />
+
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisPropertyDateTimeDefinitionType">
+ <xs:complexContent>
+ <xs:extension base="cmis:cmisPropertyDefinitionType">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="1" name="defaultValue"
+ type="cmis:cmisPropertyDateTime" />
+ <xs:element minOccurs="0" maxOccurs="1" name="resolution"
+ type="cmis:enumDateTimeResolution" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="choice"
+ type="cmis:cmisChoiceDateTime" />
+
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisPropertyDecimalDefinitionType">
+ <xs:complexContent>
+ <xs:extension base="cmis:cmisPropertyDefinitionType">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="1" name="defaultValue"
+ type="cmis:cmisPropertyDecimal" />
+ <xs:element name="maxValue" type="xs:decimal" minOccurs="0"
+ maxOccurs="1" />
+ <xs:element name="minValue" type="xs:decimal" minOccurs="0"
+ maxOccurs="1" />
+ <xs:element name="precision" type="cmis:enumDecimalPrecision"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="choice"
+ type="cmis:cmisChoiceDecimal" />
+
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisPropertyHtmlDefinitionType">
+ <xs:complexContent>
+ <xs:extension base="cmis:cmisPropertyDefinitionType">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="1" name="defaultValue"
+ type="cmis:cmisPropertyHtml" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="choice"
+ type="cmis:cmisChoiceHtml" />
+
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisPropertyStringDefinitionType">
+ <xs:complexContent>
+ <xs:extension base="cmis:cmisPropertyDefinitionType">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="1" name="defaultValue"
+ type="cmis:cmisPropertyString" />
+ <xs:element name="maxLength" type="xs:integer"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="choice"
+ type="cmis:cmisChoiceString" />
+
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisPropertyUriDefinitionType">
+ <xs:complexContent>
+ <xs:extension base="cmis:cmisPropertyDefinitionType">
+ <xs:sequence>
+ <xs:element minOccurs="0" maxOccurs="1" name="defaultValue"
+ type="cmis:cmisPropertyUri" />
+ <xs:element minOccurs="0" maxOccurs="unbounded" name="choice"
+ type="cmis:cmisChoiceUri" />
+
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+
+ <!-- type definition -->
+ <xs:complexType name="cmisTypeDefinitionType">
+ <xs:sequence>
+ <!-- primary identifying attribute -->
+ <xs:element name="id" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="localName" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="localNamespace" type="xs:anyURI"
+ minOccurs="1" maxOccurs="1" nillable="true" />
+ <xs:element name="displayName" type="xs:string" minOccurs="0"
+ maxOccurs="1" />
+ <xs:element name="queryName" type="xs:string" minOccurs="0"
+ maxOccurs="1" />
+ <xs:element name="description" type="xs:string" minOccurs="0"
+ maxOccurs="1" />
+
+ <!-- base type -->
+ <xs:element name="baseId" type="cmis:enumBaseObjectTypeIds"
+ minOccurs="1" maxOccurs="1" />
+
+ <!-- parent -->
+ <xs:element name="parentId" type="xs:string" minOccurs="0"
+ maxOccurs="1">
+ <xs:annotation>
+ <xs:documentation>
+ This is the id for the parent type definition. If
+ this is a base type,
+ this is not present.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <!-- flags -->
+ <xs:element name="creatable" type="xs:boolean" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="fileable" type="xs:boolean" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="queryable" type="xs:boolean" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="fulltextIndexed" type="xs:boolean"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="includedInSupertypeQuery" type="xs:boolean"
+ minOccurs="1" maxOccurs="1" default="true" />
+
+ <!-- controllable -->
+ <xs:element name="controllablePolicy" type="xs:boolean"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="controllableACL" type="xs:boolean"
+ minOccurs="1" maxOccurs="1" />
+
+ <!-- property definitions -->
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:appinfo>
+ <jaxb:property name="propertyDefinition" />
+ </xs:appinfo>
+ </xs:annotation>
+ <xs:element name="propertyBooleanDefinition" type="cmis:cmisPropertyBooleanDefinitionType" />
+ <xs:element name="propertyDateTimeDefinition"
+ type="cmis:cmisPropertyDateTimeDefinitionType" />
+ <xs:element name="propertyDecimalDefinition" type="cmis:cmisPropertyDecimalDefinitionType" />
+ <xs:element name="propertyIdDefinition" type="cmis:cmisPropertyIdDefinitionType" />
+ <xs:element name="propertyIntegerDefinition" type="cmis:cmisPropertyIntegerDefinitionType" />
+ <xs:element name="propertyHtmlDefinition" type="cmis:cmisPropertyHtmlDefinitionType" />
+ <xs:element name="propertyStringDefinition" type="cmis:cmisPropertyStringDefinitionType" />
+ <xs:element name="propertyUriDefinition" type="cmis:cmisPropertyUriDefinitionType" />
+ </xs:choice>
+
+ <!-- extension -->
+ <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"
+ processContents="lax" />
+ </xs:sequence>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+
+
+ <!-- type specific typedefs -->
+ <xs:complexType name="cmisTypeDocumentDefinitionType">
+ <xs:complexContent>
+ <xs:extension base="cmis:cmisTypeDefinitionType">
+ <xs:sequence>
+ <xs:element name="versionable" type="xs:boolean"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="contentStreamAllowed" type="cmis:enumContentStreamAllowed"
+ minOccurs="1" maxOccurs="1" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisTypeFolderDefinitionType">
+ <xs:complexContent>
+ <xs:extension base="cmis:cmisTypeDefinitionType">
+ <xs:sequence>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisTypeRelationshipDefinitionType">
+ <xs:complexContent>
+ <xs:extension base="cmis:cmisTypeDefinitionType">
+ <xs:sequence>
+ <xs:element name="allowedSourceTypes" type="xs:string"
+ minOccurs="0" maxOccurs="unbounded" />
+ <xs:element name="allowedTargetTypes" type="xs:string"
+ minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="cmisTypePolicyDefinitionType">
+ <xs:complexContent>
+ <xs:extension base="cmis:cmisTypeDefinitionType">
+ <xs:sequence>
+ </xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+
+ <!-- query -->
+ <xs:complexType name="cmisQueryType">
+ <xs:sequence>
+ <xs:element name="statement" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="searchAllVersions" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" />
+
+ <xs:element name="includeAllowableActions" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="includeRelationships" type="cmis:enumIncludeRelationships"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="renditionFilter" type="xs:string"
+ minOccurs="0" maxOccurs="1" />
+
+ <xs:element name="maxItems" type="xs:integer" minOccurs="0"
+ maxOccurs="1" />
+ <xs:element name="skipCount" type="xs:integer" minOccurs="0"
+ maxOccurs="1" />
+
+ <xs:any maxOccurs="unbounded" minOccurs="0" namespace="##other"
+ processContents="lax" />
+ </xs:sequence>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+
+
+
+ <!-- repository info -->
+ <xs:complexType name="cmisRepositoryInfoType">
+ <xs:sequence minOccurs="1">
+ <xs:element name="repositoryId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="repositoryName" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="repositoryDescription" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="vendorName" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="productName" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="productVersion" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="rootFolderId" type="xs:string" />
+ <xs:element name="latestChangeLogToken" type="xs:string"
+ minOccurs="0" />
+ <xs:element name="capabilities" type="cmis:cmisRepositoryCapabilitiesType"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="aclCapability" type="cmis:cmisACLCapabilityType"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="cmisVersionSupported" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="thinClientURI" type="xs:anyURI"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="changesIncomplete" type="xs:boolean"
+ maxOccurs="1" minOccurs="0" />
+ <xs:element name="changesOnType" type="cmis:enumBaseObjectTypeIds"
+ minOccurs="0" maxOccurs="unbounded" />
+
+ <xs:element name="principalAnonymous" type="xs:string"
+ minOccurs="0" maxOccurs="1">
+ <xs:annotation>
+ <xs:documentation>
+ If set, this field holds the principal who is
+ used for anonymous
+ access. This principal can then be passed to the
+ ACL services to
+ specify what permissions anonymous users should
+ have
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="principalAnyone" type="xs:string"
+ minOccurs="0" maxOccurs="1">
+ <xs:annotation>
+ <xs:documentation>
+ If set, this field holds the principal who is
+ used for everyone's access. This principal can then be passed to
+ the
+ ACL services to
+ specify what permissions everyone should
+ have
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:any namespace="##other" processContents="lax" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+
+ <xs:complexType name="cmisRepositoryCapabilitiesType">
+ <xs:sequence>
+ <xs:element name="capabilityACL" type="cmis:enumCapabilityACL"
+ maxOccurs="1" minOccurs="1" />
+ <xs:element name="capabilityAllVersionsSearchable" type="xs:boolean"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="capabilityChanges" type="cmis:enumCapabilityChanges" />
+
+ <xs:element name="capabilityContentStreamUpdatability"
+ type="cmis:enumCapabilityContentStreamUpdates" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="capabilityGetDescendants" type="xs:boolean"
+ maxOccurs="1" minOccurs="1" />
+ <xs:element name="capabilityGetFolderTree" type="xs:boolean"
+ maxOccurs="1" minOccurs="1" />
+
+ <xs:element name="capabilityMultifiling" type="xs:boolean"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="capabilityPWCSearchable" type="xs:boolean"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="capabilityPWCUpdatable" type="xs:boolean"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="capabilityQuery" type="cmis:enumCapabilityQuery"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="capabilityRenditions" type="cmis:enumCapabilityRendition"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="capabilityUnfiling" type="xs:boolean"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="capabilityVersionSpecificFiling" type="xs:boolean"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="capabilityJoin" type="cmis:enumCapabilityJoin"
+ minOccurs="1" maxOccurs="1" />
+
+ <!-- extension -->
+ <xs:any namespace="##other" processContents="skip" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+
+ <!-- Unified Search -->
+ <xs:simpleType name="enumTypeOfChanges">
+ <xs:restriction base="xs:string">
+ <!-- content with a new ID has been created -->
+ <xs:enumeration value="created" />
+ <!-- content with an existing ID has been modified -->
+ <xs:enumeration value="updated" />
+ <!-- content with an existing ID has been deleted -->
+ <xs:enumeration value="deleted" />
+ <!-- content with an existing ID has had its security policy changed-->
+ <xs:enumeration value="security" />
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="enumCapabilityChanges">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="none" />
+ <xs:enumeration value="objectidsonly" />
+ <xs:enumeration value="properties" />
+ <xs:enumeration value="all" />
+ </xs:restriction>
+ </xs:simpleType>
+
+
+
+ <xs:complexType name="cmisChangeEventType">
+ <xs:sequence>
+ <xs:element name="changeType" type="cmis:enumTypeOfChanges" />
+ <xs:element name="changeTime" type="xs:dateTime" />
+
+ <!-- extension -->
+ <xs:any processContents="lax" namespace="##other" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+
+ <!-- ACL -->
+ <xs:simpleType name="enumACLPropagation">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="repositorydetermined" />
+ <xs:enumeration value="objectonly" />
+ <xs:enumeration value="propagate" />
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="enumCapabilityACL">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="none" />
+ <xs:enumeration value="discover" />
+ <xs:enumeration value="manage" />
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="enumBasicPermissions">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="cmis:read" />
+ <xs:enumeration value="cmis:write" />
+ <xs:enumeration value="cmis:all" />
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:complexType name="cmisPermissionDefinition">
+ <xs:sequence>
+ <xs:element name="permission" type="xs:string" />
+ <xs:element name="description" type="xs:string" minOccurs="0"
+ maxOccurs="1" />
+ <xs:any namespace="##other" minOccurs="0" processContents="lax"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="cmisPermissionMapping">
+ <xs:sequence>
+ <xs:element name="key" type="cmis:enumAllowableActionsKey"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="permission" type="xs:string" minOccurs="1"
+ maxOccurs="unbounded">
+ <xs:annotation>
+ <xs:documentation>
+ Multiple entries are OR'ed together. Any
+ permission that specified is
+ sufficient to provide rights required
+ in key
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"
+ processContents="lax" />
+ </xs:sequence>
+ </xs:complexType>
+
+
+ <xs:simpleType name="enumAllowableActionsKey">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="canGetDescendents.Folder" />
+ <xs:enumeration value="canGetChildren.Folder" />
+ <xs:enumeration value="canGetParents.Folder" />
+ <xs:enumeration value="canGetFolderParent.Object" />
+ <xs:enumeration value="canCreateDocument.Folder" />
+ <xs:enumeration value="canCreateFolder.Folder" />
+ <xs:enumeration value="canCreateRelationship.Source" />
+ <xs:enumeration value="canCreateRelationship.Target" />
+ <xs:enumeration value="canGetProperties.Object" />
+ <xs:enumeration value="canViewContent.Object" />
+ <xs:enumeration value="canUpdateProperties.Object" />
+ <xs:enumeration value="canMove.Object" />
+ <xs:enumeration value="canMove.Target" />
+ <xs:enumeration value="canMove.Source" />
+ <xs:enumeration value="canDelete.Object" />
+ <xs:enumeration value="canDeleteTree.Folder" />
+ <xs:enumeration value="canSetContent.Document" />
+ <xs:enumeration value="canDeleteContent.Document" />
+ <xs:enumeration value="canAddToFolder.Object" />
+ <xs:enumeration value="canAddToFolder.Folder" />
+ <xs:enumeration value="canRemoveFromFolder.Object" />
+ <xs:enumeration value="canRemoveFromFolder.Folder" />
+ <xs:enumeration value="canCheckout.Document" />
+ <xs:enumeration value="canCancelCheckout.Document" />
+ <xs:enumeration value="canCheckin.Document" />
+ <xs:enumeration value="canGetAllVersions.VersionSeries" />
+ <xs:enumeration value="canGetObjectRelationships.Object" />
+ <xs:enumeration value="canAddPolicy.Object" />
+ <xs:enumeration value="canAddPolicy.Policy" />
+ <xs:enumeration value="canRemovePolicy.Object" />
+ <xs:enumeration value="canRemovePolicy.Policy" />
+ <xs:enumeration value="canGetAppliedPolicies.Object" />
+ <xs:enumeration value="canGetACL.Object" />
+ <xs:enumeration value="canApplyACL.Object" />
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="enumUsers">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="cmis:user">
+ <xs:annotation>
+ <xs:documentation>
+ This user can be used on setting ACLs to specify
+ the permission this
+ user context should have.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <!-- ACL on objects -->
+ <xs:complexType name="cmisAccessControlPrincipalType">
+ <xs:sequence>
+ <xs:element name="principalId" type="xs:string" />
+
+ <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"
+ processContents="lax" />
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="cmisAccessControlEntryType">
+ <xs:sequence>
+ <xs:element name="principal" type="cmis:cmisAccessControlPrincipalType" />
+ <xs:element name="permission" type="xs:string" minOccurs="1"
+ maxOccurs="unbounded" />
+ <xs:element name="direct" type="xs:boolean" />
+
+ <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"
+ processContents="lax" />
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="cmisAccessControlListType">
+ <xs:sequence>
+ <xs:element name="permission" type="cmis:cmisAccessControlEntryType"
+ minOccurs="1" maxOccurs="unbounded" />
+ <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"
+ processContents="lax" />
+ </xs:sequence>
+ </xs:complexType>
+
+
+ <xs:complexType name="cmisACLCapabilityType">
+ <xs:sequence>
+ <xs:element name="supportedPermissions" type="cmis:enumSupportedPermissions" />
+ <xs:element name="propagation" type="cmis:enumACLPropagation" />
+ <xs:element name="permissions" type="cmis:cmisPermissionDefinition"
+ minOccurs="1" maxOccurs="unbounded" />
+ <xs:element name="mapping" type="cmis:cmisPermissionMapping"
+ minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:simpleType name="enumSupportedPermissions">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="basic" />
+ <xs:enumeration value="repository" />
+ <xs:enumeration value="both" />
+ </xs:restriction>
+ </xs:simpleType>
+
+ <!-- renditions -->
+ <xs:simpleType name="enumCapabilityRendition">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="none" />
+ <xs:enumeration value="read" />
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="enumRenditionKind">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="cmis:thumbnail" />
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:complexType name="cmisRenditionType">
+ <xs:sequence>
+ <xs:element name="streamId" type="xs:string" />
+ <xs:element name="mimetype" type="xs:string" />
+ <xs:element name="length" type="xs:integer" />
+ <xs:element name="kind" type="xs:string" />
+ <xs:element name="title" type="xs:string" minOccurs="0" />
+ <xs:element name="height" type="xs:integer" minOccurs="0" />
+ <xs:element name="width" type="xs:integer" minOccurs="0" />
+ <xs:element name="renditionDocumentId" type="xs:string"
+ minOccurs="0" />
+
+ <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"
+ processContents="lax" />
+ </xs:sequence>
+ </xs:complexType>
+
+
+ <!-- elements -->
+ <xs:element name="allowableActions" type="cmis:cmisAllowableActionsType">
+ <xs:annotation>
+ <xs:documentation>
+ This is the root tag for a CMIS AllowableActions
+ Document Type
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="query" type="cmis:cmisQueryType">
+ <xs:annotation>
+ <xs:documentation>
+ This is the root tag for a CMIS Query Document Type
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="acl" type="cmis:cmisAccessControlListType">
+ <xs:annotation>
+ <xs:documentation>
+ This is the root tag for a CMIS ACL Document Type
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+</xs:schema>
+ <!-- EOF -->
\ No newline at end of file
diff --git a/DotCMIS/wsdl/CMIS-Messaging.xsd b/DotCMIS/wsdl/CMIS-Messaging.xsd
new file mode 100644
index 0000000..a6ad787
--- /dev/null
+++ b/DotCMIS/wsdl/CMIS-Messaging.xsd
@@ -0,0 +1,2072 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+ <!--
+ Licensed under the Apache License, Version 2.0 (the "License"); you
+ may not use this file except in compliance with the License. You may
+ obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0 Unless required by
+ applicable law or agreed to in writing, software distributed under the
+ License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
+ CONDITIONS OF ANY KIND, either express or implied. See the License for
+ the specific language governing permissions and limitations under the
+ License.
+ -->
+
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/"
+ xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/"
+ xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/"
+ xmlns:jaxb="http://java.sun.com/xml/ns/jaxb" version="1.0"
+ xmlns:xjc="http://java.sun.com/xml/ns/jaxb/xjc"
+ jaxb:extensionBindingPrefixes="xjc" jaxb:version="2.1"
+ elementFormDefault="qualified">
+
+ <xs:import schemaLocation="CMIS-Core.xsd"
+ namespace="http://docs.oasis-open.org/ns/cmis/core/200908/" />
+
+ <!-- exceptions -->
+ <xs:complexType name="cmisFaultType">
+ <xs:sequence>
+ <xs:element name="type" type="cmism:enumServiceException" />
+ <xs:element name="code" type="xs:integer" />
+ <xs:element name="message" type="xs:string" />
+ <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" />
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:element name="cmisFault" type="cmism:cmisFaultType" />
+ <xs:simpleType name="enumServiceException">
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="constraint" />
+ <xs:enumeration value="nameConstraintViolation" />
+ <xs:enumeration value="contentAlreadyExists" />
+ <xs:enumeration value="filterNotValid" />
+ <xs:enumeration value="invalidArgument" />
+ <xs:enumeration value="notSupported" />
+ <xs:enumeration value="objectNotFound" />
+ <xs:enumeration value="permissionDenied" />
+ <xs:enumeration value="runtime" />
+ <xs:enumeration value="storage" />
+ <xs:enumeration value="streamNotSupported" />
+ <xs:enumeration value="updateConflict" />
+ <xs:enumeration value="versioning" />
+ </xs:restriction>
+ </xs:simpleType>
+
+ <!-- extension -->
+ <xs:complexType name="cmisExtensionType">
+ <xs:sequence>
+ <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" />
+ </xs:sequence>
+ </xs:complexType>
+
+ <!-- types for WS -->
+ <xs:complexType name="cmisTypeContainer">
+ <xs:sequence>
+ <xs:element name="type" type="cmis:cmisTypeDefinitionType"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="children" type="cmism:cmisTypeContainer"
+ minOccurs="0" maxOccurs="unbounded" />
+ <xs:any namespace="##other" processContents="lax" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+
+ <xs:complexType name="cmisTypeDefinitionListType">
+ <xs:sequence>
+ <xs:element name="types" type="cmis:cmisTypeDefinitionType"
+ minOccurs="0" maxOccurs="unbounded" />
+ <xs:element name="hasMoreItems" type="xs:boolean"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="numItems" type="xs:integer" minOccurs="0"
+ maxOccurs="1" />
+ <xs:any namespace="##other" processContents="lax" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+
+ <xs:complexType name="cmisObjectInFolderContainerType">
+ <xs:sequence>
+ <xs:element name="objectInFolder" type="cmism:cmisObjectInFolderType"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="children" type="cmism:cmisObjectInFolderContainerType"
+ minOccurs="0" maxOccurs="unbounded" />
+ <xs:any namespace="##other" processContents="lax" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+
+ <xs:complexType name="cmisObjectListType">
+ <xs:sequence>
+ <xs:element name="objects" type="cmis:cmisObjectType"
+ minOccurs="0" maxOccurs="unbounded" />
+ <xs:element name="hasMoreItems" type="xs:boolean"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="numItems" type="xs:integer" minOccurs="0"
+ maxOccurs="1" />
+ <xs:any namespace="##other" processContents="lax" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+
+ <xs:complexType name="cmisObjectInFolderType">
+ <xs:sequence>
+ <xs:element name="object" type="cmis:cmisObjectType"
+ minOccurs="1" maxOccurs="1"/>
+ <xs:element name="pathSegment" type="xs:string" minOccurs="0"
+ maxOccurs="1" />
+ <xs:any namespace="##other" processContents="lax" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+
+ <xs:complexType name="cmisObjectParentsType">
+ <xs:sequence>
+ <xs:element name="object" type="cmis:cmisObjectType"
+ minOccurs="1" maxOccurs="1"/>
+ <xs:element name="relativePathSegment" type="xs:string" minOccurs="0"
+ maxOccurs="1" />
+ <xs:any namespace="##other" processContents="lax" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+
+ <xs:complexType name="cmisObjectInFolderListType">
+ <xs:sequence>
+ <xs:element name="objects" type="cmism:cmisObjectInFolderType"
+ minOccurs="0" maxOccurs="unbounded" />
+ <xs:element name="hasMoreItems" type="xs:boolean"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="numItems" type="xs:integer" minOccurs="0"
+ maxOccurs="1" />
+ <xs:any namespace="##other" processContents="lax" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+
+ <xs:complexType name="cmisRepositoryEntryType">
+ <xs:sequence>
+ <xs:element name="repositoryId" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="repositoryName" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"
+ processContents="lax" />
+ </xs:sequence>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+
+ <xs:complexType name="cmisContentStreamType">
+ <xs:sequence>
+ <xs:element name="length" type="xs:integer" minOccurs="0" />
+ <xs:element name="mimeType" type="xs:string" minOccurs="0" />
+ <xs:element name="filename" type="xs:string" minOccurs="0" />
+ <xs:element name="stream" type="xs:base64Binary"
+ xmime:expectedContentTypes="application/octet-stream" xmlns:xmime="http://www.w3.org/2005/05/xmlmime" />
+ <xs:any namespace="##other" processContents="lax" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+
+ <xs:complexType name="cmisACLType">
+ <xs:sequence>
+ <xs:element name="ACL" type="cmis:cmisAccessControlListType"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="exact" type="xs:boolean"
+ minOccurs="0" maxOccurs="1"/>
+ <xs:any namespace="##other" processContents="lax" minOccurs="0"
+ maxOccurs="unbounded" />
+ </xs:sequence>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <!-- [Repository Services] -->
+
+ <!-- getRepositories Operation -->
+ <xs:element name="getRepositories">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getRepositoriesResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="repositories" type="cmism:cmisRepositoryEntryType"
+ minOccurs="0" maxOccurs="unbounded" nillable="true" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+
+ <!-- getRepositoryInfo Operation -->
+ <xs:element name="getRepositoryInfo">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="repositoryId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getRepositoryInfoResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="repositoryInfo" type="cmis:cmisRepositoryInfoType"
+ minOccurs="1" maxOccurs="1"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- getTypeChildren Operation -->
+ <xs:element name="getTypeChildren">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="repositoryId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="typeId" type="xs:string" minOccurs="0"
+ maxOccurs="1" nillable="true" />
+ <xs:element name="includePropertyDefinitions" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="maxItems" type="xs:integer" minOccurs="0"
+ maxOccurs="1" nillable="true" />
+ <xs:element name="skipCount" type="xs:integer" minOccurs="0"
+ maxOccurs="1" nillable="true" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getTypeChildrenResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="types" type="cmism:cmisTypeDefinitionListType"
+ minOccurs="1" maxOccurs="1" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- getTypeDescendants Operation -->
+ <xs:element name="getTypeDescendants">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="repositoryId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="typeId" type="xs:string" minOccurs="0"
+ maxOccurs="1" nillable="true" />
+ <xs:element name="depth" type="xs:integer" minOccurs="0"
+ maxOccurs="1" nillable="true" />
+ <xs:element name="includePropertyDefinitions" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getTypeDescendantsResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="types" type="cmism:cmisTypeContainer"
+ minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- getTypeDefinition Operation -->
+ <xs:element name="getTypeDefinition">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="repositoryId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="typeId" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getTypeDefinitionResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="type" type="cmis:cmisTypeDefinitionType"
+ minOccurs="0" maxOccurs="1" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <!-- [Navigation Services] -->
+
+ <!-- getDescendants Operation -->
+ <xs:element name="getDescendants">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="repositoryId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="folderId" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="depth" type="xs:integer" minOccurs="0"
+ maxOccurs="1" nillable="true" />
+ <xs:element name="filter" type="xs:string" minOccurs="0"
+ maxOccurs="1" nillable="true" />
+ <xs:element name="includeAllowableActions" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="includeRelationships" type="cmis:enumIncludeRelationships"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="renditionFilter" type="xs:string"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="includePathSegment" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getDescendantsResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="objects" type="cmism:cmisObjectInFolderContainerType"
+ minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- getDescendants Operation -->
+ <xs:element name="getFolderTree">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="repositoryId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="folderId" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="depth" type="xs:integer" minOccurs="0"
+ maxOccurs="1" nillable="true" />
+
+ <xs:element name="filter" type="xs:string" minOccurs="0"
+ maxOccurs="1" nillable="true" />
+ <xs:element name="includeAllowableActions" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="includeRelationships" type="cmis:enumIncludeRelationships"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="renditionFilter" type="xs:string"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="includePathSegment" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getFolderTreeResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="objects" type="cmism:cmisObjectInFolderContainerType"
+ minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- getChildren Operation -->
+ <xs:element name="getChildren">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="repositoryId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="folderId" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="filter" type="xs:string" minOccurs="0"
+ maxOccurs="1" nillable="true" />
+ <xs:element name="orderBy" type="xs:string" minOccurs="0"
+ maxOccurs="1" nillable="true" />
+
+ <xs:element name="includeAllowableActions" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="includeRelationships" type="cmis:enumIncludeRelationships"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="renditionFilter" type="xs:string"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="includePathSegment" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="maxItems" type="xs:integer" minOccurs="0"
+ maxOccurs="1" nillable="true" />
+ <xs:element name="skipCount" type="xs:integer" minOccurs="0"
+ maxOccurs="1" nillable="true" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getChildrenResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="objects" type="cmism:cmisObjectInFolderListType"
+ minOccurs="1" maxOccurs="1" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- getFolderParent Operation -->
+ <xs:element name="getFolderParent">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="repositoryId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="folderId" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="filter" type="xs:string" minOccurs="0"
+ maxOccurs="1" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getFolderParentResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="object" type="cmis:cmisObjectType"
+ minOccurs="1" maxOccurs="1" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- getObjectParents Operation-->
+ <xs:element name="getObjectParents">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="repositoryId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="objectId" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+
+ <xs:element name="filter" type="xs:string" minOccurs="0"
+ maxOccurs="1" nillable="true" />
+ <xs:element name="includeAllowableActions" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="includeRelationships" type="cmis:enumIncludeRelationships"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="renditionFilter" type="xs:string"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="includeRelativePathSegment" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getObjectParentsResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="parents" type="cmism:cmisObjectParentsType"
+ minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- getRenditions Operation -->
+ <xs:element name="getRenditions">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="repositoryId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="objectId" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="renditionFilter" type="xs:string"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="maxItems" type="xs:integer" minOccurs="0"
+ maxOccurs="1" nillable="true" />
+ <xs:element name="skipCount" type="xs:integer" minOccurs="0"
+ maxOccurs="1" nillable="true" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getRenditionsResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="renditions" type="cmis:cmisRenditionType"
+ minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- getCheckedoutDocs Operation -->
+ <xs:element name="getCheckedOutDocs">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="repositoryId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="folderId" type="xs:string" minOccurs="0"
+ maxOccurs="1" nillable="true" />
+
+ <xs:element name="filter" type="xs:string" minOccurs="0"
+ maxOccurs="1" nillable="true" />
+ <xs:element name="orderBy" type="xs:string" minOccurs="0"
+ maxOccurs="1" nillable="true" />
+ <xs:element name="includeAllowableActions" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="includeRelationships" type="cmis:enumIncludeRelationships"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="renditionFilter" type="xs:string"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="maxItems" type="xs:integer" minOccurs="0"
+ maxOccurs="1" nillable="true" />
+ <xs:element name="skipCount" type="xs:integer" minOccurs="0"
+ maxOccurs="1" nillable="true" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getCheckedOutDocsResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="objects" type="cmism:cmisObjectListType"
+ minOccurs="1" maxOccurs="1" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <!-- [Object Services] -->
+
+ <!-- createDocument Operation -->
+ <xs:element name="createDocument">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="repositoryId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="properties" type="cmis:cmisPropertiesType"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="folderId" type="xs:string" minOccurs="0"
+ maxOccurs="1" nillable="true" />
+ <xs:element name="contentStream" type="cmism:cmisContentStreamType"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="versioningState" type="cmis:enumVersioningState"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="policies" type="xs:string"
+ minOccurs="0" maxOccurs="unbounded" nillable="true" />
+ <xs:element name="addACEs" type="cmis:cmisAccessControlListType"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="removeACEs" type="cmis:cmisAccessControlListType"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="createDocumentResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="objectId" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- createDocumentFromSource Operation -->
+ <xs:element name="createDocumentFromSource">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="repositoryId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="sourceId" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="properties" type="cmis:cmisPropertiesType"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="folderId" type="xs:string" minOccurs="0"
+ maxOccurs="1" nillable="true" />
+ <xs:element name="versioningState" type="cmis:enumVersioningState"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="policies" type="xs:string"
+ minOccurs="0" maxOccurs="unbounded" nillable="true" />
+ <xs:element name="addACEs" type="cmis:cmisAccessControlListType"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="removeACEs" type="cmis:cmisAccessControlListType"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="createDocumentFromSourceResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="objectId" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- createFolder Operation -->
+ <xs:element name="createFolder">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="repositoryId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="properties" type="cmis:cmisPropertiesType"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="folderId" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="policies" type="xs:string"
+ minOccurs="0" maxOccurs="unbounded" nillable="true" />
+ <xs:element name="addACEs" type="cmis:cmisAccessControlListType"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="removeACEs" type="cmis:cmisAccessControlListType"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="createFolderResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="objectId" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- createRelationship Operation -->
+ <xs:element name="createRelationship">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="repositoryId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="properties" type="cmis:cmisPropertiesType"
+ minOccurs="1" maxOccurs="1" />
+
+ <xs:element name="policies" type="xs:string"
+ minOccurs="0" maxOccurs="unbounded" nillable="true" />
+ <xs:element name="addACEs" type="cmis:cmisAccessControlListType"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="removeACEs" type="cmis:cmisAccessControlListType"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="createRelationshipResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="objectId" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- createPolicy Operation -->
+ <xs:element name="createPolicy">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="repositoryId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="properties" type="cmis:cmisPropertiesType"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="folderId" type="xs:string" minOccurs="0"
+ maxOccurs="1" nillable="true" />
+ <xs:element name="policies" type="xs:string"
+ minOccurs="0" maxOccurs="unbounded" nillable="true" />
+ <xs:element name="addACEs" type="cmis:cmisAccessControlListType"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="removeACEs" type="cmis:cmisAccessControlListType"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="createPolicyResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="objectId" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- getAllowableActions Operation -->
+ <xs:element name="getAllowableActions">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="repositoryId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="objectId" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getAllowableActionsResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="allowableActions" type="cmis:cmisAllowableActionsType"
+ minOccurs="1" maxOccurs="1" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- getProperties Operation -->
+ <xs:element name="getProperties">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="repositoryId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="objectId" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="filter" type="xs:string" minOccurs="0"
+ maxOccurs="1" nillable="true" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getPropertiesResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="properties" type="cmis:cmisPropertiesType"
+ minOccurs="1" maxOccurs="1" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- getObject Operation -->
+ <xs:element name="getObject">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="repositoryId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="objectId" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+
+ <xs:element name="filter" type="xs:string"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="includeAllowableActions" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="includeRelationships" type="cmis:enumIncludeRelationships"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="renditionFilter" type="xs:string"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="includePolicyIds" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="includeACL" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getObjectResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="object" type="cmis:cmisObjectType"
+ minOccurs="1" maxOccurs="1" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- getObjectByPath Operation -->
+ <xs:element name="getObjectByPath">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="repositoryId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="path" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+
+ <xs:element name="filter" type="xs:string"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="includeAllowableActions" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="includeRelationships" type="cmis:enumIncludeRelationships"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="renditionFilter" type="xs:string"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="includePolicyIds" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="includeACL" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getObjectByPathResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="object" type="cmis:cmisObjectType"
+ minOccurs="1" maxOccurs="1" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- getContentStream Operation -->
+ <xs:element name="getContentStream">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="repositoryId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="objectId" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="streamId" type="xs:string" minOccurs="0"
+ maxOccurs="1" nillable="true" />
+ <xs:element name="offset" type="xs:integer" minOccurs="0"
+ maxOccurs="1" nillable="true" />
+ <xs:element name="length" type="xs:integer" minOccurs="0"
+ maxOccurs="1" nillable="true" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getContentStreamResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="contentStream" type="cmism:cmisContentStreamType"
+ minOccurs="1" maxOccurs="1" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- updateProperties Operation -->
+ <xs:element name="updateProperties">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="repositoryId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="objectId" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <!--
+ if objectId is present in the properties the value must match this
+ objectId
+ -->
+ <xs:element name="changeToken" type="xs:string"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="properties" type="cmis:cmisPropertiesType"
+ minOccurs="1" maxOccurs="1" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="updatePropertiesResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="objectId" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="changeToken" type="xs:string"
+ minOccurs="0" maxOccurs="1" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- moveObject Operation -->
+ <xs:element name="moveObject">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="repositoryId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="objectId" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="targetFolderId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="sourceFolderId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="moveObjectResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="objectId" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- deleteObject Operation -->
+ <xs:element name="deleteObject">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="repositoryId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="objectId" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="allVersions" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="deleteObjectResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- deleteTree Operation -->
+ <xs:element name="deleteTree">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="repositoryId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="folderId" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="allVersions" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="unfileObjects" type="cmis:enumUnfileObject"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="continueOnFailure" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="deleteTreeResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="failedToDelete">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="objectIds" type="xs:string"
+ minOccurs="0" maxOccurs="unbounded" />
+ <xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"
+ processContents="lax" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- setContentStream Operation -->
+ <xs:element name="setContentStream">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="repositoryId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="objectId" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="overwriteFlag" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="changeToken" type="xs:string"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="contentStream" type="cmism:cmisContentStreamType"
+ minOccurs="1" maxOccurs="1" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="setContentStreamResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="objectId" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="changeToken" type="xs:string"
+ minOccurs="0" maxOccurs="1" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- deleteContentStream Operation -->
+ <xs:element name="deleteContentStream">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="repositoryId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="objectId" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="changeToken" type="xs:string"
+ minOccurs="0" maxOccurs="1" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="deleteContentStreamResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="objectId" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="changeToken" type="xs:string"
+ minOccurs="0" maxOccurs="1" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <!--[Multi-filing Services]-->
+
+ <!-- addObjectToFolder Operation -->
+ <xs:element name="addObjectToFolder">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="repositoryId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="objectId" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="folderId" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="allVersions" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="addObjectToFolderResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- removeObjectFromFolder Operation -->
+ <xs:element name="removeObjectFromFolder">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="repositoryId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="objectId" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="folderId" type="xs:string" minOccurs="0"
+ maxOccurs="1" nillable="true" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="removeObjectFromFolderResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <!-- [Discovery Services] -->
+
+ <!-- query Operation -->
+ <xs:element name="query">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="repositoryId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="statement" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="searchAllVersions" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+
+ <xs:element name="includeAllowableActions" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="includeRelationships" type="cmis:enumIncludeRelationships"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="renditionFilter" type="xs:string"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="maxItems" type="xs:integer" minOccurs="0"
+ maxOccurs="1" nillable="true" />
+ <xs:element name="skipCount" type="xs:integer" minOccurs="0"
+ maxOccurs="1" nillable="true" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ <xs:attributeGroup ref="cmis:cmisUndefinedAttribute" />
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="queryResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="objects" type="cmism:cmisObjectListType"
+ minOccurs="1" maxOccurs="1" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- getContentChanges operation -->
+ <xs:element name="getContentChanges">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="repositoryId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="changeLogToken" type="xs:string"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="includeProperties" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="filter" type="xs:string" minOccurs="0"
+ maxOccurs="1" nillable="true" />
+ <xs:element name="includePolicyIds" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="includeACL" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="maxItems" type="xs:integer" minOccurs="0"
+ maxOccurs="1" nillable="true" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getContentChangesResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="objects" type="cmism:cmisObjectListType"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="changeLogToken" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <!-- [Versioning Services] -->
+
+ <!-- checkOut Operation -->
+ <xs:element name="checkOut">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="repositoryId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="objectId" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="checkOutResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="objectId" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="contentCopied" type="xs:boolean"
+ minOccurs="1" maxOccurs="1" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- cancelCheckOut Operation -->
+ <xs:element name="cancelCheckOut">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="repositoryId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="objectId" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="cancelCheckOutResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- checkIn Operation -->
+ <xs:element name="checkIn">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="repositoryId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="objectId" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="major" type="xs:boolean" minOccurs="0"
+ maxOccurs="1" nillable="true" />
+ <xs:element name="properties" type="cmis:cmisPropertiesType"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="contentStream" type="cmism:cmisContentStreamType"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="checkinComment" type="xs:string"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+
+ <xs:element name="policies" type="xs:string"
+ minOccurs="0" maxOccurs="unbounded" nillable="true" />
+ <xs:element name="addACEs" type="cmis:cmisAccessControlListType"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="removeACEs" type="cmis:cmisAccessControlListType"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="checkInResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="objectId" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- getPropertiesOfLatestVersion -->
+ <xs:element name="getPropertiesOfLatestVersion">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="repositoryId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="objectId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="major" type="xs:boolean" minOccurs="0"
+ maxOccurs="1" />
+ <xs:element name="filter" type="xs:string" minOccurs="0"
+ maxOccurs="1" nillable="true" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getPropertiesOfLatestVersionResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="properties" type="cmis:cmisPropertiesType"
+ minOccurs="1" maxOccurs="1" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- getObjectOfLatestVersion Operation -->
+ <xs:element name="getObjectOfLatestVersion">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="repositoryId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="objectId" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="major" type="xs:boolean" minOccurs="0"
+ maxOccurs="1" />
+ <xs:element name="filter" type="xs:string"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="includeAllowableActions" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="includeRelationships" type="cmis:enumIncludeRelationships"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="renditionFilter" type="xs:string"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="includePolicyIds" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="includeACL" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getObjectOfLatestVersionResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="object" type="cmis:cmisObjectType"
+ minOccurs="1" maxOccurs="1" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- getAllVersions Operation -->
+ <xs:element name="getAllVersions">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="repositoryId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="objectId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+
+ <xs:element name="filter" type="xs:string" minOccurs="0"
+ maxOccurs="1" nillable="true" />
+ <xs:element name="includeAllowableActions" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getAllVersionsResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="objects" type="cmis:cmisObjectType"
+ minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <!--[Relationship Services]-->
+
+ <!-- getRelationships Operation -->
+ <xs:element name="getObjectRelationships">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="repositoryId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="objectId" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="includeSubRelationshipTypes" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="relationshipDirection" type="cmis:enumRelationshipDirection"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+ <xs:element name="typeId" type="xs:string" minOccurs="0"
+ maxOccurs="1" nillable="true" />
+ <xs:element name="filter" type="xs:string" minOccurs="0"
+ maxOccurs="1" nillable="true" />
+
+ <xs:element name="includeAllowableActions" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+
+ <xs:element name="maxItems" type="xs:integer" minOccurs="0"
+ maxOccurs="1" nillable="true" />
+ <xs:element name="skipCount" type="xs:integer" minOccurs="0"
+ maxOccurs="1" nillable="true" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getObjectRelationshipsResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="objects" type="cmism:cmisObjectListType"
+ minOccurs="1" maxOccurs="1" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+ <!--[Policy Services]-->
+
+ <!-- applyPolicy Operation -->
+ <xs:element name="applyPolicy">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="repositoryId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="policyId" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="objectId" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="applyPolicyResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- removePolicy Operation -->
+ <xs:element name="removePolicy">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="repositoryId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="policyId" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="objectId" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="removePolicyResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- getAppliedPolicies Operation -->
+ <xs:element name="getAppliedPolicies">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="repositoryId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="objectId" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="filter" type="xs:string" minOccurs="0"
+ maxOccurs="1" nillable="true" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getAppliedPoliciesResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="objects" type="cmis:cmisObjectType"
+ minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- getACL Operation -->
+ <xs:element name="getACL">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="repositoryId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="objectId" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="onlyBasicPermissions" type="xs:boolean"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getACLResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="ACL" type="cmism:cmisACLType"
+ minOccurs="1" maxOccurs="1" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- applyACL Operation -->
+ <xs:element name="applyACL">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="repositoryId" type="xs:string"
+ minOccurs="1" maxOccurs="1" />
+ <xs:element name="objectId" type="xs:string" minOccurs="1"
+ maxOccurs="1" />
+ <xs:element name="addACEs" type="cmis:cmisAccessControlListType"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="removeACEs" type="cmis:cmisAccessControlListType"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="ACLPropagation" type="cmis:enumACLPropagation"
+ minOccurs="0" maxOccurs="1" nillable="true" />
+
+ <xs:element name="extension" type="cmism:cmisExtensionType"
+ minOccurs="0" maxOccurs="1" nillable="true">
+ <xs:annotation>
+ <xs:documentation>
+ This is an extension element to hold any
+ repository or
+ vendor-specific extensions
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="applyACLResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="ACL" type="cmism:cmisACLType"
+ minOccurs="1" maxOccurs="1" />
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+</xs:schema>
\ No newline at end of file
diff --git a/DotCMIS/wsdl/CMISWS-Service.wsdl b/DotCMIS/wsdl/CMISWS-Service.wsdl
new file mode 100644
index 0000000..b749511
--- /dev/null
+++ b/DotCMIS/wsdl/CMISWS-Service.wsdl
@@ -0,0 +1,1173 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+ <!--
+ Licensed under the Apache License, Version 2.0 (the "License"); you
+ may not use this file except in compliance with the License. You may
+ obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0 Unless required by
+ applicable law or agreed to in writing, software distributed under the
+ License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
+ CONDITIONS OF ANY KIND, either express or implied. See the License for
+ the specific language governing permissions and limitations under the
+ License.
+ -->
+
+<definitions xmlns:cmis="http://docs.oasis-open.org/ns/cmis/core/200908/"
+ xmlns:cmism="http://docs.oasis-open.org/ns/cmis/messaging/200908/"
+ xmlns:cmisw="http://docs.oasis-open.org/ns/cmis/ws/200908/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:ns="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://docs.oasis-open.org/ns/cmis/ws/200908/"
+ xmlns:jaxws="http://java.sun.com/xml/ns/jaxws" name="CMISWebServices">
+ <types>
+ <xsd:schema elementFormDefault="qualified"
+ targetNamespace="http://docs.oasis-open.org/ns/cmis/ws/200908/">
+ <xsd:import schemaLocation="CMIS-Core.xsd"
+ namespace="http://docs.oasis-open.org/ns/cmis/core/200908/" />
+ <xsd:import schemaLocation="CMIS-Messaging.xsd"
+ namespace="http://docs.oasis-open.org/ns/cmis/messaging/200908/" />
+ </xsd:schema>
+ </types>
+
+ <message name="cmisException">
+ <part name="fault" element="cmism:cmisFault" />
+ </message>
+
+ <message name="getACLRequest">
+ <part name="parameters" element="cmism:getACL" />
+ </message>
+ <message name="getACLResponse">
+ <part name="parameters" element="cmism:getACLResponse" />
+ </message>
+
+ <message name="applyACLRequest">
+ <part name="parameters" element="cmism:applyACL" />
+ </message>
+ <message name="applyACLResponse">
+ <part name="parameters" element="cmism:applyACLResponse" />
+ </message>
+
+ <message name="queryRequest">
+ <part name="parameters" element="cmism:query" />
+ </message>
+ <message name="queryResponse">
+ <part name="parameters" element="cmism:queryResponse" />
+ </message>
+ <message name="getContentChangesRequest">
+ <part name="parameters" element="cmism:getContentChanges" />
+ </message>
+ <message name="getContentChangesResponse">
+ <part name="parameters" element="cmism:getContentChangesResponse" />
+ </message>
+
+ <message name="addObjectToFolderRequest">
+ <part name="parameters" element="cmism:addObjectToFolder" />
+ </message>
+ <message name="addObjectToFolderResponse">
+ <part name="parameters" element="cmism:addObjectToFolderResponse" />
+ </message>
+ <message name="removeObjectFromFolderRequest">
+ <part name="parameters" element="cmism:removeObjectFromFolder" />
+ </message>
+ <message name="removeObjectFromFolderResponse">
+ <part name="parameters" element="cmism:removeObjectFromFolderResponse" />
+ </message>
+
+ <message name="getDescendantsRequest">
+ <part name="parameters" element="cmism:getDescendants" />
+ </message>
+ <message name="getDescendantsResponse">
+ <part name="parameters" element="cmism:getDescendantsResponse" />
+ </message>
+ <message name="getChildrenRequest">
+ <part name="parameters" element="cmism:getChildren" />
+ </message>
+ <message name="getChildrenResponse">
+ <part name="parameters" element="cmism:getChildrenResponse" />
+ </message>
+ <message name="getFolderParentRequest">
+ <part name="parameters" element="cmism:getFolderParent" />
+ </message>
+ <message name="getFolderParentResponse">
+ <part name="parameters" element="cmism:getFolderParentResponse" />
+ </message>
+ <message name="getObjectParentsRequest">
+ <part name="parameters" element="cmism:getObjectParents" />
+ </message>
+ <message name="getObjectParentsResponse">
+ <part name="parameters" element="cmism:getObjectParentsResponse" />
+ </message>
+ <message name="getRenditionsRequest">
+ <part name="parameters" element="cmism:getRenditions" />
+ </message>
+ <message name="getRenditionsResponse">
+ <part name="parameters" element="cmism:getRenditionsResponse" />
+ </message>
+ <message name="getCheckedOutDocsRequest">
+ <part name="parameters" element="cmism:getCheckedOutDocs" />
+ </message>
+ <message name="getCheckedOutDocsResponse">
+ <part name="parameters" element="cmism:getCheckedOutDocsResponse" />
+ </message>
+
+ <message name="createDocumentRequest">
+ <part name="parameters" element="cmism:createDocument" />
+ </message>
+ <message name="createDocumentResponse">
+ <part name="parameters" element="cmism:createDocumentResponse" />
+ </message>
+ <message name="createDocumentFromSourceRequest">
+ <part name="parameters" element="cmism:createDocumentFromSource" />
+ </message>
+ <message name="createDocumentFromSourceResponse">
+ <part name="parameters" element="cmism:createDocumentFromSourceResponse" />
+ </message>
+ <message name="createFolderRequest">
+ <part name="parameters" element="cmism:createFolder" />
+ </message>
+ <message name="createFolderResponse">
+ <part name="parameters" element="cmism:createFolderResponse" />
+ </message>
+ <message name="createRelationshipRequest">
+ <part name="parameters" element="cmism:createRelationship" />
+ </message>
+ <message name="createRelationshipResponse">
+ <part name="parameters" element="cmism:createRelationshipResponse" />
+ </message>
+ <message name="createPolicyRequest">
+ <part name="parameters" element="cmism:createPolicy" />
+ </message>
+ <message name="createPolicyResponse">
+ <part name="parameters" element="cmism:createPolicyResponse" />
+ </message>
+ <message name="getAllowableActionsRequest">
+ <part name="parameters" element="cmism:getAllowableActions" />
+ </message>
+ <message name="getAllowableActionsResponse">
+ <part name="parameters" element="cmism:getAllowableActionsResponse" />
+ </message>
+ <message name="getObjectRequest">
+ <part name="parameters" element="cmism:getObject" />
+ </message>
+ <message name="getObjectResponse">
+ <part name="parameters" element="cmism:getObjectResponse" />
+ </message>
+ <message name="getPropertiesRequest">
+ <part name="parameters" element="cmism:getProperties" />
+ </message>
+ <message name="getPropertiesResponse">
+ <part name="parameters" element="cmism:getPropertiesResponse" />
+ </message>
+
+ <message name="getObjectByPathRequest">
+ <part name="parameters" element="cmism:getObjectByPath" />
+ </message>
+ <message name="getObjectByPathResponse">
+ <part name="parameters" element="cmism:getObjectByPathResponse" />
+ </message>
+
+ <message name="getContentStreamRequest">
+ <part name="parameters" element="cmism:getContentStream" />
+ </message>
+ <message name="getContentStreamResponse">
+ <part name="parameters" element="cmism:getContentStreamResponse" />
+ </message>
+ <message name="updatePropertiesRequest">
+ <part name="parameters" element="cmism:updateProperties" />
+ </message>
+ <message name="updatePropertiesResponse">
+ <part name="parameters" element="cmism:updatePropertiesResponse" />
+ </message>
+ <message name="moveObjectRequest">
+ <part name="parameters" element="cmism:moveObject" />
+ </message>
+ <message name="moveObjectResponse">
+ <part name="parameters" element="cmism:moveObjectResponse" />
+ </message>
+ <message name="deleteObjectRequest">
+ <part name="parameters" element="cmism:deleteObject" />
+ </message>
+ <message name="deleteObjectResponse">
+ <part name="parameters" element="cmism:deleteObjectResponse" />
+ </message>
+ <message name="deleteTreeRequest">
+ <part name="parameters" element="cmism:deleteTree" />
+ </message>
+ <message name="deleteTreeResponse">
+ <part name="parameters" element="cmism:deleteTreeResponse" />
+ </message>
+ <message name="setContentStreamRequest">
+ <part name="parameters" element="cmism:setContentStream" />
+ </message>
+ <message name="setContentStreamResponse">
+ <part name="parameters" element="cmism:setContentStreamResponse" />
+ </message>
+ <message name="deleteContentStreamRequest">
+ <part name="parameters" element="cmism:deleteContentStream" />
+ </message>
+ <message name="deleteContentStreamResponse">
+ <part name="parameters" element="cmism:deleteContentStreamResponse" />
+ </message>
+
+ <message name="applyPolicyRequest">
+ <part name="parameters" element="cmism:applyPolicy" />
+ </message>
+ <message name="applyPolicyResponse">
+ <part name="parameters" element="cmism:applyPolicyResponse" />
+ </message>
+ <message name="removePolicyRequest">
+ <part name="parameters" element="cmism:removePolicy" />
+ </message>
+ <message name="removePolicyResponse">
+ <part name="parameters" element="cmism:removePolicyResponse" />
+ </message>
+ <message name="getAppliedPoliciesRequest">
+ <part name="parameters" element="cmism:getAppliedPolicies" />
+ </message>
+ <message name="getAppliedPoliciesResponse">
+ <part name="parameters" element="cmism:getAppliedPoliciesResponse" />
+ </message>
+
+ <message name="getObjectRelationshipsRequest">
+ <part name="parameters" element="cmism:getObjectRelationships" />
+ </message>
+ <message name="getObjectRelationshipsResponse">
+ <part name="parameters" element="cmism:getObjectRelationshipsResponse" />
+ </message>
+
+ <message name="getRepositoriesRequest">
+ <part name="parameters" element="cmism:getRepositories" />
+ </message>
+ <message name="getRepositoriesResponse">
+ <part name="parameters" element="cmism:getRepositoriesResponse" />
+ </message>
+ <message name="getRepositoryInfoRequest">
+ <part name="parameters" element="cmism:getRepositoryInfo" />
+ </message>
+ <message name="getRepositoryInfoResponse">
+ <part name="parameters" element="cmism:getRepositoryInfoResponse" />
+ </message>
+ <message name="getTypeChildrenRequest">
+ <part name="parameters" element="cmism:getTypeChildren" />
+ </message>
+ <message name="getTypeChildrenResponse">
+ <part name="parameters" element="cmism:getTypeChildrenResponse" />
+ </message>
+ <message name="getTypeDescendantsRequest">
+ <part name="parameters" element="cmism:getTypeDescendants" />
+ </message>
+ <message name="getTypeDescendantsResponse">
+ <part name="parameters" element="cmism:getTypeDescendantsResponse" />
+ </message>
+ <message name="getTypeDefinitionRequest">
+ <part name="parameters" element="cmism:getTypeDefinition" />
+ </message>
+ <message name="getTypeDefinitionResponse">
+ <part name="parameters" element="cmism:getTypeDefinitionResponse" />
+ </message>
+
+ <message name="checkOutRequest">
+ <part name="parameters" element="cmism:checkOut" />
+ </message>
+ <message name="checkOutResponse">
+ <part name="parameters" element="cmism:checkOutResponse" />
+ </message>
+ <message name="cancelCheckOutRequest">
+ <part name="parameters" element="cmism:cancelCheckOut" />
+ </message>
+ <message name="cancelCheckOutResponse">
+ <part name="parameters" element="cmism:cancelCheckOutResponse" />
+ </message>
+ <message name="checkInRequest">
+ <part name="parameters" element="cmism:checkIn" />
+ </message>
+ <message name="checkInResponse">
+ <part name="parameters" element="cmism:checkInResponse" />
+ </message>
+ <message name="getObjectOfLatestVersionRequest">
+ <part name="parameters" element="cmism:getObjectOfLatestVersion" />
+ </message>
+ <message name="getObjectOfLatestVersionResponse">
+ <part name="parameters" element="cmism:getObjectOfLatestVersionResponse" />
+ </message>
+ <message name="getPropertiesOfLatestVersionRequest">
+ <part name="parameters" element="cmism:getPropertiesOfLatestVersion" />
+ </message>
+ <message name="getPropertiesOfLatestVersionResponse">
+ <part name="parameters" element="cmism:getPropertiesOfLatestVersionResponse" />
+ </message>
+ <message name="getAllVersionsRequest">
+ <part name="parameters" element="cmism:getAllVersions" />
+ </message>
+ <message name="getAllVersionsResponse">
+ <part name="parameters" element="cmism:getAllVersionsResponse" />
+ </message>
+
+ <message name="getFolderTreeRequest">
+ <part name="parameters" element="cmism:getFolderTree" />
+ </message>
+ <message name="getFolderTreeResponse">
+ <part name="parameters" element="cmism:getFolderTreeResponse" />
+ </message>
+
+ <portType name="DiscoveryServicePort">
+ <operation name="query">
+ <input message="cmisw:queryRequest" />
+ <output message="cmisw:queryResponse" />
+ <fault message="cmisw:cmisException" name="cmisException" />
+ </operation>
+ <operation name="getContentChanges">
+ <input message="cmisw:getContentChangesRequest" />
+ <output message="cmisw:getContentChangesResponse" />
+ <fault message="cmisw:cmisException" name="cmisException" />
+ </operation>
+ </portType>
+
+ <portType name="MultiFilingServicePort">
+ <operation name="addObjectToFolder">
+ <input message="cmisw:addObjectToFolderRequest" />
+ <output message="cmisw:addObjectToFolderResponse" />
+ <fault message="cmisw:cmisException" name="cmisException" />
+ </operation>
+ <operation name="removeObjectFromFolder">
+ <input message="cmisw:removeObjectFromFolderRequest" />
+ <output message="cmisw:removeObjectFromFolderResponse" />
+ <fault message="cmisw:cmisException" name="cmisException" />
+ </operation>
+ </portType>
+ <portType name="NavigationServicePort">
+ <operation name="getDescendants">
+ <input message="cmisw:getDescendantsRequest" />
+ <output message="cmisw:getDescendantsResponse" />
+ <fault message="cmisw:cmisException" name="cmisException" />
+ </operation>
+ <operation name="getChildren">
+ <input message="cmisw:getChildrenRequest" />
+ <output message="cmisw:getChildrenResponse" />
+ <fault message="cmisw:cmisException" name="cmisException" />
+ </operation>
+ <operation name="getFolderParent">
+ <input message="cmisw:getFolderParentRequest" />
+ <output message="cmisw:getFolderParentResponse" />
+ <fault message="cmisw:cmisException" name="cmisException" />
+ </operation>
+ <operation name="getFolderTree">
+ <input message="cmisw:getFolderTreeRequest" />
+ <output message="cmisw:getFolderTreeResponse" />
+ <fault message="cmisw:cmisException" name="cmisException" />
+ </operation>
+ <operation name="getObjectParents">
+ <input message="cmisw:getObjectParentsRequest" />
+ <output message="cmisw:getObjectParentsResponse" />
+ <fault message="cmisw:cmisException" name="cmisException" />
+ </operation>
+ <operation name="getCheckedOutDocs">
+ <input message="cmisw:getCheckedOutDocsRequest" />
+ <output message="cmisw:getCheckedOutDocsResponse" />
+ <fault message="cmisw:cmisException" name="cmisException" />
+ </operation>
+ </portType>
+ <portType name="ObjectServicePort">
+ <operation name="createDocument">
+ <input message="cmisw:createDocumentRequest" />
+ <output message="cmisw:createDocumentResponse" />
+ <fault message="cmisw:cmisException" name="cmisException" />
+ </operation>
+ <operation name="createDocumentFromSource">
+ <input message="cmisw:createDocumentFromSourceRequest" />
+ <output message="cmisw:createDocumentFromSourceResponse" />
+ <fault message="cmisw:cmisException" name="cmisException" />
+ </operation>
+ <operation name="createFolder">
+ <input message="cmisw:createFolderRequest" />
+ <output message="cmisw:createFolderResponse" />
+ <fault message="cmisw:cmisException" name="cmisException" />
+ </operation>
+ <operation name="createRelationship">
+ <input message="cmisw:createRelationshipRequest" />
+ <output message="cmisw:createRelationshipResponse" />
+ <fault message="cmisw:cmisException" name="cmisException" />
+ </operation>
+ <operation name="createPolicy">
+ <input message="cmisw:createPolicyRequest" />
+ <output message="cmisw:createPolicyResponse" />
+ <fault message="cmisw:cmisException" name="cmisException" />
+ </operation>
+ <operation name="getAllowableActions">
+ <input message="cmisw:getAllowableActionsRequest" />
+ <output message="cmisw:getAllowableActionsResponse" />
+ <fault message="cmisw:cmisException" name="cmisException" />
+ </operation>
+ <operation name="getObject">
+ <input message="cmisw:getObjectRequest" />
+ <output message="cmisw:getObjectResponse" />
+ <fault message="cmisw:cmisException" name="cmisException" />
+ </operation>
+ <operation name="getProperties">
+ <input message="cmisw:getPropertiesRequest" />
+ <output message="cmisw:getPropertiesResponse" />
+ <fault message="cmisw:cmisException" name="cmisException" />
+ </operation>
+ <operation name="getRenditions">
+ <input message="cmisw:getRenditionsRequest" />
+ <output message="cmisw:getRenditionsResponse" />
+ <fault message="cmisw:cmisException" name="cmisException" />
+ </operation>
+ <operation name="getObjectByPath">
+ <input message="cmisw:getObjectByPathRequest" />
+ <output message="cmisw:getObjectByPathResponse" />
+ <fault message="cmisw:cmisException" name="cmisException" />
+ </operation>
+ <operation name="getContentStream">
+ <input message="cmisw:getContentStreamRequest" />
+ <output message="cmisw:getContentStreamResponse" />
+ <fault message="cmisw:cmisException" name="cmisException" />
+ </operation>
+ <operation name="updateProperties">
+ <input message="cmisw:updatePropertiesRequest" />
+ <output message="cmisw:updatePropertiesResponse" />
+ <fault message="cmisw:cmisException" name="cmisException" />
+ </operation>
+ <operation name="moveObject">
+ <input message="cmisw:moveObjectRequest" />
+ <output message="cmisw:moveObjectResponse" />
+ <fault message="cmisw:cmisException" name="cmisException" />
+ </operation>
+ <operation name="deleteObject">
+ <input message="cmisw:deleteObjectRequest" />
+ <output message="cmisw:deleteObjectResponse" />
+ <fault message="cmisw:cmisException" name="cmisException" />
+ </operation>
+ <operation name="deleteTree">
+ <input message="cmisw:deleteTreeRequest" />
+ <output message="cmisw:deleteTreeResponse" />
+ <fault message="cmisw:cmisException" name="cmisException" />
+ </operation>
+ <operation name="setContentStream">
+ <input message="cmisw:setContentStreamRequest" />
+ <output message="cmisw:setContentStreamResponse" />
+ <fault message="cmisw:cmisException" name="cmisException" />
+ </operation>
+ <operation name="deleteContentStream">
+ <input message="cmisw:deleteContentStreamRequest" />
+ <output message="cmisw:deleteContentStreamResponse" />
+ <fault message="cmisw:cmisException" name="cmisException" />
+ </operation>
+ </portType>
+ <portType name="PolicyServicePort">
+ <operation name="applyPolicy">
+ <input message="cmisw:applyPolicyRequest" />
+ <output message="cmisw:applyPolicyResponse" />
+ <fault message="cmisw:cmisException" name="cmisException" />
+ </operation>
+ <operation name="removePolicy">
+ <input message="cmisw:removePolicyRequest" />
+ <output message="cmisw:removePolicyResponse" />
+ <fault message="cmisw:cmisException" name="cmisException" />
+ </operation>
+ <operation name="getAppliedPolicies">
+ <input message="cmisw:getAppliedPoliciesRequest" />
+ <output message="cmisw:getAppliedPoliciesResponse" />
+ <fault message="cmisw:cmisException" name="cmisException" />
+ </operation>
+ </portType>
+
+ <portType name="RelationshipServicePort">
+ <operation name="getObjectRelationships">
+ <input message="cmisw:getObjectRelationshipsRequest" />
+ <output message="cmisw:getObjectRelationshipsResponse" />
+ <fault message="cmisw:cmisException" name="cmisException" />
+ </operation>
+ </portType>
+ <portType name="RepositoryServicePort">
+ <operation name="getRepositories">
+ <input message="cmisw:getRepositoriesRequest" />
+ <output message="cmisw:getRepositoriesResponse" />
+ <fault message="cmisw:cmisException" name="cmisException" />
+ </operation>
+ <operation name="getRepositoryInfo">
+ <input message="cmisw:getRepositoryInfoRequest" />
+ <output message="cmisw:getRepositoryInfoResponse" />
+ <fault message="cmisw:cmisException" name="cmisException" />
+ </operation>
+ <operation name="getTypeChildren">
+ <input message="cmisw:getTypeChildrenRequest" />
+ <output message="cmisw:getTypeChildrenResponse" />
+ <fault message="cmisw:cmisException" name="cmisException" />
+ </operation>
+ <operation name="getTypeDescendants">
+ <input message="cmisw:getTypeDescendantsRequest" />
+ <output message="cmisw:getTypeDescendantsResponse" />
+ <fault message="cmisw:cmisException" name="cmisException" />
+ </operation>
+ <operation name="getTypeDefinition">
+ <input message="cmisw:getTypeDefinitionRequest" />
+ <output message="cmisw:getTypeDefinitionResponse" />
+ <fault message="cmisw:cmisException" name="cmisException" />
+ </operation>
+ </portType>
+ <portType name="VersioningServicePort">
+ <operation name="checkOut">
+ <input message="cmisw:checkOutRequest" />
+ <output message="cmisw:checkOutResponse" />
+ <fault message="cmisw:cmisException" name="cmisException" />
+ </operation>
+ <operation name="cancelCheckOut">
+ <input message="cmisw:cancelCheckOutRequest" />
+ <output message="cmisw:cancelCheckOutResponse" />
+ <fault message="cmisw:cmisException" name="cmisException" />
+ </operation>
+ <operation name="checkIn">
+ <input message="cmisw:checkInRequest" />
+ <output message="cmisw:checkInResponse" />
+ <fault message="cmisw:cmisException" name="cmisException" />
+ </operation>
+ <operation name="getObjectOfLatestVersion">
+ <input message="cmisw:getObjectOfLatestVersionRequest" />
+ <output message="cmisw:getObjectOfLatestVersionResponse" />
+ <fault message="cmisw:cmisException" name="cmisException" />
+ </operation>
+ <operation name="getPropertiesOfLatestVersion">
+ <input message="cmisw:getPropertiesOfLatestVersionRequest" />
+ <output message="cmisw:getPropertiesOfLatestVersionResponse" />
+ <fault message="cmisw:cmisException" name="cmisException" />
+ </operation>
+ <operation name="getAllVersions">
+ <input message="cmisw:getAllVersionsRequest" />
+ <output message="cmisw:getAllVersionsResponse" />
+ <fault message="cmisw:cmisException" name="cmisException" />
+ </operation>
+ </portType>
+ <portType name="ACLServicePort">
+ <operation name="getACL">
+ <input message="cmisw:getACLRequest" />
+ <output message="cmisw:getACLResponse" />
+ <fault message="cmisw:cmisException" name="cmisException" />
+ </operation>
+ <operation name="applyACL">
+ <input message="cmisw:applyACLRequest" />
+ <output message="cmisw:applyACLResponse" />
+ <fault message="cmisw:cmisException" name="cmisException" />
+ </operation>
+ </portType>
+
+
+ <binding name="DiscoveryServicePortBinding" type="cmisw:DiscoveryServicePort">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <operation name="query">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault name="cmisException" use="literal" />
+ </fault>
+ </operation>
+ <operation name="getContentChanges">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault name="cmisException" use="literal" />
+ </fault>
+ </operation>
+ </binding>
+ <binding name="MultiFilingServicePortBinding" type="cmisw:MultiFilingServicePort">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <operation name="addObjectToFolder">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault name="cmisException" use="literal" />
+ </fault>
+ </operation>
+ <operation name="removeObjectFromFolder">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault name="cmisException" use="literal" />
+ </fault>
+ </operation>
+ </binding>
+ <binding name="NavigationServicePortBinding" type="cmisw:NavigationServicePort">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <operation name="getDescendants">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault name="cmisException" use="literal" />
+ </fault>
+ </operation>
+ <operation name="getChildren">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault name="cmisException" use="literal" />
+ </fault>
+ </operation>
+ <operation name="getFolderParent">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault name="cmisException" use="literal" />
+ </fault>
+ </operation>
+ <operation name="getFolderTree">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault name="cmisException" use="literal" />
+ </fault>
+ </operation>
+ <operation name="getObjectParents">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault name="cmisException" use="literal" />
+ </fault>
+ </operation>
+ <operation name="getCheckedOutDocs">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault name="cmisException" use="literal" />
+ </fault>
+ </operation>
+ </binding>
+ <binding name="ObjectServicePortBinding" type="cmisw:ObjectServicePort">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <operation name="createDocument">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault name="cmisException" use="literal" />
+ </fault>
+ </operation>
+ <operation name="createDocumentFromSource">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault name="cmisException" use="literal" />
+ </fault>
+ </operation>
+ <operation name="createFolder">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault name="cmisException" use="literal" />
+ </fault>
+ </operation>
+ <operation name="createRelationship">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault name="cmisException" use="literal" />
+ </fault>
+ </operation>
+ <operation name="createPolicy">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault name="cmisException" use="literal" />
+ </fault>
+ </operation>
+ <operation name="getAllowableActions">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault name="cmisException" use="literal" />
+ </fault>
+ </operation>
+ <operation name="getObject">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault name="cmisException" use="literal" />
+ </fault>
+ </operation>
+ <operation name="getProperties">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault name="cmisException" use="literal" />
+ </fault>
+ </operation>
+ <operation name="getRenditions">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault name="cmisException" use="literal" />
+ </fault>
+ </operation>
+ <operation name="getObjectByPath">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault name="cmisException" use="literal" />
+ </fault>
+ </operation>
+ <operation name="getContentStream">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault name="cmisException" use="literal" />
+ </fault>
+ </operation>
+ <operation name="updateProperties">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault name="cmisException" use="literal" />
+ </fault>
+ </operation>
+ <operation name="moveObject">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault name="cmisException" use="literal" />
+ </fault>
+ </operation>
+ <operation name="deleteObject">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault name="cmisException" use="literal" />
+ </fault>
+ </operation>
+ <operation name="deleteTree">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault name="cmisException" use="literal" />
+ </fault>
+ </operation>
+ <operation name="setContentStream">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault name="cmisException" use="literal" />
+ </fault>
+ </operation>
+ <operation name="deleteContentStream">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault name="cmisException" use="literal" />
+ </fault>
+ </operation>
+ </binding>
+ <binding name="PolicyServicePortBinding" type="cmisw:PolicyServicePort">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <operation name="applyPolicy">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault name="cmisException" use="literal" />
+ </fault>
+ </operation>
+ <operation name="removePolicy">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault name="cmisException" use="literal" />
+ </fault>
+ </operation>
+ <operation name="getAppliedPolicies">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault name="cmisException" use="literal" />
+ </fault>
+ </operation>
+ </binding>
+ <binding name="RelationshipServicePortBinding" type="cmisw:RelationshipServicePort">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <operation name="getObjectRelationships">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault name="cmisException" use="literal" />
+ </fault>
+ </operation>
+ </binding>
+ <binding name="RepositoryServicePortBinding" type="cmisw:RepositoryServicePort">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <operation name="getRepositories">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault name="cmisException" use="literal" />
+ </fault>
+ </operation>
+ <operation name="getRepositoryInfo">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault name="cmisException" use="literal" />
+ </fault>
+ </operation>
+ <operation name="getTypeChildren">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault name="cmisException" use="literal" />
+ </fault>
+ </operation>
+ <operation name="getTypeDescendants">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault name="cmisException" use="literal" />
+ </fault>
+ </operation>
+ <operation name="getTypeDefinition">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault name="cmisException" use="literal" />
+ </fault>
+ </operation>
+ </binding>
+ <binding name="VersioningServicePortBinding" type="cmisw:VersioningServicePort">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <operation name="checkOut">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault name="cmisException" use="literal" />
+ </fault>
+ </operation>
+ <operation name="cancelCheckOut">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault name="cmisException" use="literal" />
+ </fault>
+ </operation>
+ <operation name="checkIn">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault name="cmisException" use="literal" />
+ </fault>
+ </operation>
+ <operation name="getObjectOfLatestVersion">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault name="cmisException" use="literal" />
+ </fault>
+ </operation>
+ <operation name="getPropertiesOfLatestVersion">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault name="cmisException" use="literal" />
+ </fault>
+ </operation>
+ <operation name="getAllVersions">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault name="cmisException" use="literal" />
+ </fault>
+ </operation>
+ </binding>
+ <binding name="ACLServicePortBinding" type="cmisw:ACLServicePort">
+ <soap:binding style="document"
+ transport="http://schemas.xmlsoap.org/soap/http" />
+ <operation name="getACL">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault name="cmisException" use="literal" />
+ </fault>
+ </operation>
+ <operation name="applyACL">
+ <soap:operation soapAction="" />
+ <input>
+ <soap:body use="literal" />
+ </input>
+ <output>
+ <soap:body use="literal" />
+ </output>
+ <fault name="cmisException">
+ <soap:fault name="cmisException" use="literal" />
+ </fault>
+ </operation>
+ </binding>
+
+
+ <service name="DiscoveryService">
+ <port name="DiscoveryServicePort" binding="cmisw:DiscoveryServicePortBinding">
+ <soap:address
+ location="http://cmis/services/DiscoveryService.DiscoveryServicePort" />
+ </port>
+ </service>
+ <service name="MultiFilingService">
+ <port name="MultiFilingServicePort" binding="cmisw:MultiFilingServicePortBinding">
+ <soap:address
+ location="http://cmis/services/MultiFilingService.MultiFilingServicePort" />
+ </port>
+ </service>
+ <service name="NavigationService">
+ <port name="NavigationServicePort" binding="cmisw:NavigationServicePortBinding">
+ <soap:address
+ location="http://cmis/services/NavigationService.NavigationServicePort" />
+ </port>
+ </service>
+ <service name="ObjectService">
+ <port name="ObjectServicePort" binding="cmisw:ObjectServicePortBinding">
+ <soap:address location="http://cmis/services/ObjectService.ObjectServicePort" />
+ </port>
+ </service>
+ <service name="PolicyService">
+ <port name="PolicyServicePort" binding="cmisw:PolicyServicePortBinding">
+ <soap:address location="http://cmis/services/PolicyService.PolicyServicePort" />
+ </port>
+ </service>
+ <service name="RelationshipService">
+ <port name="RelationshipServicePort" binding="cmisw:RelationshipServicePortBinding">
+ <soap:address
+ location="http://cmis/services/RelationshipService.RelationshipServicePort" />
+ </port>
+ </service>
+ <service name="RepositoryService">
+ <port name="RepositoryServicePort" binding="cmisw:RepositoryServicePortBinding">
+ <soap:address
+ location="http://cmis/services/RepositoryService.RepositoryServicePort" />
+ </port>
+ </service>
+ <service name="VersioningService">
+ <port name="VersioningServicePort" binding="cmisw:VersioningServicePortBinding">
+ <soap:address
+ location="http://cmis/services/VersioningService.VersioningServicePort" />
+ </port>
+ </service>
+ <service name="ACLService">
+ <port name="ACLServicePort" binding="cmisw:ACLServicePortBinding">
+ <soap:address location="http://cmis/services/ACLService.ACLServicePort" />
+ </port>
+ </service>
+
+</definitions>
\ No newline at end of file
diff --git a/DotCMIS/wsdl/xml.xsd b/DotCMIS/wsdl/xml.xsd
new file mode 100644
index 0000000..052806b
--- /dev/null
+++ b/DotCMIS/wsdl/xml.xsd
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless
+ required by applicable law or agreed to in writing, software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations under the License.
+-->
+<xsd:schema
+targetNamespace="http://www.w3.org/XML/1998/namespace"
+xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+xml:lang="en">
+ <xsd:attribute name="lang">
+ <xsd:simpleType>
+ <xsd:union memberTypes="xsd:language">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:string">
+ <xsd:enumeration value=""/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:union>
+ </xsd:simpleType>
+ </xsd:attribute>
+
+ <xsd:attribute name="space">
+ <xsd:simpleType>
+ <xsd:restriction base="xsd:NCName">
+ <xsd:enumeration value="default"/>
+ <xsd:enumeration value="preserve"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+ </xsd:attribute>
+
+ <xsd:attribute name="base" type="xsd:anyURI">
+ <xsd:annotation>
+ <xsd:documentation>See http://www.w3.org/TR/xmlbase/ for
+ information about this attribute.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+
+ <xsd:attribute name="id" type="xsd:ID">
+ <xsd:annotation>
+ <xsd:documentation>See http://www.w3.org/TR/xml-id/ for
+ information about this attribute.</xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+
+ <xsd:attributeGroup name="specialAttrs">
+ <xsd:attribute ref="xml:base"/>
+ <xsd:attribute ref="xml:lang"/>
+ <xsd:attribute ref="xml:space"/>
+ <xsd:attribute ref="xml:id"/>
+ </xsd:attributeGroup>
+
+</xsd:schema>
\ No newline at end of file
diff --git a/DotCMISUnitTest/CRUDTest.cs b/DotCMISUnitTest/CRUDTest.cs
new file mode 100644
index 0000000..aadc941
--- /dev/null
+++ b/DotCMISUnitTest/CRUDTest.cs
@@ -0,0 +1,75 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+using DotCMIS.Data;
+using DotCMIS.Enums;
+using NUnit.Framework;
+
+namespace DotCMISUnitTest
+{
+ [TestFixture]
+ public class CRUDTest : TestFramework
+ {
+ [Test]
+ public void TestRepositoryInfo()
+ {
+ Assert.NotNull(RepositoryInfo.Id);
+ Assert.NotNull(RepositoryInfo.Name);
+ Assert.NotNull(RepositoryInfo.RootFolderId);
+ }
+
+ [Test]
+ public void TestRootFolder()
+ {
+ IObjectData rootFolder = GetFullObject(RepositoryInfo.RootFolderId);
+ Assert.AreEqual(BaseTypeId.CmisFolder, rootFolder.BaseTypeId);
+
+ IObjectData rootFolder2 = Binding.GetObjectService().GetObjectByPath(RepositoryInfo.Id, "/", null, true, IncludeRelationships.Both, null, true, true, null);
+ Assert.AreEqual(BaseTypeId.CmisFolder, rootFolder2.BaseTypeId);
+
+ Assert.AreEqual(rootFolder.Id, rootFolder2.Id);
+ }
+
+ [Test]
+ public void TestCreateDocument()
+ {
+ string content1 = "my content";
+
+ IObjectData doc = CreateDocument(RepositoryInfo.RootFolderId, "dottest", content1);
+
+ string content2 = GetTextContent(doc.Id);
+ Assert.AreEqual(content1, content2);
+
+ DeleteObject(doc.Id);
+ }
+
+ [Test]
+ public void TestCreateFolder()
+ {
+ IObjectData folder0 = CreateFolder(RepositoryInfo.RootFolderId, "folder0");
+ IObjectData folder1 = CreateFolder(folder0.Id, "folder1");
+ IObjectData folder2 = CreateFolder(folder1.Id, "folder2");
+ IObjectData folder3 = CreateFolder(folder2.Id, "folder3");
+
+ DeleteObject(folder3.Id);
+ DeleteObject(folder2.Id);
+ DeleteObject(folder1.Id);
+ DeleteObject(folder0.Id);
+ }
+ }
+}
diff --git a/DotCMISUnitTest/DotCMISUnitTest.csproj b/DotCMISUnitTest/DotCMISUnitTest.csproj
new file mode 100644
index 0000000..10d10cc
--- /dev/null
+++ b/DotCMISUnitTest/DotCMISUnitTest.csproj
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProductVersion>8.0.30703</ProductVersion>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{B4343D5F-BA78-4925-99C5-A0FFD80F862C}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>DotCMISUnitTest</RootNamespace>
+ <AssemblyName>DotCMISUnitTest</AssemblyName>
+ <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="nunit.framework, Version=2.5.9.10348, Culture=neutral, PublicKeyToken=96d09a1eb7f44a77, processorArchitecture=MSIL">
+ <SpecificVersion>False</SpecificVersion>
+ <HintPath>..\..\..\..\Program Files (x86)\NUnit 2.5.9\bin\net-2.0\framework\nunit.framework.dll</HintPath>
+ </Reference>
+ <Reference Include="System" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Xml.Linq" />
+ <Reference Include="System.Data.DataSetExtensions" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="CRUDTest.cs" />
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ <Compile Include="TestFramework.cs" />
+ <Compile Include="TypeTest.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\DotCMIS\DotCMIS.csproj">
+ <Project>{529EF90F-A34C-4426-A4F9-65113AC23841}</Project>
+ <Name>DotCMIS</Name>
+ </ProjectReference>
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+ <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
+ Other similar extension points exist, see Microsoft.Common.targets.
+ <Target Name="BeforeBuild">
+ </Target>
+ <Target Name="AfterBuild">
+ </Target>
+ -->
+</Project>
\ No newline at end of file
diff --git a/DotCMISUnitTest/DotCMISUnitTest.csproj.user b/DotCMISUnitTest/DotCMISUnitTest.csproj.user
new file mode 100644
index 0000000..c7b83a2
--- /dev/null
+++ b/DotCMISUnitTest/DotCMISUnitTest.csproj.user
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'">
+ <StartAction>Program</StartAction>
+ <StartProgram>C:\Program Files (x86)\NUnit 2.5.9\bin\net-2.0\nunit-console.exe</StartProgram>
+ <StartArguments>C:\projects\opencmis\DotCMIS\DotCMISUnitTest\bin\Debug\DotCMISUnitTest.dll</StartArguments>
+ <StartWorkingDirectory>C:\projects\opencmis\DotCMIS\DotCMISUnitTest\bin\Debug</StartWorkingDirectory>
+ </PropertyGroup>
+</Project>
\ No newline at end of file
diff --git a/DotCMISUnitTest/Properties/AssemblyInfo.cs b/DotCMISUnitTest/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..0750e0b
--- /dev/null
+++ b/DotCMISUnitTest/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("DotCMIS Unit Tests")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Apache Software Foundation")]
+[assembly: AssemblyProduct("DotCMISUnitTest")]
+[assembly: AssemblyCopyright("")]
+[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("c4626bba-8086-4ad5-8116-2768c623ed6c")]
+
+// 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("0.1.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/DotCMISUnitTest/TestFramework.cs b/DotCMISUnitTest/TestFramework.cs
new file mode 100644
index 0000000..e13293b
--- /dev/null
+++ b/DotCMISUnitTest/TestFramework.cs
@@ -0,0 +1,315 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+using System.Collections.Generic;
+using System.Net;
+using DotCMIS;
+using DotCMIS.Binding;
+using NUnit.Framework;
+using DotCMIS.Data;
+using DotCMIS.Enums;
+using DotCMIS.Exceptions;
+using System.Text;
+using System.IO;
+
+namespace DotCMISUnitTest
+{
+ public class TestFramework
+ {
+ private IRepositoryInfo repositoryInfo;
+
+ public ICmisBinding Binding { get; set; }
+ public IRepositoryInfo RepositoryInfo
+ {
+ get
+ {
+ if (repositoryInfo == null)
+ {
+ repositoryInfo = Binding.GetRepositoryService().GetRepositoryInfos(null)[0];
+ Assert.NotNull(repositoryInfo);
+ }
+
+ return repositoryInfo;
+ }
+ }
+
+ public string DefaultDocumentType { get; set; }
+ public string DefaultFolderType { get; set; }
+
+ [SetUp]
+ public void Init()
+ {
+ ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
+
+ DefaultDocumentType = "cmis:document";
+ DefaultFolderType = "cmis:folder";
+
+ Binding = ConnectAtomPub();
+ }
+
+ public ICmisBinding ConnectAtomPub()
+ {
+ Dictionary<string, string> parametersAtom = new Dictionary<string, string>();
+
+ string baseUrlAtom = "http://localhost:8080/alfresco/opencmis-atom";
+
+ parametersAtom[SessionParameter.AtomPubUrl] = baseUrlAtom;
+ parametersAtom[SessionParameter.User] = "admin";
+ parametersAtom[SessionParameter.Password] = "admin";
+
+ CmisBindingFactory factory = CmisBindingFactory.NewInstance();
+ ICmisBinding binding = factory.CreateCmisAtomPubBinding(parametersAtom);
+
+ Assert.NotNull(binding);
+
+ return binding;
+ }
+
+ public ICmisBinding ConnectWebServices()
+ {
+ Dictionary<string, string> parametersWS = new Dictionary<string, string>();
+
+ string baseUrlWS = "https://localhost:8443/alfresco/opencmis-ws";
+
+ parametersWS[SessionParameter.WebServicesRepositoryService] = baseUrlWS + "/RepositoryService?wsdl";
+ parametersWS[SessionParameter.WebServicesAclService] = baseUrlWS + "/AclService?wsdl";
+ parametersWS[SessionParameter.WebServicesDiscoveryService] = baseUrlWS + "/DiscoveryService?wsdl";
+ parametersWS[SessionParameter.WebServicesMultifilingService] = baseUrlWS + "/MultifilingService?wsdl";
+ parametersWS[SessionParameter.WebServicesNavigationService] = baseUrlWS + "/NavigationService?wsdl";
+ parametersWS[SessionParameter.WebServicesObjectService] = baseUrlWS + "/ObjectService?wsdl";
+ parametersWS[SessionParameter.WebServicesPolicyService] = baseUrlWS + "/PolicyService?wsdl";
+ parametersWS[SessionParameter.WebServicesRelationshipService] = baseUrlWS + "/RelationshipService?wsdl";
+ parametersWS[SessionParameter.WebServicesVersioningService] = baseUrlWS + "/VersioningService?wsdl";
+ parametersWS[SessionParameter.User] = "admin";
+ parametersWS[SessionParameter.Password] = "admin";
+
+ CmisBindingFactory factory = CmisBindingFactory.NewInstance();
+ ICmisBinding binding = factory.CreateCmisWebServicesBinding(parametersWS);
+
+ Assert.NotNull(binding);
+
+ return binding;
+ }
+
+ public IObjectData GetFullObject(string objectId)
+ {
+ IObjectData result = Binding.GetObjectService().GetObject(RepositoryInfo.Id, objectId, "*", true, IncludeRelationships.Both, "*", true, true, null);
+
+ Assert.NotNull(result);
+ Assert.NotNull(result.Id);
+ Assert.NotNull(result.BaseTypeId);
+ Assert.NotNull(result.Properties);
+
+ return result;
+ }
+
+ public IObjectData CreateDocument(string folderId, string name, string content)
+ {
+ Properties properties = new Properties();
+
+ PropertyId objectTypeIdProperty = new PropertyId();
+ objectTypeIdProperty.Id = PropertyIds.ObjectTypeId;
+ objectTypeIdProperty.Values = new List<string>();
+ objectTypeIdProperty.Values.Add(DefaultDocumentType);
+ properties.AddProperty(objectTypeIdProperty);
+
+ PropertyString nameProperty = new PropertyString();
+ nameProperty.Id = PropertyIds.Name;
+ nameProperty.Values = new List<string>();
+ nameProperty.Values.Add(name);
+ properties.AddProperty(nameProperty);
+
+ ContentStream contentStream = null;
+ if (content != null)
+ {
+ byte[] bytes = Encoding.UTF8.GetBytes(content);
+
+ contentStream = new ContentStream();
+ contentStream.FileName = name;
+ contentStream.MimeType = "text/plain";
+ contentStream.Stream = new MemoryStream(bytes);
+ contentStream.Length = bytes.Length;
+ }
+
+ string newDocId = Binding.GetObjectService().CreateDocument(RepositoryInfo.Id, properties, folderId, contentStream, null, null, null, null, null);
+
+ Assert.NotNull(newDocId);
+
+ IObjectData doc = GetFullObject(newDocId);
+
+ Assert.NotNull(doc);
+ Assert.NotNull(doc.Id);
+ Assert.AreEqual(BaseTypeId.CmisDocument, doc.BaseTypeId);
+ Assert.NotNull(doc.Properties);
+ Assert.True(doc.Properties[PropertyIds.ObjectTypeId] is PropertyId);
+ Assert.AreEqual(DefaultDocumentType, ((PropertyId)doc.Properties[PropertyIds.ObjectTypeId]).FirstValue);
+ Assert.True(doc.Properties[PropertyIds.Name] is PropertyString);
+ Assert.AreEqual(name, ((PropertyString)doc.Properties[PropertyIds.Name]).FirstValue);
+
+ if (folderId != null)
+ {
+ CheckObjectInFolder(newDocId, folderId);
+ }
+
+ return doc;
+ }
+
+ public IObjectData CreateFolder(string folderId, string name)
+ {
+ Properties properties = new Properties();
+
+ PropertyId objectTypeIdProperty = new PropertyId();
+ objectTypeIdProperty.Id = PropertyIds.ObjectTypeId;
+ objectTypeIdProperty.Values = new List<string>();
+ objectTypeIdProperty.Values.Add(DefaultFolderType);
+ properties.AddProperty(objectTypeIdProperty);
+
+ PropertyString nameProperty = new PropertyString();
+ nameProperty.Id = PropertyIds.Name;
+ nameProperty.Values = new List<string>();
+ nameProperty.Values.Add(name);
+ properties.AddProperty(nameProperty);
+
+ string newFolderId = Binding.GetObjectService().CreateFolder(RepositoryInfo.Id, properties, folderId, null, null, null, null);
+
+ Assert.NotNull(newFolderId);
+
+ IObjectData folder = GetFullObject(newFolderId);
+
+ Assert.NotNull(folder);
+ Assert.NotNull(folder.Id);
+ Assert.AreEqual(BaseTypeId.CmisFolder, folder.BaseTypeId);
+ Assert.NotNull(folder.Properties);
+ Assert.True(folder.Properties[PropertyIds.ObjectTypeId] is PropertyId);
+ Assert.AreEqual(DefaultFolderType, ((PropertyId)folder.Properties[PropertyIds.ObjectTypeId]).FirstValue);
+ Assert.True(folder.Properties[PropertyIds.Name] is PropertyString);
+ Assert.AreEqual(name, ((PropertyString)folder.Properties[PropertyIds.Name]).FirstValue);
+
+ if (folderId != null)
+ {
+ CheckObjectInFolder(newFolderId, folderId);
+ }
+
+ return folder;
+ }
+
+ public void CheckObjectInFolder(string objectId, string folderId)
+ {
+ // check parents
+ IList<IObjectParentData> parents = Binding.GetNavigationService().GetObjectParents(RepositoryInfo.Id, objectId, null, null, null, null, null, null);
+
+ Assert.NotNull(parents);
+ Assert.True(parents.Count > 0);
+
+ bool found = false;
+ foreach (IObjectParentData parent in parents)
+ {
+ Assert.NotNull(parent);
+ Assert.NotNull(parent.Object);
+ Assert.NotNull(parent.Object.Id);
+ if (parent.Object.Id == folderId)
+ {
+ found = true;
+ }
+ }
+ Assert.True(found);
+
+ // check children
+ found = false;
+ IObjectInFolderList children = Binding.GetNavigationService().GetChildren(RepositoryInfo.Id, folderId, null, null, null, null, null, null, null, null, null);
+
+ Assert.NotNull(children);
+ if (children.NumItems != null)
+ {
+ Assert.True(children.NumItems > 0);
+ }
+
+ foreach (ObjectInFolderData obj in children.Objects)
+ {
+ Assert.NotNull(obj);
+ Assert.NotNull(obj.Object);
+ Assert.NotNull(obj.Object.Id);
+ if (obj.Object.Id == objectId)
+ {
+ found = true;
+ }
+ }
+ Assert.True(found);
+
+ // check descendants
+ if (RepositoryInfo.Capabilities == null ||
+ RepositoryInfo.Capabilities.IsGetDescendantsSupported == null ||
+ !(bool)RepositoryInfo.Capabilities.IsGetDescendantsSupported)
+ {
+ return;
+ }
+
+ found = false;
+ IList<IObjectInFolderContainer> descendants = Binding.GetNavigationService().GetDescendants(RepositoryInfo.Id, folderId, 1, null, null, null, null, null, null);
+
+ Assert.NotNull(descendants);
+
+ foreach (IObjectInFolderContainer obj in descendants)
+ {
+ Assert.NotNull(obj);
+ Assert.NotNull(obj.Object);
+ Assert.NotNull(obj.Object.Object);
+ Assert.NotNull(obj.Object.Object.Id);
+ if (obj.Object.Object.Id == objectId)
+ {
+ found = true;
+ }
+ }
+ Assert.True(found);
+ }
+
+ public void DeleteObject(string objectId)
+ {
+ Binding.GetObjectService().DeleteObject(RepositoryInfo.Id, objectId, true, null);
+
+ try
+ {
+ Binding.GetObjectService().GetObject(RepositoryInfo.Id, objectId, null, null, null, null, null, null, null);
+ Assert.Fail("CmisObjectNotFoundException excepted!");
+ }
+ catch (CmisObjectNotFoundException)
+ {
+ }
+ }
+
+ public string GetTextContent(string objectId)
+ {
+ IContentStream contentStream = Binding.GetObjectService().GetContentStream(RepositoryInfo.Id, objectId, null, null, null, null);
+
+ Assert.NotNull(contentStream);
+ Assert.NotNull(contentStream.Stream);
+
+ MemoryStream memStream = new MemoryStream();
+ byte[] buffer = new byte[4096];
+ int b;
+ while ((b = contentStream.Stream.Read(buffer, 0, buffer.Length)) > 0)
+ {
+ memStream.Write(buffer, 0, b);
+ }
+
+ string result = Encoding.UTF8.GetString(memStream.GetBuffer(), 0, (int)memStream.Length);
+
+ return result;
+ }
+ }
+}
diff --git a/DotCMISUnitTest/TypeTest.cs b/DotCMISUnitTest/TypeTest.cs
new file mode 100644
index 0000000..93f1b92
--- /dev/null
+++ b/DotCMISUnitTest/TypeTest.cs
@@ -0,0 +1,113 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using NUnit.Framework;
+using DotCMIS.Data;
+using DotCMIS.Enums;
+using DotCMIS.Exceptions;
+
+namespace DotCMISUnitTest
+{
+ [TestFixture]
+ public class TypeTest : TestFramework
+ {
+ [Test]
+ public void TestBaseTypes()
+ {
+ ITypeDefinition type;
+
+ // cmis:document
+ type = Binding.GetRepositoryService().GetTypeDefinition(RepositoryInfo.Id, "cmis:document", null);
+
+ Assert.NotNull(type);
+ Assert.AreEqual(BaseTypeId.CmisDocument, type.BaseTypeId);
+ Assert.AreEqual("cmis:document", type.Id);
+
+ // cmis:folder
+ type = Binding.GetRepositoryService().GetTypeDefinition(RepositoryInfo.Id, "cmis:folder", null);
+
+ Assert.NotNull(type);
+ Assert.AreEqual(BaseTypeId.CmisFolder, type.BaseTypeId);
+ Assert.AreEqual("cmis:folder", type.Id);
+
+ // cmis:relationship
+ try
+ {
+ type = Binding.GetRepositoryService().GetTypeDefinition(RepositoryInfo.Id, "cmis:relationship", null);
+
+ Assert.NotNull(type);
+ Assert.AreEqual(BaseTypeId.CmisRelationship, type.BaseTypeId);
+ Assert.AreEqual("cmis:relationship", type.Id);
+ }
+ catch (CmisObjectNotFoundException)
+ {
+ // not supported by the repository
+ }
+
+ // cmis:policy
+ try
+ {
+ type = Binding.GetRepositoryService().GetTypeDefinition(RepositoryInfo.Id, "cmis:policy", null);
+
+ Assert.NotNull(type);
+ Assert.AreEqual(BaseTypeId.CmisPolicy, type.BaseTypeId);
+ Assert.AreEqual("cmis:policy", type.Id);
+ }
+ catch (CmisObjectNotFoundException)
+ {
+ // not supported by the repository
+ }
+ }
+
+ [Test]
+ public void TestTypeChildren()
+ {
+ ITypeDefinitionList typeList = Binding.GetRepositoryService().GetTypeChildren(RepositoryInfo.Id, null, null, null, null, null);
+
+ Assert.NotNull(typeList);
+ Assert.NotNull(typeList.List);
+ Assert.NotNull(typeList.NumItems);
+ Assert.True(typeList.NumItems >= 2);
+ Assert.True(typeList.NumItems <= 4);
+
+ bool foundDocument = false;
+ bool foundFolder = false;
+ foreach (ITypeDefinition type in typeList.List)
+ {
+ Assert.NotNull(type);
+ Assert.NotNull(type.Id);
+
+ if (type.Id == "cmis:document")
+ {
+ foundDocument = true;
+ }
+ if (type.Id == "cmis:folder")
+ {
+ foundFolder = true;
+ }
+ }
+
+ Assert.True(foundDocument);
+ Assert.True(foundFolder);
+ }
+ }
+}
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..75b5248
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/NOTICE b/NOTICE
new file mode 100644
index 0000000..fac871a
--- /dev/null
+++ b/NOTICE
@@ -0,0 +1,2 @@
+DotCMIS
+Copyright 2009-2011 The Apache Software Foundation
\ No newline at end of file