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
>>>>
>>>
>