Hi Mark,
The specification does not explicitly say that the entire query string
must be in the header.
The specification says for the AtomPub binding:
"Upon submission (creation) of a query document, a response must be
returned with a Location header representing the feed for that query."
That is, a client should be able to repeat the query by just calling
the URL in Location header (via HTTP GET). That means the URL must
contain all necessary information about this query.
There are two approaches to implement that. OpenCMIS uses a stateless
approach and puts everything into the URL, which could be become very
long. An alternative approach would be to store the query on the server,
assign the query statement an id, and return an URL with that id. But
that would require some sort of storage on the server side and opens up
the question how long do you want to maintain these ids.
- Florian
Hello
I have question which appears to have been raised some time ago:
http://mail-archives.apache.org/mod_mbox/chemistry-dev/201106.mbox/%3C4DF8D70D.7000200%40alfresco.com%3E
In that thread, there is reference made to this:
http://tomcat.apache.org/tomcat-6.0-doc/config/http.html#Standard_Implementation
-> maxHttpHeaderSize
In the thread, it is also mentioned that:
*The CMIS specification says that the server has to add a Location
header to its query response
that is "representing the feed for that query". That basically means
that the query is repeated
in the HTTP header*.
The default header buffer size in Tomcat 6 and 7 is 8k. If you remove
all other headers you
end up with about 7884 byte -- plus/minus a few bytes.
You can increase header buffer size in Tomcat.
in the HTTP header.
The default header buffer size in Tomcat 6 and 7 is 8k. If you remove
all other headers you
end up with about 7884 byte -- plus/minus a few bytes.
You can increase header buffer size in Tomcat.
Just curious - is this something in the specification that can only
be
addressed by placing the entire query String in the header?
We have a use case for which the WHERE IN( ) clause could contain up
to
1000 or more 16-digit String values inside the WHERE acme:userID IN(
value1, value2, value3....) part of the query - the acme:employeeID
is a
custom metadata property of the implemented content model.
FWIW... we use:
OpenCMIS 0.8.0
Alfresco Enterprise 4.1.3
Thanks
Mark
* *