8 Appendix C: Product Behavior

The information in this specification is applicable to the following Microsoft products or supplemental software. References to product versions include updates to those products.

  • Microsoft Office 2010 suites

  • Microsoft SharePoint Foundation 2010

  • Microsoft Office 2013

  • Microsoft SharePoint Foundation 2013

  • Microsoft Office 2016

  • Microsoft SharePoint Server 2016

  • Microsoft Office 2019

  • Microsoft SharePoint Server 2019

  • Microsoft Office 2021

  • Microsoft SharePoint Server Subscription Edition

  • Microsoft Office 2024 Preview

Exceptions, if any, are noted in this section. If an update version, service pack or Knowledge Base (KB) number appears with a product name, the behavior changed in that update. The new behavior also applies to subsequent updates unless otherwise specified. If a product edition appears with the product version, behavior is different in that product edition.

Unless otherwise specified, any statement of optional behavior in this specification that is prescribed using the terms "SHOULD" or "SHOULD NOT" implies product behavior in accordance with the SHOULD or SHOULD NOT prescription. Unless otherwise specified, the term "MAY" implies that the product does not follow the prescription.

<1> Section 2.2.4:  SharePoint Foundation 2010 and SharePoint Foundation 2013 require that Business Logic Modules conform to the Common Language Infrastructure (CLI) as specified in [ECMA-335] and are understood by the Microsoft .NET Framework.

<2> Section 2.2.4.4:  In SharePoint Foundation 2010 and SharePoint Foundation 2013, only the restriction that the index be greater than or equal to zero is enforced.

<3> Section 2.2.4.21:  SharePoint Foundation 2010 and SharePoint Foundation 2013 set the values to zero on return.

<4> Section 2.2.4.22:  In SharePoint Foundation 2010 and SharePoint Foundation 2013, this GUID can be non-empty.

<5> Section 2.2.4.31:  In SharePoint Foundation 2010 and SharePoint Foundation 2013, this element is ignored, and the EntityCreate operation sets the description element to NULL in the response.

<6> Section 2.2.4.41:  In SharePoint Foundation 2010 and SharePoint Foundation 2013, this can be other values.

<7> Section 2.2.4.51:  SharePoint Foundation 2010 and SharePoint Foundation 2013 require that Business Logic Modules conform to the Common Language Infrastructure (CLI) as specified in [ECMA-335] and are understood by the .NET Framework.

<8> Section 2.2.4.53:  The culture names used by SharePoint Foundation 2010 and SharePoint Foundation 2013 are as specified in [MSDN-SharePointSDK].

<9> Section 2.2.4.53:  SharePoint Foundation 2010 and SharePoint Foundation 2013 require this data type to conform to the Common Language Infrastructure (CLI) as specified in [ECMA-335] and to be understood by the .NET Framework.

<10> Section 2.2.4.53:  SharePoint Foundation 2010 and SharePoint Foundation 2013 require that the data type to conform to the Common Language Infrastructure (CLI) as specified in [ECMA-335] and is understood by the .NET Framework.

<11> Section 2.2.4.53:  The SharePoint Foundation 2010 and SharePoint Foundation 2013 modules that perform the mapping of value of the typeName element to data types require the value of the typeName element to be in the following format.

 Value = TypeName *1(%x2C BusinessLogicModule)
 BusinessLogicModule = FullAssemblyName / LobSystemName
 FullAssemblyName = LibraryIdentifier %x2C VersionProperty %x2C CultureProperty %x2C PublicKeyTokenProperty

LibraryIdentifier, VersionProperty, PublicKeyTokenProperty, and CultureProperty are as specified in [MS-NRTP], section 2.2.1.3.

TypeName: The name of the type that conforms to the Common Language Infrastructure (CLI) as specified in [ECMA-335] and is understood by the .NET Framework. The format is as specified in [MS-NRTP] section 2.2.1.2.

LobSystemName: The name of the LobSystem that contains the TypeDescriptor.

The occurrence of the BusinessLogicModule element is required by SharePoint Foundation 2010 and SharePoint Foundation 2013 to yield to a LobSystemName element if the represented data type resides in the Business Logic Module associated with the LobSystem that contains the TypeDescriptor. Otherwise, the occurrence of BusinessLogicModule is required by SharePoint Foundation 2010 and SharePoint Foundation 2013 to be a FullAssemblyName element. The values for the TypeName specified in the following table do not require a BusinessLogicModule.

