You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@chemistry.apache.org by Florian Müller <fm...@apache.org> on 2013/05/03 17:08:28 UTC

Re: Heads up on the CMIS 1.1 implementation in OpenCMIS

 Hi,

 Here is an update on the CMIS 1.1 Web Services implementation. The 
 whole Web Services code has been refactored.

 Web Services client:

 - Supports CMIS 1.0 and CMIS 1.1.
 - The CMIS version of the server is auto-detected.
 - It can now handle CMIS WSDLs that are protected by HTTP Basic 
 Authentication.
 - WSDL URL(s) or endpoint URL(s) can be configured. The latter doesn't 
 require a WSDL on the server and starts up a bit faster.
 - Support for different JAX-WS implementations. The session parameter 
 WEBSERVICES_JAXWS_IMPL can be set to the following values:
   * sunri
     + Support for JAX-WS RI
     + Tested with 2.1.7, _should_ work with 2.2.x
     + Requires JAX-WS RI jars
     + It's the default
   * sunjre
     + Support for the JAX-WS implementation shipped with Oracle JREs 
 and derived JREs
     + Requires Java 6u4 or later
     + Doesn't require any additional JAX-WS and JAXB jars
     + Barely tested
   * cxf
     + Support for Apache CXF
     + Requires CXF jars
     + Barely tested
   * websphere
     + Support for IBM WebSphere 7.0.0.5 and later
     + Doesn't require any additional JAX-WS and JAXB jars
     + Works only on WebSphere
     + Barely tested
 - The JAX-WS implementations above handle (big) content attachments 
 differently.
   OpenCMIS tries to do its best to enable content streaming, but the 
 behavior eventually depends on the underlying implementation.
 - The extra packages for WebLogic and Websphere have been removed, 
 because they are not necessary anymore.


 Web Services server:

 - Supports CMIS 1.0 and CMIS 1.1.
 - Five CMIS endpoints:
   * AtomPub Binding CMIS 1.0
   * AtomPub Binding CMIS 1.1
   * Web Services Binding CMIS 1.0
   * Web Services Binding CMIS 1.1
   * Browser Binding CMIS 1.1
 - Requires JAX-WS RI 2.1.7.
 - The server implementation has been split into two modules:
   * chemistry-opencmis-server-bindings (server code)
   * chemistry-opencmis-server-bindings-war (server war)
   (For OpenCMIS developers: You have to get a fresh copy of the source 
 code.)
 - Please note that the war file structure and some files have changed.
   The following steps are necessary to migrate to the new Web Services 
 implementation:
   * Remove the directory "wsdl".
   * Add the directories "cmis10" and "cmis11" from the server bindings 
 war package.
   * Replace the file "sun-jaxws.xml" with the new version.
   * Check the new "web.xml" and copy the fragments you need.


 The OpenCMIS build now produces two client-with-dependencies packages; 
 one with the JAX-WS RI jars and one with Apache CXF jars.
 There are also two CMIS Workbench packages now. One uses the JAX-WS JRE 
 classes; the other one uses Apache CXF.
 We have to discuss if we want to release the CXF packages.

 With that OpenCMIS does now fully support CMIS 1.0 and CMIS 1.1 on the 
 client and on the server side.
 The TCK coverage for the new CMIS 1.1 features is still basic, but 
 there are at least smoke tests for all new CMIS 1.1 operations.
 I'd like to ask everybody to grab the latest snapshot and test it. If 
 everything looks good, we should release OpenCMIS 0.9.0.

 - Florian



