Hi Paul,

Please you try setting a long instead of an int:
cmisProperties.Add(propName, 12345L)

The DotCMIS is not very tolerant. Something that should be changed...


- Florian


> I have a DotCMIS 0.7 app talking to a FileNet P8 5.2 repository.  I'm able to 
> read and write most custom properties (String, Float, DateTime, etc.) ... but 
> not "Integer".
> I can *read* the custom integer property ("RGBInteger"), but when I try to 
> update it (to an existing document), or add it (to a new document), it's 
> always set to "null" in the repository.
> SAMPLE CODE:    Public Sub TestIntegerProp(ByVal docName As String, ByVal 
> propName As String)
> 
>         ' Perform query
>         Dim strSQL = "select * from RGBClass2 where cmis:name like '" & 
> docName & "%'"
>         Dim queryResults As IItemEnumerable(Of IQueryResult) = 
> m_Session.Query(strSQL, False)
> 
>         ' Fetch document
>         Dim qr As IQueryResult = queryResults(0)
>           <= POST /fncmis/resources/RGBOS/Query HTTP/1.1
>         Dim docId As String = 
> qr.GetPropertyValueByQueryName("cmis:objectId").ToString()
>         Dim cmisDoc As IDocument = m_Session.GetObject(docId)
>           <= GET 
> /fncmis/resources/RGBOS/Content/idd_4EA639AB-5973-4750-ABC2-B2742AFCDFEB?filter=&includeAllowableActions=true&includeACL=false
>  HTTP/1.1
>              GET /fncmis/resources/RGBOS/Type/RGBClass2 HTTP/1.1
> 
>         ' Read property
>         Dim cmisProp As IProperty = FindProperty(propName, cmisDoc.Properties)
>           <= OK: the property is "100"
> 
>         ' Update property
>         Dim cmisProperties As IDictionary(Of String, Object) = New 
> Dictionary(Of String, Object)
>         cmisProperties.Add(propName, 12345)
> 
>         ' Update document
>         Dim cmisObj As IObjectId = cmisDoc.UpdateProperties(cmisProperties)
>           <= PUT 
> /fncmis/resources/RGBOS/Content/idd_4EA639AB-5973-4750-ABC2-B2742AFCDFEB?changeToken=9
>  HTTP/1.1
>              GET 
> /fncmis/resources/RGBOS/Content/idd_4EA639AB-5973-4750-ABC2-B2742AFCDFEB?filter=&includeAllowableActions=true&includeACL=false
>  HTTP/1.1
>           <= No error: but this sets the property to "Nothing" (???)
> 
> This is the XML when I query the document:    RGBInteger =>
>        ...
>        <cmis:propertyInteger propertyDefinitionId="RGBInteger" 
> localName="RGBInteger" displayName="RGBInteger" queryName="RGBInteger">
>          <cmis:value>100</cmis:value>
>        </cmis:propertyInteger>
>        <= READ - GOOD!  See correct value of "100"
> But this is the XML when I try to update the document:
>    RGBInteger =>
>        ...
>        <cmis:propertyInteger propertyDefinitionId="RGBInteger" 
> localName="RGBInteger" displayName="RGBInteger" queryName="RGBInteger"/>
> 
> The problem occurs for *all* integer custom properties I try to update: 
> either single-valued (like above) or multi-valued.
> The problem seems similar to this post:
> https://forums.alfresco.com/forum/developer-discussions/alfresco-api/dotcmis-custom-type-property-fails-integers-08202014-2009
>   <= Unfortunately, no resolution...
> Q: Any suggestions what might be going wrong?
> Thank you in advance
> 
> 
>  
> 

Reply via email to