Value

Description

System.String

A string of Unicode text.

System.Int16

A number in the range from –32,768 through 32,767.

System.Int32

A number in the range from –2,147,483,648 through 2,147,483,647.

System.Int64

A number in the range from –9,223,372,036,854,775,808 through 9,223,372,036,854,775,807.

System.UInt16

A number in the range from zero through 65535.

System.UInt32

A number in the range from zero through 4,294,967,295.

System.UInt64

A number in the range from zero through 18,446,744,073,709,551,615.

System.DateTime

A date and time in the range from midnight, January 1, 0001 through 11:59:59 PM, December 31, 9999, with a resolution of 100 nanoseconds.

System.TimeSpan

A duration in the range from negative 10,675,199 days 2 hours 48 minutes 5 seconds 477 milliseconds 580 microseconds 800 nanoseconds through positive 10,675,199 days 2 hours 48 minutes 5 seconds 477 milliseconds 580 microseconds 700 nanoseconds, with a resolution of 100 nanoseconds.

System.Single

A single-precision number in the range from –3.402823e38 through 3.402823e38.

System.Double

A double-precision number in the range from –1.79769313486232e308 through 1.79769313486232e308, as well as positive zero, negative zero, positive infinity, negative infinity, and NaN.

System.Decimal

A number in the range from –79,228,162,514,264,337,593,543,950,335 through 79,228,162,514,264,337,593,543,950,335.

System.Char

A Unicode character.

System.Byte

A number in the range from zero through 255.

System.SByte

A number in the range from –128 through 127.

System.Guid

A GUID.

System.Boolean

A bit.

System.Uri

A URL.

<12> Section 2.2.5.9:  A Business Logic Module that conforms to the [ECMA-335] specification and is understood by the .NET Framework.

<13> Section 3.1.4:  In SharePoint Foundation 2010 and SharePoint Foundation 2013 implementations the protocol client specifies the last known values for these elements. The protocol server uses the specified values to construct error messages and other informational messages.

<14> Section 3.1.4:  In SharePoint Foundation 2010 and SharePoint Foundation 2013, if The Entity is already Active, Object version is incremented by 2.

<15> Section 3.1.4:  A Business Logic Module that conforms to the [ECMA-335] specification and is understood by the .NET Framework.

<16> Section 3.1.4:  The Business Logic Module conforms to [ECMA-335] specification and is understood by the .NET Framework.

<17> Section 3.1.4:  SharePoint Foundation 2010 and SharePoint Foundation 2013 call this method only when a deprecated public API is invoked.

<18> Section 3.1.4:  In SharePoint Foundation 2010 and SharePoint Foundation 2013, this operation returns zero TypeDescriptors.

<19> Section 3.1.4:  The behavior would be identified by the specific implementation of the custom code that handles LobSystem data, and is not understood by the protocol server implementation.

<20> Section 3.1.4:  A set of Business Logic Modules that conform to the [ECMA-335] specification and is understood by the .NET Framework.

<21> Section 3.1.4:  SharePoint Foundation 2010 and SharePoint Foundation 2013 check the edit rights of the security principal (2) on the LobSystem to determine if the security principal (2) is authorized to read the LobSystem.

<22> Section 3.1.4: A Business Logic Module that conforms to the [ECMA-335] specification and is understood by the .NET Framework.

<23> Section 3.1.4:  SharePoint Foundation 2010 and SharePoint Foundation 2013 check the edit rights of the security principal (2) on the LobSystem to determine if the security principal (2) is authorized to read the LobSystem.

<24> Section 3.1.4:  SharePoint Foundation 2010 and SharePoint Foundation 2013 check the edit rights of the security principal (2) on the LobSystem to determine if the security principal (2) is authorized to read the LobSystem.

<25> Section 3.1.4:  SharePoint Foundation 2010 and SharePoint Foundation 2013 ignore the level parameter when retrieving the TypeDescriptors.

<26> Section 3.1.4:  SharePoint Foundation 2010 and SharePoint Foundation 2013 call this method only when a deprecated public API is invoked.