> Another update:
>
> All CMIS 1.1 features have been implemented for the AtomPub binding.
> There are TCK tests for almost all new features. (There are no tests
> for retention and hold support at the moment.) The test coverage is
> basic but will enhance over time. It should be good enough to start
> off.
>
> How about letting everybody play with the current SNAPSHOT and in a
> few weeks cut an OpenCMIS 0.9.0-beta-2 release?
> After that we can tackle the Web Services binding and release the
> final 0.9.0 version.
>
>
> - Florian
>
>
>> Quick update:
>>
>> The XML code refactoring is completed. That is, the AtomPub binding
>> is now CMIS 1.1 compliant but a few features are not implemented, 
>> yet.
>> For example, creating and deleting types is not supported at this
>> point. I start implementing the missing features now.
>>
>> The refactoring had two nice side effects.
>> 1. The AtomPub binding does not depend on JAXB anymore. If you are
>> not using the Web Services binding, you can remove this dependency.
>> 2. The XML processing is now in some scenarios up to 50% faster. :)
>>
>>
>> - Florian
>>
>>
>>
>>> Hi,
>>>
>>> The Browser Binding already supports CMIS 1.1 but the other two
>>> binding do not.
>>> I'm going to implement CMIS 1.1 for the AtomPub binding next. That
>>> requires a rewrite of the XML writing and parsing components. I 
>>> have
>>> done most of this work in the last few weeks, but the new XML code
>>> isn't active, yet.
>>> If nobody objects, I will exchange the XML code in the next few 
>>> days.
>>> If you then experience any issues with the OpenCMIS SNAPSHOT, 
>>> please
>>> let me know.
>>>
>>> - Florian


Re: Heads up on the CMIS 1.1 implementation in OpenCMIS

Posted by Florian Müller <fm...@apache.org>.
 Hi Michael,

 I cannot reproduce this problem. The (Workbench) TCK works fine against 
 the InMemory Repository.

 Does your repository report the CMIS version 1.1 in the repository info 
 on a CMIS 1.0 endpoint?
 If that's the case, the TCK tries to call new CMIS 1.1 operations that 
 are not exposed by the CMIS 1.0 endpoint.


 - Florian


