Hi Nicu,

Looks like the client is not receiving a valid HTTP response.
That could be caused by a proxy or firewall, but I assume you are running the client and the server on the same machine (-> localhost URL). So, that's unlikely. It could also be a problem of the servlet engine hosting the CMIS server implementation. Some confusion with keep-alive connections maybe.

Is it possible to get a network trace? We need to see what is returned by the server.

What servlet engine are you using on the server side? And which JRE you are using on the client side?

Can you turn keep-alive off on the client side by setting the system property "http.keepAlive" to "false"?


- Florian



Hi,

I reproduced it in a different scenario. Right now, it is checking a
folder existence:

Here is the exception trace:
..Cased by: (so the below is the root cause, no more Caused by. Also
debugging, I saw code=-1, so my feeling is that it is not the result
of a server response. Pls check debug I made, below)
org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException
        at
org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.convertStatusCode(AbstractAtomPubService.java:495)
[chemistry-opencmis-client-bindings-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
        at
org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.read(AbstractAtomPubService.java:634)
[chemistry-opencmis-client-bindings-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
        at
org.apache.chemistry.opencmis.client.bindings.spi.atompub.AbstractAtomPubService.getObjectInternal(AbstractAtomPubService.java:857)
[chemistry-opencmis-client-bindings-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
        at
org.apache.chemistry.opencmis.client.bindings.spi.atompub.ObjectServiceImpl.getObjectByPath(ObjectServiceImpl.java:634)
[chemistry-opencmis-client-bindings-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
        at
org.apache.chemistry.opencmis.client.runtime.SessionImpl.getObjectByPath(SessionImpl.java:556)
[chemistry-opencmis-client-impl-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
        at
org.apache.chemistry.opencmis.client.runtime.SessionImpl.getObjectByPath(SessionImpl.java:534)
[chemistry-opencmis-client-impl-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
        at sun.reflect.GeneratedMethodAccessor49.invoke(Unknown
Source) [:1.7.0_51]
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[rt.jar:1.7.0_51]
at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_51]
        at
org.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:40)
[weld-core-impl-2.1.2.Final.jar:2014-01-09 09:23]
        at
org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:100)
[weld-core-impl-2.1.2.Final.jar:2014-01-09 09:23]
        at
org.jboss.weld.proxies.Serializable$Session$2053138592$Proxy$_$$_WeldClientProxy.getObjectByPath(Unknown
Source) [weld-core-impl-2.1.2.Final.jar:]
        at
org.apache.chemistry.opencmis.client.util.FileUtils.getObject(FileUtils.java:77)
[chemistry-opencmis-client-impl-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
        at
com.computas.contentrepo.impl.basic.cmis.CmisBasicContentRepo.getObject(CmisBasicContentRepo.java:153)
[:]
        at
com.computas.contentrepo.impl.basic.cmis.CmisBasicContentRepo.exists(CmisBasicContentRepo.java:110)
[:]

Reproduces with both 1.0.0-SNAPSHOT pulled today, as well as the stable 0.12:

AbstractAtomPubService.java (1.0.0-SNAPSHOT)
protected Response post(UrlBuilder url, String contentType, Output writer) {
        // make the call
        // Log.d("URL", url.toString());
        Response resp = getHttpInvoker().invokePOST(url, contentType,
writer, session);

        // check response code
        if (resp.getResponseCode() != 201) {
            throw convertStatusCode(resp.getResponseCode(),
resp.getResponseMessage(), resp.getErrorContent(), null);
        }

        return resp;
    }

The resp looks like an empty one, certainly not one coming from the
server, here is why:
- header only has one entry: {content-type=[unknown/unknown]}
- responseCode = -1
- all the other response fields are null
- hasResponseStream = false!

Thanks,
Nicu


Nicu Marasoiu
Enterprise Java Architect
nmaras...@computas.com
+ 40 724746655


-----Original Message-----
From: Florian Müller [mailto:f...@apache.org]
Sent: Thursday, October 09, 2014 6:25 PM
To: dev@chemistry.apache.org
Cc: Nicolae Marasoiu
Subject: RE: response code -1 (request not sent?)

Hi Nicu,

Could you please provide a stack trace?
A CmisRuntimeException can be anything. The context and the error
message are important.


- Florian



Hi,

In fact, calling directly works ok. But calling after some other calls
have been made (getting objects, creating directories), it fails like
this.
Also, creating a new session and doing
getObjectByPath("/content-1670202666") gives the same result after
those operations (after creating a folder tree).

Please advise,
Nicu Marasoiu



-----Original Message-----
From: Nicolae Marasoiu [mailto:nicolae.maras...@computas.com]
Sent: Thursday, October 09, 2014 12:34 PM
To: dev@chemistry.apache.org
Subject: response code -1 (request not sent?)

Hi,

session.getObjectByPath("/content-1670202666") throws a
CmisRuntimeException, wrapping a response code -1 (which is a strange
one, and I think that actually this is not due to a response coming
from the server, since the headers is also empty and all fields of
response are null).

Making a browser test with the url value which fails:
"http://localhost:8080/chemistry-opencmis-server-fileshare-1.0.0-SNAPSHOT/atom11/test/path?path=%2Fcontent-1670202666&filter=&includeAllowableActions=true&includeACL=false&includePolicyIds=false&includeRelationships=none&renditionFilter=cmis%3Anone";
brings a looking code xml with code 200.

This seems to happen with chemistry client 0.12.0 on both
FileShare-0.12.0 and Modeshape-4.

Please advise,
Nicu

Reply via email to