<27> Section 3.1.4.4.2.1:  In SharePoint Foundation 2010 and SharePoint Foundation 2013, if model is not null, the PartitionId element of the Model is same as the PartitionId of these Entities.

<28> Section 3.1.4.4.2.2:  In SharePoint Foundation 2010 and SharePoint Foundation 2013, the PartitionId elements of these Entities are not an empty GUID.

<29> Section 3.1.4.13:  SharePoint Foundation 2010 and SharePoint Foundation 2013 return a MetadataException, serialized as specified in section 2.2.4, in this case.

<30> Section 3.1.4.13:  SharePoint Foundation 2010 and SharePoint Foundation 2013 return a MetadataException, serialized as specified in section 2.2.4, in this case.

<31> Section 3.1.4.16:  A Business Logic Module that conforms to the [ECMA-335] specification and is understood by the .NET Framework.

<32> Section 3.1.4.16.2.1:  A Business Logic Module that conforms to the [ECMA-335] specification and is understood by the .NET Framework.

<33> Section 3.1.4.18:  In SharePoint Foundation 2010 and SharePoint Foundation 2013, a security principal (2) is authorized to export a MetadataObject, if the same security principal (2) is authorized to modify the same MetadataObject.

<34> Section 3.1.4.19:  The Business Logic Module conforms to [ECMA-335] specification and is understood by the .NET Framework.

<35> Section 3.1.4.23:  SharePoint Foundation 2010 and SharePoint Foundation 2013 do not return a fault in this case.

<36> Section 3.1.4.23:  SharePoint Foundation 2010 and SharePoint Foundation 2013 do not return a fault in this case.

<37> Section 3.1.4.24:  SharePoint Foundation 2010 and SharePoint Foundation 2013 do not return a fault in this case.

<38> Section 3.1.4.25:  SharePoint Foundation 2010 and SharePoint Foundation 2013 do not return a fault in this case.

<39> Section 3.1.4.26:  SharePoint Foundation 2010 and SharePoint Foundation 2013 do not return a fault in this case.

<40> Section 3.1.4.32:  SharePoint Foundation 2010 and SharePoint Foundation 2013 do not return a fault in this case.

<41> Section 3.1.4.32:  SharePoint Foundation 2010 and SharePoint Foundation 2013 do not return a fault in this case.

<42> Section 3.1.4.34:  SharePoint Foundation 2010 and SharePoint Foundation 2013 do not return a fault in this case.

<43> Section 3.1.4.35:  SharePoint Foundation 2010 and SharePoint Foundation 2013 do not return a fault in this case.

<44> Section 3.1.4.36:  SharePoint Foundation 2010 and SharePoint Foundation 2013 return a fault containing the InvalidOperationException complex type (section 2.2.4.38) in this case.

<45> Section 3.1.4.37:  SharePoint Foundation 2010 and SharePoint Foundation 2013 do not return a fault in this case.

<46> Section 3.1.4.38:  SharePoint Foundation 2010 and SharePoint Foundation 2013 call this method only when a deprecated public API is invoked.

<47> Section 3.1.4.39:  SharePoint Foundation 2010 and SharePoint Foundation 2013 do not return a fault in this case.

<48> Section 3.1.4.40:  In SharePoint Foundation 2010 and SharePoint Foundation 2013, this operation returns zero TypeDescriptors.

<49> Section 3.1.4.40:  SharePoint Foundation 2010 and SharePoint Foundation 2013 do not return a fault in this case.

<50> Section 3.1.4.40:  SharePoint Foundation 2010 and SharePoint Foundation 2013 do not return a fault in this case.

<51> Section 3.1.4.42:  SharePoint Foundation 2010 and SharePoint Foundation 2013 do not return a fault in this case.

<52> Section 3.1.4.44:  SharePoint Foundation 2010 and SharePoint Foundation 2013 do not return a fault in this case.

<53> Section 3.1.4.44:  SharePoint Foundation 2010 and SharePoint Foundation 2013 do not return a fault in this case.

<54> Section 3.1.4.45:  SharePoint Foundation 2010 and SharePoint Foundation 2013 do not return a fault in this case.

<55> Section 3.1.4.47:  SharePoint Foundation 2010 and SharePoint Foundation 2013 do not return a fault in this case.

<56> Section 3.1.4.49:  SharePoint Foundation 2010 and SharePoint Foundation 2013 do not raise an error in this case.