> Hi,
>
> My atompub issue seems to be solved with the commit from may 4.
>
>
> How do you run the TCK tests? Against which server? With which 
> version of
>> the TCK?
>> The TCK tests work find during the build. Does a full OpenCMIS build 
>> work
>> for you?
>>
>>
> I was running the test with my own runner (an AbstractRunner).
> And against my own server.
> It was the version from trunk.
> The build is working fine for me.
>
> So indeed the problem might be on my side.
>
> However, running the tck from workbench (built from trunk) gives the 
> same
> result:
>
> ---------------------------------------------------------------
> Bulk Update Properties Test (WEBSERVICES) (0 ms)
> ---------------------------------------------------------------
>
>   UNEXPECTED_EXCEPTION: Exception:
> 
> org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException:
> Error: Cannot find dispatch method for {
> 
> http://docs.oasis-open.org/ns/cmis/messaging/200908/}bulkUpdateProperties(AbstractSessionTest.java:159)
>
> Stacktrace:
>
> 
> org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException:
> Error: Cannot find dispatch method for {
> 
> http://docs.oasis-open.org/ns/cmis/messaging/200908/}bulkUpdateProperties
> at
> 
> org.apache.chemistry.opencmis.client.bindings.spi.webservices.ObjectServiceImpl.bulkUpdateProperties(ObjectServiceImpl.java:271)
> at
> 
> org.apache.chemistry.opencmis.client.runtime.SessionImpl.bulkUpdateProperties(SessionImpl.java:1013)
> at
> 
> org.apache.chemistry.opencmis.tck.tests.crud.BulkUpdatePropertiesTest.run(BulkUpdatePropertiesTest.java:83)
> at
> 
> org.apache.chemistry.opencmis.tck.impl.AbstractSessionTest.run(AbstractSessionTest.java:156)
> at
> 
> org.apache.chemistry.opencmis.tck.impl.AbstractCmisTestGroup.run(AbstractCmisTestGroup.java:109)
> at
> 
> org.apache.chemistry.opencmis.tck.runner.AbstractRunner.run(AbstractRunner.java:251)
> at
> 
> org.apache.chemistry.opencmis.workbench.TckDialog$TckTask.doInBackground(TckDialog.java:674)
> at
> 
> org.apache.chemistry.opencmis.workbench.TckDialog$TckTask.doInBackground(TckDialog.java:662)
> at javax.swing.SwingWorker$1.call(SwingWorker.java:277)
> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> at javax.swing.SwingWorker.run(SwingWorker.java:316)
> at
> 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
> at
> 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
> at java.lang.Thread.run(Thread.java:680)
> Caused by: javax.xml.ws.soap.SOAPFaultException: Cannot find dispatch
> method for {
> 
> http://docs.oasis-open.org/ns/cmis/messaging/200908/}bulkUpdateProperties
> at
> 
> com.sun.xml.internal.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:178)
> at
> 
> com.sun.xml.internal.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:111)
> at
> 
> com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:108)
> at
> 
> com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:78)
> at 
> com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:107)
> at com.sun.proxy.$Proxy42.bulkUpdateProperties(Unknown Source)
> at
> 
> org.apache.chemistry.opencmis.client.bindings.spi.webservices.ObjectServiceImpl.bulkUpdateProperties(ObjectServiceImpl.java:256)
> ... 14 more
>   Exception: Error: Cannot find dispatch method for {
> 
> http://docs.oasis-open.org/ns/cmis/messaging/200908/}bulkUpdateProperties
>
>
> ---------------------------------------------------------------
> Set, Append, and Delete Content Test (WEBSERVICES) (0 ms)
> ---------------------------------------------------------------
>
>   UNEXPECTED_EXCEPTION: Exception:
> 
> org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException:
> Error: Cannot find dispatch method for {
> 
> http://docs.oasis-open.org/ns/cmis/messaging/200908/}appendContentStream(AbstractSessionTest.java:159)
>
> Stacktrace:
>
> 
> org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException:
> Error: Cannot find dispatch method for {
> 
> http://docs.oasis-open.org/ns/cmis/messaging/200908/}appendContentStream
> at
> 
> org.apache.chemistry.opencmis.client.bindings.spi.webservices.ObjectServiceImpl.appendContentStream(ObjectServiceImpl.java:509)
> at
> 
> org.apache.chemistry.opencmis.client.runtime.DocumentImpl.appendContentStream(DocumentImpl.java:467)
> at
> 
> org.apache.chemistry.opencmis.client.runtime.DocumentImpl.appendContentStream(DocumentImpl.java:447)
> at
> 
> org.apache.chemistry.opencmis.tck.tests.crud.SetAndDeleteContentTest.run(SetAndDeleteContentTest.java:163)
> at
> 
> org.apache.chemistry.opencmis.tck.impl.AbstractSessionTest.run(AbstractSessionTest.java:156)
> at
> 
> org.apache.chemistry.opencmis.tck.impl.AbstractCmisTestGroup.run(AbstractCmisTestGroup.java:109)
> at
> 
> org.apache.chemistry.opencmis.tck.runner.AbstractRunner.run(AbstractRunner.java:251)
> at
> 
> org.apache.chemistry.opencmis.workbench.TckDialog$TckTask.doInBackground(TckDialog.java:674)
> at
> 
> org.apache.chemistry.opencmis.workbench.TckDialog$TckTask.doInBackground(TckDialog.java:662)
> at javax.swing.SwingWorker$1.call(SwingWorker.java:277)
> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> at javax.swing.SwingWorker.run(SwingWorker.java:316)
> at
> 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
> at
> 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
> at java.lang.Thread.run(Thread.java:680)
> Caused by: javax.xml.ws.soap.SOAPFaultException: Cannot find dispatch
> method for {
> 
> http://docs.oasis-open.org/ns/cmis/messaging/200908/}appendContentStream
> at
> 
> com.sun.xml.internal.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:178)
> at
> 
> com.sun.xml.internal.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:111)
> at
> 
> com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:108)
> at
> 
> com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:78)
> at 
> com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:107)
> at com.sun.proxy.$Proxy42.appendContentStream(Unknown Source)
> at
> 
> org.apache.chemistry.opencmis.client.bindings.spi.webservices.ObjectServiceImpl.appendContentStream(ObjectServiceImpl.java:500)
> ... 15 more
>   Exception: Error: Cannot find dispatch method for {
> 
> http://docs.oasis-open.org/ns/cmis/messaging/200908/}appendContentStream
>
>
> Michael


Re: Heads up on the CMIS 1.1 implementation in OpenCMIS

Posted by Michael Brackx <mi...@gmail.com>.
Hi,

My atompub issue seems to be solved with the commit from may 4.


How do you run the TCK tests? Against which server? With which version of
> the TCK?
> The TCK tests work find during the build. Does a full OpenCMIS build work
> for you?
>
>
I was running the test with my own runner (an AbstractRunner).
And against my own server.
It was the version from trunk.
The build is working fine for me.

So indeed the problem might be on my side.

However, running the tck from workbench (built from trunk) gives the same
result:

---------------------------------------------------------------
Bulk Update Properties Test (WEBSERVICES) (0 ms)
---------------------------------------------------------------

  UNEXPECTED_EXCEPTION: Exception:
org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException:
Error: Cannot find dispatch method for {
http://docs.oasis-open.org/ns/cmis/messaging/200908/}bulkUpdateProperties(AbstractSessionTest.java:159)

Stacktrace:

org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException:
Error: Cannot find dispatch method for {
http://docs.oasis-open.org/ns/cmis/messaging/200908/}bulkUpdateProperties
at
org.apache.chemistry.opencmis.client.bindings.spi.webservices.ObjectServiceImpl.bulkUpdateProperties(ObjectServiceImpl.java:271)
at
org.apache.chemistry.opencmis.client.runtime.SessionImpl.bulkUpdateProperties(SessionImpl.java:1013)
at
org.apache.chemistry.opencmis.tck.tests.crud.BulkUpdatePropertiesTest.run(BulkUpdatePropertiesTest.java:83)
at
org.apache.chemistry.opencmis.tck.impl.AbstractSessionTest.run(AbstractSessionTest.java:156)
at
org.apache.chemistry.opencmis.tck.impl.AbstractCmisTestGroup.run(AbstractCmisTestGroup.java:109)
at
org.apache.chemistry.opencmis.tck.runner.AbstractRunner.run(AbstractRunner.java:251)
at
org.apache.chemistry.opencmis.workbench.TckDialog$TckTask.doInBackground(TckDialog.java:674)
at
org.apache.chemistry.opencmis.workbench.TckDialog$TckTask.doInBackground(TckDialog.java:662)
at javax.swing.SwingWorker$1.call(SwingWorker.java:277)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at javax.swing.SwingWorker.run(SwingWorker.java:316)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:680)
Caused by: javax.xml.ws.soap.SOAPFaultException: Cannot find dispatch
method for {
http://docs.oasis-open.org/ns/cmis/messaging/200908/}bulkUpdateProperties
at
com.sun.xml.internal.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:178)
at
com.sun.xml.internal.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:111)
at
com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:108)
at
com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:78)
at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:107)
at com.sun.proxy.$Proxy42.bulkUpdateProperties(Unknown Source)
at
org.apache.chemistry.opencmis.client.bindings.spi.webservices.ObjectServiceImpl.bulkUpdateProperties(ObjectServiceImpl.java:256)
... 14 more
  Exception: Error: Cannot find dispatch method for {
http://docs.oasis-open.org/ns/cmis/messaging/200908/}bulkUpdateProperties


---------------------------------------------------------------
Set, Append, and Delete Content Test (WEBSERVICES) (0 ms)
---------------------------------------------------------------

  UNEXPECTED_EXCEPTION: Exception:
org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException:
Error: Cannot find dispatch method for {
http://docs.oasis-open.org/ns/cmis/messaging/200908/}appendContentStream(AbstractSessionTest.java:159)

Stacktrace:

org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException:
Error: Cannot find dispatch method for {
http://docs.oasis-open.org/ns/cmis/messaging/200908/}appendContentStream
at
org.apache.chemistry.opencmis.client.bindings.spi.webservices.ObjectServiceImpl.appendContentStream(ObjectServiceImpl.java:509)
at
org.apache.chemistry.opencmis.client.runtime.DocumentImpl.appendContentStream(DocumentImpl.java:467)
at
org.apache.chemistry.opencmis.client.runtime.DocumentImpl.appendContentStream(DocumentImpl.java:447)
at
org.apache.chemistry.opencmis.tck.tests.crud.SetAndDeleteContentTest.run(SetAndDeleteContentTest.java:163)
at
org.apache.chemistry.opencmis.tck.impl.AbstractSessionTest.run(AbstractSessionTest.java:156)
at
org.apache.chemistry.opencmis.tck.impl.AbstractCmisTestGroup.run(AbstractCmisTestGroup.java:109)
at
org.apache.chemistry.opencmis.tck.runner.AbstractRunner.run(AbstractRunner.java:251)
at
org.apache.chemistry.opencmis.workbench.TckDialog$TckTask.doInBackground(TckDialog.java:674)
at
org.apache.chemistry.opencmis.workbench.TckDialog$TckTask.doInBackground(TckDialog.java:662)
at javax.swing.SwingWorker$1.call(SwingWorker.java:277)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at javax.swing.SwingWorker.run(SwingWorker.java:316)
at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:680)
Caused by: javax.xml.ws.soap.SOAPFaultException: Cannot find dispatch
method for {
http://docs.oasis-open.org/ns/cmis/messaging/200908/}appendContentStream
at
com.sun.xml.internal.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:178)
at
com.sun.xml.internal.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:111)
at
com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:108)
at
com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:78)
at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:107)
at com.sun.proxy.$Proxy42.appendContentStream(Unknown Source)
at
org.apache.chemistry.opencmis.client.bindings.spi.webservices.ObjectServiceImpl.appendContentStream(ObjectServiceImpl.java:500)
... 15 more
  Exception: Error: Cannot find dispatch method for {
http://docs.oasis-open.org/ns/cmis/messaging/200908/}appendContentStream


Michael

Re: Heads up on the CMIS 1.1 implementation in OpenCMIS

Posted by Florian Müller <fm...@apache.org>.
Hi Michael,

How do you run the TCK tests? Against which server? With which version 
of the TCK?
The TCK tests work find during the build. Does a full OpenCMIS build 
work for you?


- Florian


> Nice work. Thanks.
>
> Some issues:
> For the webservice binding 2 tck tests are failing for me:
>
> Caused by: javax.xml.ws.soap.SOAPFaultException: Cannot find dispatch
> method for {
> http://docs.oasis-open.org/ns/cmis/messaging/200908/}bulkUpdateProperties
>          at
> com.sun.xml.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:189)
>          at
> com.sun.xml.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:122)
>          at
> com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:119)
>          at
> com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:89)
>          at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:118)
>          at $Proxy44.bulkUpdateProperties(Unknown Source)
>          at
> org.apache.chemistry.opencmis.client.bindings.spi.webservices.ObjectServiceImpl.bulkUpdateProperties(ObjectServiceImpl.java:256)
>
> Caused by: javax.xml.ws.soap.SOAPFaultException: Cannot find dispatch
> method for {
> http://docs.oasis-open.org/ns/cmis/messaging/200908/}appendContentStream
>          at
> com.sun.xml.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:189)
>          at
> com.sun.xml.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:122)
>          at
> com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:119)
>          at
> com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:89)
>          at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:118)
>          at $Proxy44.appendContentStream(Unknown Source)
>          at
> org.apache.chemistry.opencmis.client.bindings.spi.webservices.ObjectServiceImpl.appendContentStream(ObjectServiceImpl.java:500)
>
> For the atompub binding the ACL Test is now failing for me.
> I will have to look into it, but the code works for the webservice&
> browser binding.
> Maybe the serialization changed, or it was more lenient before.
>
>    FAILURE: Basic ACL (ACLSmokeTest.java:77)
>      FAILURE: List of ACEs is null! (AbstractSessionTest.java:1153)
>        INFO: Object is null!
>
> Michael
>
> On Fri, May 3, 2013 at 5:08 PM, Florian Müller<fm...@apache.org>  wrote:
>
>> Hi,
>>
>> Here is an update on the CMIS 1.1 Web Services implementation. The whole
>> Web Services code has been refactored.
>>
>> Web Services client:
>>
>> - Supports CMIS 1.0 and CMIS 1.1.
>> - The CMIS version of the server is auto-detected.
>> - It can now handle CMIS WSDLs that are protected by HTTP Basic
>> Authentication.
>> - WSDL URL(s) or endpoint URL(s) can be configured. The latter doesn't
>> require a WSDL on the server and starts up a bit faster.
>> - Support for different JAX-WS implementations. The session parameter
>> WEBSERVICES_JAXWS_IMPL can be set to the following values:
>>    * sunri
>>      + Support for JAX-WS RI
>>      + Tested with 2.1.7, _should_ work with 2.2.x
>>      + Requires JAX-WS RI jars
>>      + It's the default
>>    * sunjre
>>      + Support for the JAX-WS implementation shipped with Oracle JREs and
>> derived JREs
>>      + Requires Java 6u4 or later
>>      + Doesn't require any additional JAX-WS and JAXB jars
>>      + Barely tested
>>    * cxf
>>      + Support for Apache CXF
>>      + Requires CXF jars
>>      + Barely tested
>>    * websphere
>>      + Support for IBM WebSphere 7.0.0.5 and later
>>      + Doesn't require any additional JAX-WS and JAXB jars
>>      + Works only on WebSphere
>>      + Barely tested
>> - The JAX-WS implementations above handle (big) content attachments
>> differently.
>>    OpenCMIS tries to do its best to enable content streaming, but the
>> behavior eventually depends on the underlying implementation.
>> - The extra packages for WebLogic and Websphere have been removed, because
>> they are not necessary anymore.
>>
>>
>> Web Services server:
>>
>> - Supports CMIS 1.0 and CMIS 1.1.
>> - Five CMIS endpoints:
>>    * AtomPub Binding CMIS 1.0
>>    * AtomPub Binding CMIS 1.1
>>    * Web Services Binding CMIS 1.0
>>    * Web Services Binding CMIS 1.1
>>    * Browser Binding CMIS 1.1
>> - Requires JAX-WS RI 2.1.7.
>> - The server implementation has been split into two modules:
>>    * chemistry-opencmis-server-**bindings (server code)
>>    * chemistry-opencmis-server-**bindings-war (server war)
>>    (For OpenCMIS developers: You have to get a fresh copy of the source
>> code.)
>> - Please note that the war file structure and some files have changed.
>>    The following steps are necessary to migrate to the new Web Services
>> implementation:
>>    * Remove the directory "wsdl".
>>    * Add the directories "cmis10" and "cmis11" from the server bindings war
>> package.
>>    * Replace the file "sun-jaxws.xml" with the new version.
>>    * Check the new "web.xml" and copy the fragments you need.
>>
>>
>> The OpenCMIS build now produces two client-with-dependencies packages; one
>> with the JAX-WS RI jars and one with Apache CXF jars.
>> There are also two CMIS Workbench packages now. One uses the JAX-WS JRE
>> classes; the other one uses Apache CXF.
>> We have to discuss if we want to release the CXF packages.
>>
>> With that OpenCMIS does now fully support CMIS 1.0 and CMIS 1.1 on the
>> client and on the server side.
>> The TCK coverage for the new CMIS 1.1 features is still basic, but there
>> are at least smoke tests for all new CMIS 1.1 operations.
>> I'd like to ask everybody to grab the latest snapshot and test it. If
>> everything looks good, we should release OpenCMIS 0.9.0.
>>
>> - Florian
>>
>>
>>
>>
>>   Another update:
>>> All CMIS 1.1 features have been implemented for the AtomPub binding.
>>> There are TCK tests for almost all new features. (There are no tests
>>> for retention and hold support at the moment.) The test coverage is
>>> basic but will enhance over time. It should be good enough to start
>>> off.
>>>
>>> How about letting everybody play with the current SNAPSHOT and in a
>>> few weeks cut an OpenCMIS 0.9.0-beta-2 release?
>>> After that we can tackle the Web Services binding and release the
>>> final 0.9.0 version.
>>>
>>>
>>> - Florian
>>>
>>>
>>>   Quick update:
>>>> The XML code refactoring is completed. That is, the AtomPub binding
>>>> is now CMIS 1.1 compliant but a few features are not implemented, yet.
>>>> For example, creating and deleting types is not supported at this
>>>> point. I start implementing the missing features now.
>>>>
>>>> The refactoring had two nice side effects.
>>>> 1. The AtomPub binding does not depend on JAXB anymore. If you are
>>>> not using the Web Services binding, you can remove this dependency.
>>>> 2. The XML processing is now in some scenarios up to 50% faster. :)
>>>>
>>>>
>>>> - Florian
>>>>
>>>>
>>>>
>>>>   Hi,
>>>>> The Browser Binding already supports CMIS 1.1 but the other two
>>>>> binding do not.
>>>>> I'm going to implement CMIS 1.1 for the AtomPub binding next. That
>>>>> requires a rewrite of the XML writing and parsing components. I have
>>>>> done most of this work in the last few weeks, but the new XML code
>>>>> isn't active, yet.
>>>>> If nobody objects, I will exchange the XML code in the next few days.
>>>>> If you then experience any issues with the OpenCMIS SNAPSHOT, please
>>>>> let me know.
>>>>>
>>>>> - Florian
>>>>>
>

