I'm using DotCMIS 0.7 against IBM P8 5.2 fncmis and Alfresco 5.0.d 
repositories.  This query works fine for P8, and fails for Alfresco:
  ' Execute the query
  Dim queryResults As IItemEnumerable(Of IQueryResult)
  Try
    queryResults = m_Session.Query("select * from EntryTemplate where 
VersionStatus=1", False)
    If queryResults.PageNumItems < 0 Then Exit Function
  Catch ex As Exception
    m_ErrorString = ex.Message
    Exit Function
  End Try
PROBLEM:Even though Alfresco is returning an HTTP error 400, DotCMIS isn't 
throwing an exception.  Instead, it hangs for about two minutes, then finally 
gets a network "Timeout" error.
Alfresco URI:POST 
http://centos7:8080/alfresco/api/-default-/public/cmis/versions/1.1/atom/query 
HTTP/1.1

Alfresco Response:HTTP 400:<html><head><title>Apache Chemistry OpenCMIS - 
invalidArgument error</title><style><!--H1 
{font-size:24px;line-height:normal;font-weight:bold;background-color:#f0f0f0;color:#003366;border-bottom:1px
 solid #3c78b5;padding:2px;} BODY 
{font-family:Verdana,arial,sans-serif;color:black;font-size:14px;} HR 
{color:#3c78b5;height:1px;}--></style></head><body><h1>HTTP Status 400 - 
<!--exception-->invalidArgument<!--/exception--></h1><p><!--message-->Type is 
unsupported in query: EntryTemplate<!--/message--></p><hr 
noshade='noshade'/><!--stacktrace--><pre>
org.apache.chemistry.opencmis.commons.exceptions.CmisInvalidArgumentException: 
Type is unsupported in query: EntryTemplate
    at 
org.alfresco.opencmis.search.CMISQueryParser.buildSource(CMISQueryParser.java:1412)
    at 
org.alfresco.opencmis.search.CMISQueryParser.parse(CMISQueryParser.java:139)
    at 
org.alfresco.repo.search.impl.solr.DbCmisQueryLanguage.executeQueryImpl(DbCmisQueryLanguage.java:116)
        ...

Q: How is Alfresco *supposed* to respond so that DotCMIS will detect an error 
and throw an exception?  Is HTTP status 400 sufficient, or should Alfresco do 
"something else"?
Q:Is there any way to make DotCMIS respond to an HTTP 400 by throwing a .Net 
exception?

Reply via email to