<57> Section 3.1.4.49:  SharePoint Foundation 2010 and SharePoint Foundation 2013 do not raise an error in this case.

<58> Section 3.1.4.50:  SharePoint Foundation 2010 and SharePoint Foundation 2013 return a fault containing the BdcExceptionState complex type (section 2.2.4.25) in this case.

<59> Section 3.1.4.55:  SharePoint Foundation 2010 and SharePoint Foundation 2013 do not return a fault in this case.

<60> Section 3.1.4.55:  SharePoint Foundation 2010 and SharePoint Foundation 2013 do not return a fault in this case.

<61> Section 3.1.4.57:  SharePoint Foundation 2010 and SharePoint Foundation 2013 do not return a fault in this case.

<62> Section 3.1.4.57:  SharePoint Foundation 2010 and SharePoint Foundation 2013 do not return a fault in this case.

<63> Section 3.1.4.59:  SharePoint Foundation 2010 and SharePoint Foundation 2013 do not return a fault in this case.

<64> Section 3.1.4.59:  SharePoint Foundation 2010 and SharePoint Foundation 2013 do not return a fault in this case.

<65> Section 3.1.4.60:  The behavior would be identified by the specific implementation of the custom code that handles LobSystem data, and is not understood by the protocol server implementation.

<66> Section 3.1.4.60:  SharePoint Foundation 2010 and SharePoint Foundation 2013 check the edit rights of the security principal (2) on the LobSystem to determine if the security principal (2) is authorized to read the LobSystem.

<67> Section 3.1.4.61:  Microsoft SharePoint Foundation 2010 Service Pack 1 and SharePoint Foundation 2013 do respond with AccessDeniedExceptionState in this case. However, SharePoint Foundation 2010 instead responds with ArgumentNullException.

<68> Section 3.1.4.62:  SharePoint Foundation 2010 and SharePoint Foundation 2013 check the edit rights of the security principal (2) on the LobSystem to determine if the security principal (2) is authorized to read the LobSystem.

<69> Section 3.1.4.63:  A set of Business Logic Modules that conform to the [ECMA-335] specification and is understood by the .NET Framework.

<70> Section 3.1.4.63:  SharePoint Foundation 2010 and SharePoint Foundation 2013 check the edit rights of the security principal (2) on the LobSystem to determine if the security principal (2) is authorized to read the LobSystem.

<71> Section 3.1.4.63:  SharePoint Foundation 2010 and SharePoint Foundation 2013 do not return a fault in this case.

<72> Section 3.1.4.63.2.2:  A set of Business Logic Modules that conform to the [ECMA-335] specification and is understood by the .NET Framework.

<73> Section 3.1.4.64:  SharePoint Foundation 2010 (SP1) and SharePoint Foundation 2013 do respond with AccessDeniedExceptionState in this case. However, SharePoint Foundation 2010 instead responds with BdcExceptionState.

<74> Section 3.1.4.65:  SharePoint Foundation 2010 and SharePoint Foundation 2013 check the edit rights of the security principal (2) on the LobSystem to determine if the security principal (2) is authorized to read the LobSystem.

<75> Section 3.1.4.65:  SharePoint Foundation 2010 and SharePoint Foundation 2013 do not return a fault in this case.

<76> Section 3.1.4.65:  SharePoint Foundation 2010 and SharePoint Foundation 2013 do not return a fault in this case.

<77> Section 3.1.4.66: A Business Logic Module that conforms to the [ECMA-335] specification and is understood by the .NET Framework.

<78> Section 3.1.4.66:  SharePoint Foundation 2010 and SharePoint Foundation 2013 check the edit rights of the security principal (2) on the LobSystem to determine if the security principal (2) is authorized to read the LobSystem.

<79> Section 3.1.4.66.2.2:  A set of Business Logic Modules that conform to the [ECMA-335] specification and is understood by the .NET Framework.

<80> Section 3.1.4.67:  SharePoint Foundation 2010 and SharePoint Foundation 2013 check the edit rights of the security principal (2) on the LobSystem to determine if the security principal (2) is authorized to read the LobSystem.

<81> Section 3.1.4.68:  SharePoint Foundation 2010 and SharePoint Foundation 2013 check the edit rights of the security principal (2) on the LobSystem to determine if the security principal (2) is authorized to read the LobSystem.