Re: Heads up on the CMIS 1.1 implementation in OpenCMIS

Posted by Michael Brackx <mi...@gmail.com>.
Nice work. Thanks.

Some issues:
For the webservice binding 2 tck tests are failing for me:

Caused by: javax.xml.ws.soap.SOAPFaultException: Cannot find dispatch
method for {
http://docs.oasis-open.org/ns/cmis/messaging/200908/}bulkUpdateProperties
        at
com.sun.xml.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:189)
        at
com.sun.xml.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:122)
        at
com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:119)
        at
com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:89)
        at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:118)
        at $Proxy44.bulkUpdateProperties(Unknown Source)
        at
org.apache.chemistry.opencmis.client.bindings.spi.webservices.ObjectServiceImpl.bulkUpdateProperties(ObjectServiceImpl.java:256)

Caused by: javax.xml.ws.soap.SOAPFaultException: Cannot find dispatch
method for {
http://docs.oasis-open.org/ns/cmis/messaging/200908/}appendContentStream
        at
com.sun.xml.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:189)
        at
com.sun.xml.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:122)
        at
com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:119)
        at
com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:89)
        at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:118)
        at $Proxy44.appendContentStream(Unknown Source)
        at
org.apache.chemistry.opencmis.client.bindings.spi.webservices.ObjectServiceImpl.appendContentStream(ObjectServiceImpl.java:500)

