You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@chemistry.apache.org by fm...@apache.org on 2013/04/25 17:16:13 UTC
svn commit: r1475820 - in /chemistry/opencmis/trunk:
chemistry-opencmis-client/chemistry-opencmis-client-bindings/
chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/...
Author: fmui
Date: Thu Apr 25 15:16:13 2013
New Revision: 1475820
URL: http://svn.apache.org/r1475820
Log:
CMIS 1.1: more Web Services code (+ a few fixes)
Added:
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/CXFPortProvider.java (with props)
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/SunJREPortProvider.java (with props)
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/SunRIPortProvider.java (with props)
Removed:
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/SunPortProvider.java
Modified:
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/pom.xml
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/CmisWebServicesSpi.java
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/WebSpherePortProvider.java
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/pom.xml
chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/SessionParameter.java
chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/pom.xml
chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/WSConverter.java
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/BrowserBindingUtils.java
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/token/AbstractSimpleTokenHandler.java
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/webapp/WEB-INF/sun-jaxws.xml
chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-jcr/pom.xml
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-fit/pom.xml
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/impl/AbstractSessionTest.java
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/tests/crud/BulkUpdatePropertiesTest.java
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/tests/crud/CreateAndDeleteItemTest.java
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/tests/types/CreateAndDeleteTypeTest.java
chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/tests/types/SecondaryTypesTest.java
chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/pom.xml
chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/assembly/workbench-assembly.xml
chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/start/workbench.bat
chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/start/workbench.sh
Modified: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/pom.xml
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/pom.xml?rev=1475820&r1=1475819&r2=1475820&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/pom.xml (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/pom.xml Thu Apr 25 15:16:13 2013
@@ -92,7 +92,7 @@
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
- <version>1.2.16</version>
+ <version>1.2.17</version>
<scope>test</scope>
</dependency>
<dependency>
@@ -101,20 +101,18 @@
<version>1.6.6</version>
<scope>test</scope>
</dependency>
- <!--
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
- <version>2.4.8</version>
- <scope>compile</scope>
+ <version>2.7.4</version>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
- <version>2.4.8</version>
- <scope>compile</scope>
- </dependency>
- -->
+ <version>2.7.4</version>
+ <scope>provided</scope>
+ </dependency>
</dependencies>
</project>
Added: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/CXFPortProvider.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/CXFPortProvider.java?rev=1475820&view=auto
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/CXFPortProvider.java (added)
+++ chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/CXFPortProvider.java Thu Apr 25 15:16:13 2013
@@ -0,0 +1,117 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.chemistry.opencmis.client.bindings.spi.webservices;
+
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+import javax.xml.namespace.QName;
+import javax.xml.ws.Binding;
+import javax.xml.ws.BindingProvider;
+import javax.xml.ws.soap.MTOMFeature;
+import javax.xml.ws.soap.SOAPBinding;
+
+import org.apache.chemistry.opencmis.client.bindings.impl.CmisBindingsHelper;
+import org.apache.chemistry.opencmis.commons.SessionParameter;
+import org.apache.chemistry.opencmis.commons.exceptions.CmisBaseException;
+import org.apache.chemistry.opencmis.commons.exceptions.CmisConnectionException;
+import org.apache.chemistry.opencmis.commons.spi.AuthenticationProvider;
+import org.apache.cxf.endpoint.Client;
+import org.apache.cxf.frontend.ClientProxy;
+import org.apache.cxf.headers.Header;
+import org.apache.cxf.transport.http.HTTPConduit;
+import org.apache.cxf.transports.http.configuration.HTTPClientPolicy;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.w3c.dom.Element;
+
+/**
+ * Apache CXF JAX-WS implementation
+ */
+public class CXFPortProvider extends AbstractPortProvider {
+ private static final Logger LOG = LoggerFactory.getLogger(CXFPortProvider.class);
+
+ /**
+ * Creates a port object.
+ */
+ protected BindingProvider createPortObject(CmisServiceHolder serviceHolder) {
+
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("Creating Web Service port object of " + serviceHolder.getServiceName() + "...");
+ }
+
+ try {
+ // create port object
+ BindingProvider portObject = createPortObjectFromServiceHolder(serviceHolder, new MTOMFeature());
+
+ Binding binding = ((BindingProvider) portObject).getBinding();
+ ((SOAPBinding) binding).setMTOMEnabled(true);
+
+ // add SOAP and HTTP authentication headers
+ AuthenticationProvider authProvider = CmisBindingsHelper.getAuthenticationProvider(getSession());
+ Map<String, List<String>> httpHeaders = null;
+ if (authProvider != null) {
+ // SOAP header
+ Element soapHeader = authProvider.getSOAPHeaders(portObject);
+ if (soapHeader != null) {
+ ((BindingProvider) portObject).getRequestContext().put(
+ Header.HEADER_LIST,
+ Collections.singletonList(new Header(new QName(soapHeader.getNamespaceURI(), soapHeader
+ .getLocalName()), soapHeader)));
+ }
+
+ // HTTP header
+ String url = (serviceHolder.getEndpointUrl() != null ? serviceHolder.getEndpointUrl().toString()
+ : serviceHolder.getServiceObject().getWSDLDocumentLocation().toString());
+ httpHeaders = authProvider.getHTTPHeaders(url);
+ }
+
+ // set HTTP headers
+ setHTTPHeaders(portObject, httpHeaders);
+
+ // set endpoint URL
+ setEndpointUrl(portObject, serviceHolder.getEndpointUrl());
+
+ Client client = ClientProxy.getClient(portObject);
+ HTTPConduit http = (HTTPConduit) client.getConduit();
+ HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy();
+ httpClientPolicy.setAllowChunking(true);
+
+ // timeouts
+ int connectTimeout = getSession().get(SessionParameter.CONNECT_TIMEOUT, -1);
+ if (connectTimeout >= 0) {
+ httpClientPolicy.setConnectionTimeout(connectTimeout);
+ }
+
+ int readTimeout = getSession().get(SessionParameter.READ_TIMEOUT, -1);
+ if (readTimeout >= 0) {
+ httpClientPolicy.setReceiveTimeout(readTimeout);
+ }
+
+ http.setClient(httpClientPolicy);
+
+ return portObject;
+ } catch (CmisBaseException ce) {
+ throw ce;
+ } catch (Exception e) {
+ throw new CmisConnectionException("Cannot initalize Web Services port object: " + e.getMessage(), e);
+ }
+ }
+}
Propchange: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/CXFPortProvider.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/CmisWebServicesSpi.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/CmisWebServicesSpi.java?rev=1475820&r1=1475819&r2=1475820&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/CmisWebServicesSpi.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/CmisWebServicesSpi.java Thu Apr 25 15:16:13 2013
@@ -21,6 +21,7 @@ package org.apache.chemistry.opencmis.cl
import org.apache.chemistry.opencmis.client.bindings.spi.BindingSession;
import org.apache.chemistry.opencmis.client.bindings.spi.CmisSpi;
import org.apache.chemistry.opencmis.commons.SessionParameter;
+import org.apache.chemistry.opencmis.commons.exceptions.CmisRuntimeException;
import org.apache.chemistry.opencmis.commons.impl.ClassLoaderUtil;
import org.apache.chemistry.opencmis.commons.spi.AclService;
import org.apache.chemistry.opencmis.commons.spi.DiscoveryService;
@@ -39,6 +40,11 @@ import org.slf4j.LoggerFactory;
*/
public class CmisWebServicesSpi implements CmisSpi {
+ public static final String JAXWS_IMPL_RI = "sunri";
+ public static final String JAXWS_IMPL_JRE = "sunjre";
+ public static final String JAXWS_IMPL_CXF = "cxf";
+ public static final String JAXWS_IMPL_WEBSPHERE = "websphere";
+
private static final Logger LOG = LoggerFactory.getLogger(CmisWebServicesSpi.class);
private final RepositoryService repositoryService;
@@ -63,7 +69,23 @@ public class CmisWebServicesSpi implemen
String portProviderClass = (String) session.get(SessionParameter.WEBSERVICES_PORT_PROVIDER_CLASS);
if (portProviderClass == null) {
- portProvider = new SunPortProvider();
+ String jaxwsImpl = (String) session.get(SessionParameter.WEBSERVICES_JAXWS_IMPL);
+
+ if (jaxwsImpl == null) {
+ jaxwsImpl = System.getProperty("org.apache.chemistry.opencmis.binding.webservices.jaxws.impl");
+ }
+
+ if (jaxwsImpl == null || JAXWS_IMPL_RI.equals(jaxwsImpl)) {
+ portProvider = new SunRIPortProvider();
+ } else if (JAXWS_IMPL_JRE.equals(jaxwsImpl)) {
+ portProvider = new SunJREPortProvider();
+ } else if (JAXWS_IMPL_CXF.equals(jaxwsImpl)) {
+ portProvider = new CXFPortProvider();
+ } else if (JAXWS_IMPL_WEBSPHERE.equals(jaxwsImpl)) {
+ portProvider = new WebSpherePortProvider();
+ } else {
+ throw new CmisRuntimeException("Unknown JAX-WS implementation specified!");
+ }
} else {
Object portProviderObj = null;
Added: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/SunJREPortProvider.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/SunJREPortProvider.java?rev=1475820&view=auto
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/SunJREPortProvider.java (added)
+++ chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/SunJREPortProvider.java Thu Apr 25 15:16:13 2013
@@ -0,0 +1,130 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.chemistry.opencmis.client.bindings.spi.webservices;
+
+import java.util.List;
+import java.util.Map;
+
+import javax.net.ssl.HostnameVerifier;
+import javax.net.ssl.SSLSocketFactory;
+import javax.xml.ws.BindingProvider;
+import javax.xml.ws.WebServiceFeature;
+import javax.xml.ws.soap.MTOMFeature;
+
+import org.apache.chemistry.opencmis.client.bindings.impl.CmisBindingsHelper;
+import org.apache.chemistry.opencmis.commons.SessionParameter;
+import org.apache.chemistry.opencmis.commons.exceptions.CmisBaseException;
+import org.apache.chemistry.opencmis.commons.exceptions.CmisConnectionException;
+import org.apache.chemistry.opencmis.commons.spi.AuthenticationProvider;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.w3c.dom.Element;
+
+import com.sun.xml.internal.ws.api.message.Headers;
+import com.sun.xml.internal.ws.developer.JAXWSProperties;
+import com.sun.xml.internal.ws.developer.StreamingAttachmentFeature;
+import com.sun.xml.internal.ws.developer.WSBindingProvider;
+
+/**
+ * Sun JRE JAX-WS implementation.
+ */
+public class SunJREPortProvider extends AbstractPortProvider {
+ private static final Logger LOG = LoggerFactory.getLogger(SunJREPortProvider.class);
+
+ /**
+ * Creates a port object.
+ */
+ protected BindingProvider createPortObject(CmisServiceHolder serviceHolder) {
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("Creating Web Service port object of " + serviceHolder.getServiceName() + "...");
+ }
+
+ try {
+ // prepare features
+ WebServiceFeature[] features;
+ if (serviceHolder.getService().handlesContent()) {
+ int threshold = getSession().get(SessionParameter.WEBSERVICES_MEMORY_THRESHOLD, 4 * 1024 * 1024);
+ features = new WebServiceFeature[] { new MTOMFeature(),
+ new StreamingAttachmentFeature(null, true, threshold) };
+ } else {
+ features = new WebServiceFeature[] { new MTOMFeature() };
+ }
+
+ // create port object
+ BindingProvider portObject = createPortObjectFromServiceHolder(serviceHolder, features);
+
+ // set streaming for services that transport content
+ if (serviceHolder.getService().handlesContent()) {
+ ((BindingProvider) portObject).getRequestContext().put(
+ JAXWSProperties.HTTP_CLIENT_STREAMING_CHUNK_SIZE, CHUNK_SIZE);
+ }
+
+ // add SOAP and HTTP authentication headers
+ AuthenticationProvider authProvider = CmisBindingsHelper.getAuthenticationProvider(getSession());
+ Map<String, List<String>> httpHeaders = null;
+ if (authProvider != null) {
+ // SOAP header
+ Element soapHeader = authProvider.getSOAPHeaders(portObject);
+ if (soapHeader != null) {
+ ((WSBindingProvider) portObject).setOutboundHeaders(Headers.create(soapHeader));
+ }
+
+ // HTTP header
+ String url = (serviceHolder.getEndpointUrl() != null ? serviceHolder.getEndpointUrl().toString()
+ : serviceHolder.getServiceObject().getWSDLDocumentLocation().toString());
+ httpHeaders = authProvider.getHTTPHeaders(url);
+
+ // SSL Factory
+ SSLSocketFactory sf = authProvider.getSSLSocketFactory();
+ if (sf != null) {
+ portObject.getRequestContext().put(JAXWSProperties.SSL_SOCKET_FACTORY, sf);
+ }
+
+ // Hostname Verifier
+ HostnameVerifier hv = authProvider.getHostnameVerifier();
+ if (hv != null) {
+ portObject.getRequestContext().put(JAXWSProperties.HOSTNAME_VERIFIER, hv);
+ }
+ }
+
+ // set HTTP headers
+ setHTTPHeaders(portObject, httpHeaders);
+
+ // set endpoint URL
+ setEndpointUrl(portObject, serviceHolder.getEndpointUrl());
+
+ // timeouts
+ int connectTimeout = getSession().get(SessionParameter.CONNECT_TIMEOUT, -1);
+ if (connectTimeout >= 0) {
+ portObject.getRequestContext().put(JAXWSProperties.CONNECT_TIMEOUT, connectTimeout);
+ }
+
+ int readTimeout = getSession().get(SessionParameter.READ_TIMEOUT, -1);
+ if (readTimeout >= 0) {
+ portObject.getRequestContext().put(JAXWSProperties.REQUEST_TIMEOUT, readTimeout);
+ }
+
+ return portObject;
+ } catch (CmisBaseException ce) {
+ throw ce;
+ } catch (Exception e) {
+ throw new CmisConnectionException("Cannot initalize Web Services port object: " + e.getMessage(), e);
+ }
+ }
+}
Propchange: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/SunJREPortProvider.java
------------------------------------------------------------------------------
svn:eol-style = native
Added: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/SunRIPortProvider.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/SunRIPortProvider.java?rev=1475820&view=auto
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/SunRIPortProvider.java (added)
+++ chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/SunRIPortProvider.java Thu Apr 25 15:16:13 2013
@@ -0,0 +1,130 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.chemistry.opencmis.client.bindings.spi.webservices;
+
+import java.util.List;
+import java.util.Map;
+
+import javax.net.ssl.HostnameVerifier;
+import javax.net.ssl.SSLSocketFactory;
+import javax.xml.ws.BindingProvider;
+import javax.xml.ws.WebServiceFeature;
+import javax.xml.ws.soap.MTOMFeature;
+
+import org.apache.chemistry.opencmis.client.bindings.impl.CmisBindingsHelper;
+import org.apache.chemistry.opencmis.commons.SessionParameter;
+import org.apache.chemistry.opencmis.commons.exceptions.CmisBaseException;
+import org.apache.chemistry.opencmis.commons.exceptions.CmisConnectionException;
+import org.apache.chemistry.opencmis.commons.spi.AuthenticationProvider;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.w3c.dom.Element;
+
+import com.sun.xml.ws.api.message.Headers;
+import com.sun.xml.ws.developer.JAXWSProperties;
+import com.sun.xml.ws.developer.StreamingAttachmentFeature;
+import com.sun.xml.ws.developer.WSBindingProvider;
+
+/**
+ * JAX-WS RI implementation.
+ */
+public class SunRIPortProvider extends AbstractPortProvider {
+ private static final Logger LOG = LoggerFactory.getLogger(SunRIPortProvider.class);
+
+ /**
+ * Creates a port object.
+ */
+ protected BindingProvider createPortObject(CmisServiceHolder serviceHolder) {
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("Creating Web Service port object of " + serviceHolder.getServiceName() + "...");
+ }
+
+ try {
+ // prepare features
+ WebServiceFeature[] features;
+ if (serviceHolder.getService().handlesContent()) {
+ int threshold = getSession().get(SessionParameter.WEBSERVICES_MEMORY_THRESHOLD, 4 * 1024 * 1024);
+ features = new WebServiceFeature[] { new MTOMFeature(),
+ new StreamingAttachmentFeature(null, true, threshold) };
+ } else {
+ features = new WebServiceFeature[] { new MTOMFeature() };
+ }
+
+ // create port object
+ BindingProvider portObject = createPortObjectFromServiceHolder(serviceHolder, features);
+
+ // set streaming for services that transport content
+ if (serviceHolder.getService().handlesContent()) {
+ ((BindingProvider) portObject).getRequestContext().put(
+ JAXWSProperties.HTTP_CLIENT_STREAMING_CHUNK_SIZE, CHUNK_SIZE);
+ }
+
+ // add SOAP and HTTP authentication headers
+ AuthenticationProvider authProvider = CmisBindingsHelper.getAuthenticationProvider(getSession());
+ Map<String, List<String>> httpHeaders = null;
+ if (authProvider != null) {
+ // SOAP header
+ Element soapHeader = authProvider.getSOAPHeaders(portObject);
+ if (soapHeader != null) {
+ ((WSBindingProvider) portObject).setOutboundHeaders(Headers.create(soapHeader));
+ }
+
+ // HTTP header
+ String url = (serviceHolder.getEndpointUrl() != null ? serviceHolder.getEndpointUrl().toString()
+ : serviceHolder.getServiceObject().getWSDLDocumentLocation().toString());
+ httpHeaders = authProvider.getHTTPHeaders(url);
+
+ // SSL Factory
+ SSLSocketFactory sf = authProvider.getSSLSocketFactory();
+ if (sf != null) {
+ portObject.getRequestContext().put(JAXWSProperties.SSL_SOCKET_FACTORY, sf);
+ }
+
+ // Hostname Verifier
+ HostnameVerifier hv = authProvider.getHostnameVerifier();
+ if (hv != null) {
+ portObject.getRequestContext().put(JAXWSProperties.HOSTNAME_VERIFIER, hv);
+ }
+ }
+
+ // set HTTP headers
+ setHTTPHeaders(portObject, httpHeaders);
+
+ // set endpoint URL
+ setEndpointUrl(portObject, serviceHolder.getEndpointUrl());
+
+ // timeouts
+ int connectTimeout = getSession().get(SessionParameter.CONNECT_TIMEOUT, -1);
+ if (connectTimeout >= 0) {
+ portObject.getRequestContext().put(JAXWSProperties.CONNECT_TIMEOUT, connectTimeout);
+ }
+
+ int readTimeout = getSession().get(SessionParameter.READ_TIMEOUT, -1);
+ if (readTimeout >= 0) {
+ portObject.getRequestContext().put("com.sun.xml.ws.request.timeout", readTimeout);
+ }
+
+ return portObject;
+ } catch (CmisBaseException ce) {
+ throw ce;
+ } catch (Exception e) {
+ throw new CmisConnectionException("Cannot initalize Web Services port object: " + e.getMessage(), e);
+ }
+ }
+}
Propchange: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/SunRIPortProvider.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/WebSpherePortProvider.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/WebSpherePortProvider.java?rev=1475820&r1=1475819&r2=1475820&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/WebSpherePortProvider.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/webservices/WebSpherePortProvider.java Thu Apr 25 15:16:13 2013
@@ -43,8 +43,7 @@ import org.slf4j.LoggerFactory;
import org.w3c.dom.Element;
/**
- * Provides CMIS Web Services port objects for WebSphere. Handles authentication
- * headers.
+ * WebSphere JAX-WS implementation
*/
public class WebSpherePortProvider extends AbstractPortProvider {
private static final Logger LOG = LoggerFactory.getLogger(WebSpherePortProvider.class);
@@ -84,9 +83,9 @@ public class WebSpherePortProvider exten
String url = (serviceHolder.getEndpointUrl() != null ? serviceHolder.getEndpointUrl().toString()
: serviceHolder.getServiceObject().getWSDLDocumentLocation().toString());
httpHeaders = authProvider.getHTTPHeaders(url);
-
+
// TODO: set SSL Factory
-
+
// TODO: set Hostname Verifier
}
Modified: chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/pom.xml
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/pom.xml?rev=1475820&r1=1475819&r2=1475820&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/pom.xml (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-impl/pom.xml Thu Apr 25 15:16:13 2013
@@ -117,7 +117,7 @@
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
- <version>1.2.16</version>
+ <version>1.2.17</version>
<scope>test</scope>
</dependency>
<dependency>
Modified: chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/SessionParameter.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/SessionParameter.java?rev=1475820&r1=1475819&r2=1475820&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/SessionParameter.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-api/src/main/java/org/apache/chemistry/opencmis/commons/SessionParameter.java Thu Apr 25 15:16:13 2013
@@ -66,6 +66,8 @@ public final class SessionParameter {
public static final String WEBSERVICES_MEMORY_THRESHOLD = "org.apache.chemistry.opencmis.binding.webservices.memoryThreshold";
public static final String WEBSERVICES_PORT_PROVIDER_CLASS = "org.apache.chemistry.opencmis.binding.webservices.portprovider.classname";
+
+ public static final String WEBSERVICES_JAXWS_IMPL = "org.apache.chemistry.opencmis.binding.webservices.jaxws.impl";
/** URL of the Browser Binding entry point. */
public static final String BROWSER_URL = "org.apache.chemistry.opencmis.binding.browser.url";
Modified: chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/pom.xml
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/pom.xml?rev=1475820&r1=1475819&r2=1475820&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/pom.xml (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/pom.xml Thu Apr 25 15:16:13 2013
@@ -38,20 +38,23 @@
<version>${project.version}</version>
</dependency>
<dependency>
- <groupId>javax.xml.stream</groupId>
- <artifactId>stax-api</artifactId>
- <version>1.0-2</version>
+ <groupId>org.codehaus.woodstox</groupId>
+ <artifactId>woodstox-core-asl</artifactId>
+ <version>4.2.0</version>
</dependency>
<dependency>
<groupId>com.sun.xml.ws</groupId>
<artifactId>jaxws-rt</artifactId>
<version>2.1.7</version>
- <scope>compile</scope>
<exclusions>
<exclusion>
<groupId>stax</groupId>
<artifactId>stax-api</artifactId>
</exclusion>
+ <exclusion>
+ <groupId>org.codehaus.woodstox</groupId>
+ <artifactId>wstx-asl</artifactId>
+ </exclusion>
</exclusions>
</dependency>
</dependencies>
@@ -59,9 +62,9 @@
<build>
<plugins>
<plugin>
- <groupId>org.codehaus.mojo</groupId>
+ <groupId>org.jvnet.jax-ws-commons</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
- <version>1.12</version>
+ <version>2.2</version>
<executions>
<execution>
<phase>generate-sources</phase>
Modified: chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/WSConverter.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/WSConverter.java?rev=1475820&r1=1475819&r2=1475820&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/WSConverter.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/WSConverter.java Thu Apr 25 15:16:13 2013
@@ -264,8 +264,6 @@ import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
-import com.sun.xml.ws.developer.StreamingDataHandler;
-
/**
* Contains converter methods.
*/
@@ -276,6 +274,29 @@ public final class WSConverter {
private static final Logger LOG = LoggerFactory.getLogger(WSConverter.class);
+ private static Class<?> STREAM_DATA_HANDLER_CLASS_1;
+ private static Method STREAM_DATA_HANDLER_READ_METHOD_1;
+ private static Class<?> STREAM_DATA_HANDLER_CLASS_2;
+ private static Method STREAM_DATA_HANDLER_READ_METHOD_2;
+
+ static {
+ try {
+ STREAM_DATA_HANDLER_CLASS_1 = Class.forName("org.jvnet.staxex.StreamingDataHandler");
+ STREAM_DATA_HANDLER_READ_METHOD_1 = STREAM_DATA_HANDLER_CLASS_1.getMethod("readOnce", new Class<?>[0]);
+ } catch (Exception e) {
+ STREAM_DATA_HANDLER_CLASS_1 = null;
+ STREAM_DATA_HANDLER_READ_METHOD_1 = null;
+ }
+
+ try {
+ STREAM_DATA_HANDLER_CLASS_2 = Class.forName("com.sun.xml.internal.org.jvnet.staxex.StreamingDataHandler");
+ STREAM_DATA_HANDLER_READ_METHOD_2 = STREAM_DATA_HANDLER_CLASS_2.getMethod("readOnce", new Class<?>[0]);
+ } catch (Exception e) {
+ STREAM_DATA_HANDLER_CLASS_2 = null;
+ STREAM_DATA_HANDLER_READ_METHOD_2 = null;
+ }
+ }
+
/**
* Private constructor.
*/
@@ -2572,20 +2593,21 @@ public final class WSConverter {
result.setFileName(contentStream.getFilename());
result.setLength(contentStream.getLength());
result.setMimeType(contentStream.getMimeType());
- if (contentStream.getStream() != null) {
+
+ DataHandler streamDataHandler = contentStream.getStream();
+ if (streamDataHandler != null) {
try {
- try {
- if (contentStream.getStream() instanceof StreamingDataHandler) {
- result.setStream(((StreamingDataHandler) contentStream.getStream()).readOnce());
- } else {
- result.setStream(contentStream.getStream().getInputStream());
- }
- } catch (NoClassDefFoundError cnfe) {
- // Fallback in case the JAX-WS RI is not available (optional
- // resolution in OSGi)
+ if (STREAM_DATA_HANDLER_CLASS_1 != null && STREAM_DATA_HANDLER_CLASS_1.isInstance(streamDataHandler)) {
+ result.setStream((InputStream) STREAM_DATA_HANDLER_READ_METHOD_1.invoke(streamDataHandler,
+ (Object[]) null));
+ } else if (STREAM_DATA_HANDLER_CLASS_2 != null
+ && STREAM_DATA_HANDLER_CLASS_2.isInstance(streamDataHandler)) {
+ result.setStream((InputStream) STREAM_DATA_HANDLER_READ_METHOD_2.invoke(streamDataHandler,
+ (Object[]) null));
+ } else {
result.setStream(contentStream.getStream().getInputStream());
}
- } catch (IOException e) {
+ } catch (Exception e) {
throw new CmisRuntimeException("Could not get the stream: " + e.getMessage(), e);
}
}
@@ -2699,7 +2721,7 @@ public final class WSConverter {
return result;
}
-
+
/**
* Converts bulk update object id and change token.
*/
Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/BrowserBindingUtils.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/BrowserBindingUtils.java?rev=1475820&r1=1475819&r2=1475820&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/BrowserBindingUtils.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/BrowserBindingUtils.java Thu Apr 25 15:16:13 2013
@@ -84,6 +84,8 @@ public final class BrowserBindingUtils {
public static final String CONTEXT_BASETYPE_ID = "org.apache.chemistry.opencmis.browserbinding.basetypeId";
public static final String CONTEXT_TOKEN = "org.apache.chemistry.opencmis.browserbinding.token";
+ public static final String REPOSITORY_PLACEHOLDER = "{repositoryId}";
+
public enum CallUrl {
SERVICE, REPOSITORY, ROOT
}
@@ -95,10 +97,16 @@ public final class BrowserBindingUtils {
/**
* Compiles the base URL for links, collections and templates.
*/
- public static UrlBuilder compileBaseUrl(HttpServletRequest request) {
+ public static UrlBuilder compileBaseUrl(HttpServletRequest request, String repositoryId) {
String baseUrl = (String) request.getAttribute(Dispatcher.BASE_URL_ATTRIBUTE);
if (baseUrl != null) {
- return new UrlBuilder(baseUrl);
+ int repIdPos = baseUrl.indexOf(REPOSITORY_PLACEHOLDER);
+ if (repIdPos < 0) {
+ return new UrlBuilder(baseUrl);
+ } else {
+ return new UrlBuilder(baseUrl.substring(0, repIdPos) + repositoryId
+ + baseUrl.substring(repIdPos + REPOSITORY_PLACEHOLDER.length()));
+ }
}
UrlBuilder url = new UrlBuilder(request.getScheme(), request.getServerName(), request.getServerPort(), null);
@@ -110,7 +118,7 @@ public final class BrowserBindingUtils {
}
public static UrlBuilder compileRepositoryUrl(HttpServletRequest request, String repositoryId) {
- return compileBaseUrl(request).addPathSegment(repositoryId);
+ return compileBaseUrl(request, repositoryId).addPathSegment(repositoryId);
}
public static UrlBuilder compileRootUrl(HttpServletRequest request, String repositoryId) {
Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/token/AbstractSimpleTokenHandler.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/token/AbstractSimpleTokenHandler.java?rev=1475820&r1=1475819&r2=1475820&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/token/AbstractSimpleTokenHandler.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/java/org/apache/chemistry/opencmis/server/impl/browser/token/AbstractSimpleTokenHandler.java Thu Apr 25 15:16:13 2013
@@ -63,16 +63,17 @@ public abstract class AbstractSimpleToke
public void service(ServletContext servletContext, HttpServletRequest request, HttpServletResponse response) {
+ String repositoryId = null; // TODO: determine repository id
String login = request.getParameter(PARAM_LOGIN);
try {
if (LOGIN_TOKEN.equals(login)) {
sendTokens(servletContext, request, response);
} else if (LOGIN_SCRIPT.equals(login)) {
- sendJavaScript(servletContext, request, response);
+ sendJavaScript(servletContext, request, response, repositoryId);
} else if (LOGIN_CONTROLLER.equals(login)) {
- sendControllerContent(servletContext, request, response);
+ sendControllerContent(servletContext, request, response, repositoryId);
} else if (LOGIN_LOGIN.equals(login)) {
- login(servletContext, request, response);
+ login(servletContext, request, response, repositoryId);
} else if (LOGIN_LOGOUT.equals(login)) {
logout(servletContext, request, response);
} else {
@@ -124,9 +125,9 @@ public abstract class AbstractSimpleToke
* Sends the JavaScript file for web clients.
*/
protected void sendJavaScript(ServletContext servletContext, HttpServletRequest request,
- HttpServletResponse response) throws IOException {
+ HttpServletResponse response, String repositoryId) throws IOException {
- UrlBuilder baseUrl = BrowserBindingUtils.compileBaseUrl(request);
+ UrlBuilder baseUrl = BrowserBindingUtils.compileBaseUrl(request, repositoryId);
URL url = new URL(baseUrl.toString());
request.setAttribute(ATTR_PREFIX + "domain", encodeJavaScriptString(url.getProtocol() + "://" + url.getHost()
@@ -149,13 +150,14 @@ public abstract class AbstractSimpleToke
* Sends the IFrame content.
*/
protected void sendControllerContent(ServletContext servletContext, HttpServletRequest request,
- HttpServletResponse response) throws IOException {
+ HttpServletResponse response, String repositoryId) throws IOException {
response.setContentType("text/html; charset=UTF-8");
- request.setAttribute(ATTR_PREFIX + "loginUrl",
- encodeJavaScriptString(BrowserBindingUtils.compileBaseUrl(request).addParameter(PARAM_LOGIN, "")
- .toString()));
+ request.setAttribute(
+ ATTR_PREFIX + "loginUrl",
+ encodeJavaScriptString(BrowserBindingUtils.compileBaseUrl(request, repositoryId)
+ .addParameter(PARAM_LOGIN, "").toString()));
RequestDispatcher dispatcher = servletContext.getRequestDispatcher(JSP_PATH + JSP_IFRAME);
try {
@@ -168,12 +170,12 @@ public abstract class AbstractSimpleToke
/**
* Handles logins.
*/
- protected void login(ServletContext servletContext, HttpServletRequest request, HttpServletResponse response)
- throws IOException {
+ protected void login(ServletContext servletContext, HttpServletRequest request, HttpServletResponse response,
+ String repositoryId) throws IOException {
if ("GET".equals(request.getMethod())) {
showLoginForm(servletContext, request, response, null);
} else if ("POST".equals(request.getMethod())) {
- authenticate(servletContext, request, response);
+ authenticate(servletContext, request, response, repositoryId);
} else {
response.sendError(HttpServletResponse.SC_BAD_REQUEST);
}
@@ -200,8 +202,8 @@ public abstract class AbstractSimpleToke
}
}
- protected void authenticate(ServletContext servletContext, HttpServletRequest request, HttpServletResponse response)
- throws IOException {
+ protected void authenticate(ServletContext servletContext, HttpServletRequest request,
+ HttpServletResponse response, String repositoryId) throws IOException {
if (SimpleTokenHandlerSessionHelper.checkFormKey(request)) {
// login form returns
@@ -265,7 +267,7 @@ public abstract class AbstractSimpleToke
SimpleTokenHandlerSessionHelper.setLoginKey(request, loginKey, formKey, appURL);
- String formURL = encodeJavaScriptString(BrowserBindingUtils.compileBaseUrl(request)
+ String formURL = encodeJavaScriptString(BrowserBindingUtils.compileBaseUrl(request, repositoryId)
.addParameter(PARAM_LOGIN, LOGIN_LOGIN)
.addParameter(SimpleTokenHandlerSessionHelper.PARAM_KEY, formKey).toString());
Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/webapp/WEB-INF/sun-jaxws.xml
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/webapp/WEB-INF/sun-jaxws.xml?rev=1475820&r1=1475819&r2=1475820&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/webapp/WEB-INF/sun-jaxws.xml (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-bindings/src/main/webapp/WEB-INF/sun-jaxws.xml Thu Apr 25 15:16:13 2013
@@ -21,7 +21,7 @@
<!-- CMIS 1.0 endpoints -->
- <endpoint name="RepositoryService" xwsdl="WEB-INF/wsdl/CMISWS-Service.wsdl"
+ <endpoint name="RepositoryService"
implementation="org.apache.chemistry.opencmis.server.impl.webservices.RepositoryService10"
service="{http://docs.oasis-open.org/ns/cmis/ws/200908/}RepositoryService"
port="{http://docs.oasis-open.org/ns/cmis/ws/200908/}RepositoryServicePort"
@@ -35,7 +35,7 @@
</handler-chains>
</endpoint>
- <endpoint name="NavigationService" xwsdl="WEB-INF/wsdl/CMISWS-Service.wsdl"
+ <endpoint name="NavigationService"
implementation="org.apache.chemistry.opencmis.server.impl.webservices.NavigationService"
service="{http://docs.oasis-open.org/ns/cmis/ws/200908/}NavigationService"
port="{http://docs.oasis-open.org/ns/cmis/ws/200908/}NavigationServicePort"
@@ -49,7 +49,7 @@
</handler-chains>
</endpoint>
- <endpoint name="ObjectService" xwsdl="WEB-INF/wsdl/CMISWS-Service.wsdl"
+ <endpoint name="ObjectService"
implementation="org.apache.chemistry.opencmis.server.impl.webservices.ObjectService10"
service="{http://docs.oasis-open.org/ns/cmis/ws/200908/}ObjectService"
port="{http://docs.oasis-open.org/ns/cmis/ws/200908/}ObjectServicePort"
@@ -63,7 +63,7 @@
</handler-chains>
</endpoint>
- <endpoint name="VersioningService" xwsdl="WEB-INF/wsdl/CMISWS-Service.wsdl"
+ <endpoint name="VersioningService"
implementation="org.apache.chemistry.opencmis.server.impl.webservices.VersioningService"
service="{http://docs.oasis-open.org/ns/cmis/ws/200908/}VersioningService"
port="{http://docs.oasis-open.org/ns/cmis/ws/200908/}VersioningServicePort"
@@ -77,7 +77,7 @@
</handler-chains>
</endpoint>
- <endpoint name="RelationshipService" xwsdl="WEB-INF/wsdl/CMISWS-Service.wsdl"
+ <endpoint name="RelationshipService"
implementation="org.apache.chemistry.opencmis.server.impl.webservices.RelationshipService"
service="{http://docs.oasis-open.org/ns/cmis/ws/200908/}RelationshipService"
port="{http://docs.oasis-open.org/ns/cmis/ws/200908/}RelationshipServicePort"
@@ -91,7 +91,7 @@
</handler-chains>
</endpoint>
- <endpoint name="DiscoveryService" xwsdl="WEB-INF/wsdl/CMISWS-Service.wsdl"
+ <endpoint name="DiscoveryService"
implementation="org.apache.chemistry.opencmis.server.impl.webservices.DiscoveryService"
service="{http://docs.oasis-open.org/ns/cmis/ws/200908/}DiscoveryService"
port="{http://docs.oasis-open.org/ns/cmis/ws/200908/}DiscoveryServicePort"
@@ -105,7 +105,7 @@
</handler-chains>
</endpoint>
- <endpoint name="MultiFilingService" xwsdl="WEB-INF/wsdl/CMISWS-Service.wsdl"
+ <endpoint name="MultiFilingService"
implementation="org.apache.chemistry.opencmis.server.impl.webservices.MultiFilingService"
service="{http://docs.oasis-open.org/ns/cmis/ws/200908/}MultiFilingService"
port="{http://docs.oasis-open.org/ns/cmis/ws/200908/}MultiFilingServicePort"
@@ -119,7 +119,7 @@
</handler-chains>
</endpoint>
- <endpoint name="ACLService" xwsdl="WEB-INF/wsdl/CMISWS-Service.wsdl"
+ <endpoint name="ACLService"
implementation="org.apache.chemistry.opencmis.server.impl.webservices.AclService"
service="{http://docs.oasis-open.org/ns/cmis/ws/200908/}ACLService"
port="{http://docs.oasis-open.org/ns/cmis/ws/200908/}ACLServicePort"
@@ -133,7 +133,7 @@
</handler-chains>
</endpoint>
- <endpoint name="PolicyService" xwsdl="WEB-INF/wsdl/CMISWS-Service.wsdl"
+ <endpoint name="PolicyService"
implementation="org.apache.chemistry.opencmis.server.impl.webservices.PolicyService"
service="{http://docs.oasis-open.org/ns/cmis/ws/200908/}PolicyService"
port="{http://docs.oasis-open.org/ns/cmis/ws/200908/}PolicyServicePort"
@@ -149,7 +149,7 @@
<!-- CMIS 1.1 endpoints -->
- <endpoint name="RepositoryService11" xwsdl="WEB-INF/wsdl/CMISWS-Service.wsdl"
+ <endpoint name="RepositoryService11"
implementation="org.apache.chemistry.opencmis.server.impl.webservices.RepositoryService"
service="{http://docs.oasis-open.org/ns/cmis/ws/200908/}RepositoryService"
port="{http://docs.oasis-open.org/ns/cmis/ws/200908/}RepositoryServicePort"
@@ -163,7 +163,7 @@
</handler-chains>
</endpoint>
- <endpoint name="NavigationService11" xwsdl="WEB-INF/wsdl/CMISWS-Service.wsdl"
+ <endpoint name="NavigationService11"
implementation="org.apache.chemistry.opencmis.server.impl.webservices.NavigationService"
service="{http://docs.oasis-open.org/ns/cmis/ws/200908/}NavigationService"
port="{http://docs.oasis-open.org/ns/cmis/ws/200908/}NavigationServicePort"
@@ -177,7 +177,7 @@
</handler-chains>
</endpoint>
- <endpoint name="ObjectService11" xwsdl="WEB-INF/wsdl/CMISWS-Service.wsdl"
+ <endpoint name="ObjectService11"
implementation="org.apache.chemistry.opencmis.server.impl.webservices.ObjectService"
service="{http://docs.oasis-open.org/ns/cmis/ws/200908/}ObjectService"
port="{http://docs.oasis-open.org/ns/cmis/ws/200908/}ObjectServicePort"
@@ -191,7 +191,7 @@
</handler-chains>
</endpoint>
- <endpoint name="VersioningService11" xwsdl="WEB-INF/wsdl/CMISWS-Service.wsdl"
+ <endpoint name="VersioningService11"
implementation="org.apache.chemistry.opencmis.server.impl.webservices.VersioningService"
service="{http://docs.oasis-open.org/ns/cmis/ws/200908/}VersioningService"
port="{http://docs.oasis-open.org/ns/cmis/ws/200908/}VersioningServicePort"
@@ -205,7 +205,7 @@
</handler-chains>
</endpoint>
- <endpoint name="RelationshipService11" xwsdl="WEB-INF/wsdl/CMISWS-Service.wsdl"
+ <endpoint name="RelationshipService11"
implementation="org.apache.chemistry.opencmis.server.impl.webservices.RelationshipService"
service="{http://docs.oasis-open.org/ns/cmis/ws/200908/}RelationshipService"
port="{http://docs.oasis-open.org/ns/cmis/ws/200908/}RelationshipServicePort"
@@ -219,7 +219,7 @@
</handler-chains>
</endpoint>
- <endpoint name="DiscoveryService11" xwsdl="WEB-INF/wsdl/CMISWS-Service.wsdl"
+ <endpoint name="DiscoveryService11"
implementation="org.apache.chemistry.opencmis.server.impl.webservices.DiscoveryService"
service="{http://docs.oasis-open.org/ns/cmis/ws/200908/}DiscoveryService"
port="{http://docs.oasis-open.org/ns/cmis/ws/200908/}DiscoveryServicePort"
@@ -233,7 +233,7 @@
</handler-chains>
</endpoint>
- <endpoint name="MultiFilingService11" xwsdl="WEB-INF/wsdl/CMISWS-Service.wsdl"
+ <endpoint name="MultiFilingService11"
implementation="org.apache.chemistry.opencmis.server.impl.webservices.MultiFilingService"
service="{http://docs.oasis-open.org/ns/cmis/ws/200908/}MultiFilingService"
port="{http://docs.oasis-open.org/ns/cmis/ws/200908/}MultiFilingServicePort"
@@ -247,7 +247,7 @@
</handler-chains>
</endpoint>
- <endpoint name="ACLService11" xwsdl="WEB-INF/wsdl/CMISWS-Service.wsdl"
+ <endpoint name="ACLService11"
implementation="org.apache.chemistry.opencmis.server.impl.webservices.AclService"
service="{http://docs.oasis-open.org/ns/cmis/ws/200908/}ACLService"
port="{http://docs.oasis-open.org/ns/cmis/ws/200908/}ACLServicePort"
@@ -261,7 +261,7 @@
</handler-chains>
</endpoint>
- <endpoint name="PolicyService11" xwsdl="WEB-INF/wsdl/CMISWS-Service.wsdl"
+ <endpoint name="PolicyService11"
implementation="org.apache.chemistry.opencmis.server.impl.webservices.PolicyService"
service="{http://docs.oasis-open.org/ns/cmis/ws/200908/}PolicyService"
port="{http://docs.oasis-open.org/ns/cmis/ws/200908/}PolicyServicePort"
Modified: chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-jcr/pom.xml
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-jcr/pom.xml?rev=1475820&r1=1475819&r2=1475820&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-jcr/pom.xml (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-server/chemistry-opencmis-server-jcr/pom.xml Thu Apr 25 15:16:13 2013
@@ -164,7 +164,7 @@
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
- <version>1.2.16</version>
+ <version>1.2.17</version>
</dependency>
<dependency>
<groupId>org.apache.chemistry.opencmis</groupId>
Modified: chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-fit/pom.xml
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-fit/pom.xml?rev=1475820&r1=1475819&r2=1475820&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-fit/pom.xml (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-fit/pom.xml Thu Apr 25 15:16:13 2013
@@ -32,7 +32,7 @@
<jcr.version>2.0</jcr.version>
<jackrabbit-core.version>2.5.2</jackrabbit-core.version>
<slf4j-log4j12.version>1.6.4</slf4j-log4j12.version>
- <log4j.version>1.2.16</log4j.version>
+ <log4j.version>1.2.17</log4j.version>
</properties>
Modified: chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/impl/AbstractSessionTest.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/impl/AbstractSessionTest.java?rev=1475820&r1=1475819&r2=1475820&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/impl/AbstractSessionTest.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/impl/AbstractSessionTest.java Thu Apr 25 15:16:13 2013
@@ -158,6 +158,8 @@ public abstract class AbstractSessionTes
if (!(e instanceof FatalTestException)) {
addResult(createResult(UNEXPECTED_EXCEPTION, "Exception: " + e, e, true));
}
+ } catch (Error err) {
+ addResult(createResult(UNEXPECTED_EXCEPTION, "Error: " + err, err, true));
}
}
Modified: chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/tests/crud/BulkUpdatePropertiesTest.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/tests/crud/BulkUpdatePropertiesTest.java?rev=1475820&r1=1475819&r2=1475820&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/tests/crud/BulkUpdatePropertiesTest.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/tests/crud/BulkUpdatePropertiesTest.java Thu Apr 25 15:16:13 2013
@@ -53,7 +53,7 @@ public class BulkUpdatePropertiesTest ex
@Override
public void run(Session session) {
if (session.getRepositoryInfo().getCmisVersion() == CmisVersion.CMIS_1_0) {
- addResult(createResult(SKIPPED, "Bulk Update Properties is not supporetd by CMIS 1.0. Test skipped!"));
+ addResult(createResult(SKIPPED, "Bulk Update Properties is not supported by CMIS 1.0. Test skipped!"));
return;
}
Modified: chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/tests/crud/CreateAndDeleteItemTest.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/tests/crud/CreateAndDeleteItemTest.java?rev=1475820&r1=1475819&r2=1475820&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/tests/crud/CreateAndDeleteItemTest.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/tests/crud/CreateAndDeleteItemTest.java Thu Apr 25 15:16:13 2013
@@ -50,7 +50,7 @@ public class CreateAndDeleteItemTest ext
@Override
public void run(Session session) {
if (session.getRepositoryInfo().getCmisVersion() == CmisVersion.CMIS_1_0) {
- addResult(createResult(SKIPPED, "Items are not supporetd by CMIS 1.0. Test skipped!"));
+ addResult(createResult(SKIPPED, "Items are not supported by CMIS 1.0. Test skipped!"));
return;
}
Modified: chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/tests/types/CreateAndDeleteTypeTest.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/tests/types/CreateAndDeleteTypeTest.java?rev=1475820&r1=1475819&r2=1475820&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/tests/types/CreateAndDeleteTypeTest.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/tests/types/CreateAndDeleteTypeTest.java Thu Apr 25 15:16:13 2013
@@ -59,7 +59,7 @@ public class CreateAndDeleteTypeTest ext
@Override
public void run(Session session) {
if (session.getRepositoryInfo().getCmisVersion() == CmisVersion.CMIS_1_0) {
- addResult(createResult(SKIPPED, "Type mutability is not supporetd by CMIS 1.0. Test skipped!"));
+ addResult(createResult(SKIPPED, "Type mutability is not supported by CMIS 1.0. Test skipped!"));
return;
}
Modified: chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/tests/types/SecondaryTypesTest.java
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/tests/types/SecondaryTypesTest.java?rev=1475820&r1=1475819&r2=1475820&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/tests/types/SecondaryTypesTest.java (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/tests/types/SecondaryTypesTest.java Thu Apr 25 15:16:13 2013
@@ -53,7 +53,7 @@ public class SecondaryTypesTest extends
@Override
public void run(Session session) {
if (session.getRepositoryInfo().getCmisVersion() == CmisVersion.CMIS_1_0) {
- addResult(createResult(SKIPPED, "Secondary types are not supporetd by CMIS 1.0. Test skipped!"));
+ addResult(createResult(SKIPPED, "Secondary types are not supported by CMIS 1.0. Test skipped!"));
return;
}
Modified: chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/pom.xml
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/pom.xml?rev=1475820&r1=1475819&r2=1475820&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/pom.xml (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/pom.xml Thu Apr 25 15:16:13 2013
@@ -164,6 +164,9 @@
<descriptor>
src/main/assembly/workbench-assembly.xml
</descriptor>
+ <descriptor>
+ src/main/assembly/workbench-cxf-assembly.xml
+ </descriptor>
</descriptors>
</configuration>
</execution>
@@ -236,7 +239,19 @@
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
- <version>1.2.16</version>
+ <version>1.2.17</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-frontend-jaxws</artifactId>
+ <version>2.7.4</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.cxf</groupId>
+ <artifactId>cxf-rt-transports-http</artifactId>
+ <version>2.7.4</version>
+ <scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache</groupId>
@@ -274,7 +289,7 @@
<descriptors>
<descriptor>
src/main/assembly/workbench-assembly.xml
- </descriptor>
+ </descriptor>
</descriptors>
</configuration>
</execution>
Modified: chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/assembly/workbench-assembly.xml
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/assembly/workbench-assembly.xml?rev=1475820&r1=1475819&r2=1475820&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/assembly/workbench-assembly.xml (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/assembly/workbench-assembly.xml Thu Apr 25 15:16:13 2013
@@ -48,11 +48,13 @@
</files>
<dependencySets>
<dependencySet>
- <outputDirectory>/lib</outputDirectory>
+ <outputDirectory>/lib</outputDirectory>
<useProjectArtifact></useProjectArtifact>
<unpack>false</unpack>
<scope>runtime</scope>
+ <useTransitiveFiltering>true</useTransitiveFiltering>
<excludes>
+ <exclude>com.sun.xml.ws:jaxws-rt</exclude>
<exclude>${project.groupId}:chemistry-opencmis-test-util</exclude>
<exclude>junit:junit</exclude>
<exclude>org.apache.felix:org.osgi.core</exclude>
Modified: chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/start/workbench.bat
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/start/workbench.bat?rev=1475820&r1=1475819&r2=1475820&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/start/workbench.bat (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/start/workbench.bat Thu Apr 25 15:16:13 2013
@@ -18,6 +18,6 @@ rem @version@
cd %~dp0\lib
-set "JAVA_OPTS=-Djava.net.useSystemProxies=true"
+set "JAVA_OPTS=-Djava.net.useSystemProxies=true -Dorg.apache.chemistry.opencmis.binding.webservices.jaxws.impl=sunjre"
start /B javaw %JAVA_OPTS% -classpath ".;*" org.apache.chemistry.opencmis.workbench.Workbench
\ No newline at end of file
Modified: chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/start/workbench.sh
URL: http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/start/workbench.sh?rev=1475820&r1=1475819&r2=1475820&view=diff
==============================================================================
--- chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/start/workbench.sh (original)
+++ chemistry/opencmis/trunk/chemistry-opencmis-workbench/chemistry-opencmis-workbench/src/main/start/workbench.sh Thu Apr 25 15:16:13 2013
@@ -39,7 +39,7 @@ for i in *.jar; do
done
-JAVA_OPTS="-Djava.net.useSystemProxies=true"
+JAVA_OPTS="-Djava.net.useSystemProxies=true -Dorg.apache.chemistry.opencmis.binding.webservices.jaxws.impl=sunjre"
if [ -n "$http_proxy" ]; then
HTTP_PROXY_HOST=$(echo $http_proxy | sed 's/http:\/\/\(.*\):.*/\1/')