<82> Section 3.1.4.68:  SharePoint Foundation 2010 and SharePoint Foundation 2013 do not return a fault in this case.

<83> Section 3.1.4.68:  SharePoint Foundation 2010 and SharePoint Foundation 2013 do not return a fault in this case.

<84> Section 3.1.4.71:  SharePoint Foundation 2010 and SharePoint Foundation 2013 do not return a fault in this case.

<85> Section 3.1.4.72:  SharePoint Foundation 2010 and SharePoint Foundation 2013 do not return a fault in this case.

<86> Section 3.1.4.73:  SharePoint Foundation 2010 and SharePoint Foundation 2013 do not return a fault in this case.

<87> Section 3.1.4.73:  SharePoint Foundation 2010 and SharePoint Foundation 2013 do not return a fault in this case.

<88> Section 3.1.4.76:  SharePoint Foundation 2010 and SharePoint Foundation 2013 do not return a fault in this case.

<89> Section 3.1.4.79:  SharePoint Foundation 2010 and SharePoint Foundation 2013 do not return a fault in this case.

<90> Section 3.1.4.79:  SharePoint Foundation 2010 and SharePoint Foundation 2013 do not return a fault in this case.

<91> Section 3.1.4.82.2.2:  SharePoint Foundation 2010 and SharePoint Foundation 2013 require the identifier to be in the following format as expressed in ABNF as specified in [RFC5234]:

 Identifier = TypeName *1(%x2C FullAssemblyName)
 FullAssemblyName = LibraryIdentifier %x2C VersionProperty %x2C CultureProperty %x2C PublicKeyTokenProperty

where LibraryIdentifier, VersionProperty, PublicKeyTokenProperty, and CultureProperty are as specified in [MS-NRTP] section 2.2.1.3.

TypeName: The name of the type that conforms to the [ECMA-335] specification and can be understood by the .NET Framework. The format is as specified in [MS-NRTP], Section 2.2.1.2. The specified type implements operations that are described in [MSDN-SharePointSDK].

<92> Section 3.1.4.84:  SharePoint Foundation 2010 and SharePoint Foundation 2013 ignore the level parameter when retrieving the TypeDescriptors.

<93> Section 3.1.4.84.2.1:  In SharePoint Foundation 2010 and SharePoint Foundation 2013, level is ignored. Only name, parameterId and partitionId are used.

<94> Section 3.1.4.87:  In the case where the MethodInstance is an AccessChecker, SharePoint Foundation 2010 and SharePoint Foundation 2013 do not respond with a fault, instead return an invalid response, which MUST be ignored by the protocol client.

<95> Section 3.1.4.87.2.2:  SharePoint Foundation 2010 and SharePoint Foundation 2013 use XML namespace value "http://tempuri.org/XMLSchema.xsd/" concatenated with the namespace of the Entity that contains the specified MethodInstance.

<96> Section 3.1.4.87.2.2:  SharePoint Foundation 2010 and SharePoint Foundation 2013 use XML namespace value "http://schemas.microsoft.com/windows/2007/BusinessDataCatalog/Annotations".

<97> Section 3.1.4.92.2.2:  In SharePoint Foundation 2010 and SharePoint Foundation 2013, this operation returns false.

<98> Section 3.1.4.93:  SharePoint Foundation 2010 and SharePoint Foundation 2013 do not return a fault in this case.

<99> Section 3.1.4.93.2.2:  In SharePoint Foundation 2010 and SharePoint Foundation 2013, if the MetadataObject specified in the request is an Entity, this operation will not set description while returning created MetadataObject.

<100> Section 3.1.4.94:  SharePoint Foundation 2010 and SharePoint Foundation 2013 return a fault containing the BdcExceptionState complex type (section 2.2.4.25) in the case where MetadataObject is LobSystem.

<101> Section 3.1.4.94:  SharePoint Foundation 2010 and SharePoint Foundation 2013 could return a fault containing the BdcExceptionState (section 2.2.4.25) instead of  PackageFormatExceptionState (section 2.2.4.48).

<102> Section 3.1.4.95:  SharePoint Foundation 2010 and SharePoint Foundation 2013 return a fault containing the InvalidOperationException complex type (section 2.2.4.38) in this case.