For the atompub binding the ACL Test is now failing for me.
I will have to look into it, but the code works for the webservice &
browser binding.
Maybe the serialization changed, or it was more lenient before.

  FAILURE: Basic ACL (ACLSmokeTest.java:77)
    FAILURE: List of ACEs is null! (AbstractSessionTest.java:1153)
      INFO: Object is null!

Michael

On Fri, May 3, 2013 at 5:08 PM, Florian Müller <fm...@apache.org> wrote:

> Hi,
>
> Here is an update on the CMIS 1.1 Web Services implementation. The whole
> Web Services code has been refactored.
>
> Web Services client:
>
> - Supports CMIS 1.0 and CMIS 1.1.
> - The CMIS version of the server is auto-detected.
> - It can now handle CMIS WSDLs that are protected by HTTP Basic
> Authentication.
> - WSDL URL(s) or endpoint URL(s) can be configured. The latter doesn't
> require a WSDL on the server and starts up a bit faster.
> - Support for different JAX-WS implementations. The session parameter
> WEBSERVICES_JAXWS_IMPL can be set to the following values:
>   * sunri
>     + Support for JAX-WS RI
>     + Tested with 2.1.7, _should_ work with 2.2.x
>     + Requires JAX-WS RI jars
>     + It's the default
>   * sunjre
>     + Support for the JAX-WS implementation shipped with Oracle JREs and
> derived JREs
>     + Requires Java 6u4 or later
>     + Doesn't require any additional JAX-WS and JAXB jars
>     + Barely tested
>   * cxf
>     + Support for Apache CXF
>     + Requires CXF jars
>     + Barely tested
>   * websphere
>     + Support for IBM WebSphere 7.0.0.5 and later
>     + Doesn't require any additional JAX-WS and JAXB jars
>     + Works only on WebSphere
>     + Barely tested
> - The JAX-WS implementations above handle (big) content attachments
> differently.
>   OpenCMIS tries to do its best to enable content streaming, but the
> behavior eventually depends on the underlying implementation.
> - The extra packages for WebLogic and Websphere have been removed, because
> they are not necessary anymore.
>
>
> Web Services server:
>
> - Supports CMIS 1.0 and CMIS 1.1.
> - Five CMIS endpoints:
>   * AtomPub Binding CMIS 1.0
>   * AtomPub Binding CMIS 1.1
>   * Web Services Binding CMIS 1.0
>   * Web Services Binding CMIS 1.1
>   * Browser Binding CMIS 1.1
> - Requires JAX-WS RI 2.1.7.
> - The server implementation has been split into two modules:
>   * chemistry-opencmis-server-**bindings (server code)
>   * chemistry-opencmis-server-**bindings-war (server war)
>   (For OpenCMIS developers: You have to get a fresh copy of the source
> code.)
> - Please note that the war file structure and some files have changed.
>   The following steps are necessary to migrate to the new Web Services
> implementation:
>   * Remove the directory "wsdl".
>   * Add the directories "cmis10" and "cmis11" from the server bindings war
> package.
>   * Replace the file "sun-jaxws.xml" with the new version.
>   * Check the new "web.xml" and copy the fragments you need.
>
>
> The OpenCMIS build now produces two client-with-dependencies packages; one
> with the JAX-WS RI jars and one with Apache CXF jars.
> There are also two CMIS Workbench packages now. One uses the JAX-WS JRE
> classes; the other one uses Apache CXF.
> We have to discuss if we want to release the CXF packages.
>
> With that OpenCMIS does now fully support CMIS 1.0 and CMIS 1.1 on the
> client and on the server side.
> The TCK coverage for the new CMIS 1.1 features is still basic, but there
> are at least smoke tests for all new CMIS 1.1 operations.
> I'd like to ask everybody to grab the latest snapshot and test it. If
> everything looks good, we should release OpenCMIS 0.9.0.
>
> - Florian
>
>
>
>
>  Another update:
>>
>> All CMIS 1.1 features have been implemented for the AtomPub binding.
>> There are TCK tests for almost all new features. (There are no tests
>> for retention and hold support at the moment.) The test coverage is
>> basic but will enhance over time. It should be good enough to start
>> off.
>>
>> How about letting everybody play with the current SNAPSHOT and in a
>> few weeks cut an OpenCMIS 0.9.0-beta-2 release?
>> After that we can tackle the Web Services binding and release the
>> final 0.9.0 version.
>>
>>
>> - Florian
>>
>>
>>  Quick update:
>>>
>>> The XML code refactoring is completed. That is, the AtomPub binding
>>> is now CMIS 1.1 compliant but a few features are not implemented, yet.
>>> For example, creating and deleting types is not supported at this
>>> point. I start implementing the missing features now.
>>>
>>> The refactoring had two nice side effects.
>>> 1. The AtomPub binding does not depend on JAXB anymore. If you are
>>> not using the Web Services binding, you can remove this dependency.
>>> 2. The XML processing is now in some scenarios up to 50% faster. :)
>>>
>>>
>>> - Florian
>>>
>>>
>>>
>>>  Hi,
>>>>
>>>> The Browser Binding already supports CMIS 1.1 but the other two
>>>> binding do not.
>>>> I'm going to implement CMIS 1.1 for the AtomPub binding next. That
>>>> requires a rewrite of the XML writing and parsing components. I have
>>>> done most of this work in the last few weeks, but the new XML code
>>>> isn't active, yet.
>>>> If nobody objects, I will exchange the XML code in the next few days.
>>>> If you then experience any issues with the OpenCMIS SNAPSHOT, please
>>>> let me know.
>>>>
>>>> - Florian
>>>>
>>>
>