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<[email protected]> 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