<103> Section 3.1.4.96:  In the case when the packageContents element is specified as Model, LocalizedNames or None, SharePoint Foundation 2010 and SharePoint Foundation 2013 do not return a fault.

<104> Section 3.1.4.96.2.2:  SharePoint Foundation 2010 and SharePoint Foundation 2013 return a fault containing the InvalidOperationException complex type (section 2.2.4.38) in this case.

<105> Section 3.1.4.97:  SharePoint Foundation 2010 and SharePoint Foundation 2013 return a fault containing the BdcExceptionState (section 2.2.4.25) in this case MetadataObject is LobSystem.

<106> Section 3.1.4.97:  SharePoint Foundation 2010 and SharePoint Foundation 2013 return a fault containing the InvalidOperationException complex type (section 2.2.4.38) in this case.

<107> Section 3.1.4.97:  SharePoint Foundation 2010 and SharePoint Foundation 2013 return a fault containing the BdcExceptionState (section 2.2.4.25) in this case MetadataObject is LobSystem.

<108> Section 3.1.4.108:  SharePoint Foundation 2010 and SharePoint Foundation 2013 do not return a fault in this case.

<109> Section 3.1.4.110:  SharePoint Foundation 2010 and SharePoint Foundation 2013 do not return a fault in cases where xml does not contain either the IdentifierName, IdentifierEntityName and IdentifierEntityNamespace, or the AssociationName, AssociationEntityName and AssociationEntityNamespace.

 

<110> Section 3.1.4.111:  SharePoint Foundation 2010 and SharePoint Foundation 2013 return a MetadataException, serialized as specified in section 2.2.4, in this case.

<111> Section 3.1.4.111:  SharePoint Foundation 2010 and SharePoint Foundation 2013 return a MetadataException, serialized as specified in section 2.2.4, in this case.

<112> Section 3.1.4.111:  SharePoint Foundation 2010 and SharePoint Foundation 2013 return a MetadataException, serialized as specified in section 2.2.4, in this case.

<113> Section 3.1.4.111:  SharePoint Foundation 2010 and SharePoint Foundation 2013 return a MetadataException, serialized as specified in section 2.2.4, in this case.

<114> Section 3.1.4.111:  SharePoint Foundation 2010 and SharePoint Foundation 2013 return a MetadataException, serialized as specified in section 2.2.4, in this case.

<115> Section 3.1.4.111:  SharePoint Foundation 2010 and SharePoint Foundation 2013 do not raise an error in this case.

<116> Section 3.1.4.111:  SharePoint Foundation 2010 and SharePoint Foundation 2013 return a MetadataException, serialized as specified in section 2.2.4, in this case.

<117> Section 3.1.4.111:  SharePoint Foundation 2010 and SharePoint Foundation 2013 return a MetadataException, serialized as specified in section 2.2.4, in this case.

<118> Section 3.1.4.111:  SharePoint Foundation 2010 and SharePoint Foundation 2013 return a MetadataException, serialized as specified in section 2.2.4, in this case.

<119> Section 3.1.4.111:  SharePoint Foundation 2010 and SharePoint Foundation 2013 return a MetadataException, serialized as specified in section 2.2.4, in this case.

<120> Section 3.1.4.111:  SharePoint Foundation 2010 and SharePoint Foundation 2013 do not return a fault in this case.

<121> Section 3.1.4.111:  SharePoint Foundation 2010 and SharePoint Foundation 2013 do not return a fault in this case.

<122> Section 3.1.4.111:  SharePoint Foundation 2010 and SharePoint Foundation 2013 return a fault containing the BdcExceptionState complex type (section 2.2.4.25).

<123> Section 3.1.4.111:  In SharePoint Foundation 2010 and SharePoint Foundation 2013, this operation does not set the IsDefault attribute of a MethodInstance with the same value for MethodInstanceType within the containing DataClass to 1.

<124> Section 3.1.4.111.2.1:  SharePoint Foundation 2010 and SharePoint Foundation 2013  return a fault containing the InvalidMetadataObjectExceptionState complex type (section 2.2.4.38) in cases where the specified MetadataObject is the FilterDescriptor of type TimeStampFilter.

<125> Section 3.1.4.112:  SharePoint Foundation 2010 and SharePoint Foundation 2013 call this method only when a deprecated public API is invoked.