Return-Path: Delivered-To: apmail-cxf-commits-archive@www.apache.org Received: (qmail 40659 invoked from network); 21 Jun 2010 18:12:21 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 21 Jun 2010 18:12:21 -0000 Received: (qmail 55641 invoked by uid 500); 21 Jun 2010 18:12:21 -0000 Delivered-To: apmail-cxf-commits-archive@cxf.apache.org Received: (qmail 55599 invoked by uid 500); 21 Jun 2010 18:12:20 -0000 Mailing-List: contact commits-help@cxf.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cxf.apache.org Delivered-To: mailing list commits@cxf.apache.org Received: (qmail 55592 invoked by uid 99); 21 Jun 2010 18:12:20 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 21 Jun 2010 18:12:20 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 21 Jun 2010 18:12:16 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 1FBC623889DD; Mon, 21 Jun 2010 18:11:29 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r956660 - in /cxf/trunk/rt/frontend/jaxws: ./ src/main/java/org/apache/cxf/jaxws/ src/main/java/org/apache/cxf/jaxws/spi/ src/main/jaxws22/ src/main/jaxws22/org/ src/main/jaxws22/org/apache/ src/main/jaxws22/org/apache/cxf/ src/main/jaxws22... Date: Mon, 21 Jun 2010 18:11:28 -0000 To: commits@cxf.apache.org From: dkulp@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20100621181129.1FBC623889DD@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: dkulp Date: Mon Jun 21 18:11:28 2010 New Revision: 956660 URL: http://svn.apache.org/viewvc?rev=956660&view=rev Log: [CXF-2849] Updates to support parts of the JAX-WS 2.2 API Added: cxf/trunk/rt/frontend/jaxws/src/main/jaxws22/ cxf/trunk/rt/frontend/jaxws/src/main/jaxws22/org/ cxf/trunk/rt/frontend/jaxws/src/main/jaxws22/org/apache/ cxf/trunk/rt/frontend/jaxws/src/main/jaxws22/org/apache/cxf/ cxf/trunk/rt/frontend/jaxws/src/main/jaxws22/org/apache/cxf/jaxws22/ cxf/trunk/rt/frontend/jaxws/src/main/jaxws22/org/apache/cxf/jaxws22/EndpointImpl.java (with props) cxf/trunk/rt/frontend/jaxws/src/main/jaxws22/org/apache/cxf/jaxws22/JAXWS22Invoker.java (with props) cxf/trunk/rt/frontend/jaxws/src/main/jaxws22/org/apache/cxf/jaxws22/spi/ cxf/trunk/rt/frontend/jaxws/src/main/jaxws22/org/apache/cxf/jaxws22/spi/ProviderImpl.java (with props) cxf/trunk/rt/frontend/jaxws/src/main/spi-2.1/ cxf/trunk/rt/frontend/jaxws/src/main/spi-2.1/META-INF/ cxf/trunk/rt/frontend/jaxws/src/main/spi-2.1/META-INF/services/ cxf/trunk/rt/frontend/jaxws/src/main/spi-2.1/META-INF/services/javax.xml.ws.spi.Provider - copied, changed from r956604, cxf/trunk/rt/frontend/jaxws/src/main/resources/META-INF/services/javax.xml.ws.spi.Provider cxf/trunk/rt/frontend/jaxws/src/main/spi-2.2/ cxf/trunk/rt/frontend/jaxws/src/main/spi-2.2/META-INF/ cxf/trunk/rt/frontend/jaxws/src/main/spi-2.2/META-INF/services/ cxf/trunk/rt/frontend/jaxws/src/main/spi-2.2/META-INF/services/javax.xml.ws.spi.Provider Removed: cxf/trunk/rt/frontend/jaxws/src/main/resources/META-INF/services/javax.xml.ws.spi.Provider Modified: cxf/trunk/rt/frontend/jaxws/pom.xml cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/EndpointImpl.java cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/EndpointUtils.java cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsServerFactoryBean.java cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/spi/ProviderImpl.java Modified: cxf/trunk/rt/frontend/jaxws/pom.xml URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxws/pom.xml?rev=956660&r1=956659&r2=956660&view=diff ============================================================================== --- cxf/trunk/rt/frontend/jaxws/pom.xml (original) +++ cxf/trunk/rt/frontend/jaxws/pom.xml Mon Jun 21 18:11:28 2010 @@ -32,6 +32,9 @@ ../../../parent/pom.xml + + spi-2.1 + junit @@ -156,6 +159,21 @@ + + add-spi + generate-resources + + add-resource + + + + + ${basedir}/src/main/${spi-dir} + + + + + @@ -164,6 +182,77 @@ + jaxws22 + + + org.apache.geronimo.specs + geronimo-jaxws_2.2_spec + 1.0 + + + + spi-2.2 + + + + + org.codehaus.mojo + build-helper-maven-plugin + + + add-jaxws22-source + generate-sources + + add-source + + + + ${basedir}/src/main/jaxws22 + + + + + + + org.apache.maven.plugins + maven-dependency-plugin + + + create-endorsed-dir + validate + + copy + + + + + org.apache.geronimo.specs + geronimo-jaxws_2.2_spec + 1.0 + ${basedir}/target/endorsed + + + + + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + + + ${basedir}/target/endorsed + + + + + + + + ibmjdk Modified: cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/EndpointImpl.java URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/EndpointImpl.java?rev=956660&r1=956659&r2=956660&view=diff ============================================================================== --- cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/EndpointImpl.java (original) +++ cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/EndpointImpl.java Mon Jun 21 18:11:28 2010 @@ -767,11 +767,5 @@ public class EndpointImpl extends javax. .getName()).toString()); } } - - /* - //new in 2.2, but introduces a new class not found in 2.1 - public void setEndpointContext(EndpointContext ctxt) { - //TODO - JAXWS 2.2 - } - */ + } Modified: cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/EndpointUtils.java URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/EndpointUtils.java?rev=956660&r1=956659&r2=956660&view=diff ============================================================================== --- cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/EndpointUtils.java (original) +++ cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/EndpointUtils.java Mon Jun 21 18:11:28 2010 @@ -67,8 +67,11 @@ public final class EndpointUtils { } public static boolean isValidImplementor(Object implementor) { - if (Provider.class.isAssignableFrom(implementor.getClass()) - && hasWebServiceProviderAnnotation(implementor.getClass())) { + return isValidImplementor(implementor.getClass()); + } + public static boolean isValidImplementor(Class implementorClass) { + if (Provider.class.isAssignableFrom(implementorClass) + && hasWebServiceProviderAnnotation(implementorClass)) { return true; } @@ -76,7 +79,7 @@ public final class EndpointUtils { // annotation // (that implements an SEI) OR a Provider - if (hasWebServiceAnnotation(implementor.getClass())) { + if (hasWebServiceAnnotation(implementorClass)) { return true; } Modified: cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsServerFactoryBean.java URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsServerFactoryBean.java?rev=956660&r1=956659&r2=956660&view=diff ============================================================================== --- cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsServerFactoryBean.java (original) +++ cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/JaxWsServerFactoryBean.java Mon Jun 21 18:11:28 2010 @@ -74,7 +74,9 @@ public class JaxWsServerFactoryBean exte setBindingConfig(defConfig); doInit = true; } - + public JaxWsServiceFactoryBean getJaxWsServiceFactory() { + return (JaxWsServiceFactoryBean)getServiceFactory(); + } public void setHandlers(List h) { handlers.clear(); handlers.addAll(h); Modified: cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/spi/ProviderImpl.java URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/spi/ProviderImpl.java?rev=956660&r1=956659&r2=956660&view=diff ============================================================================== --- cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/spi/ProviderImpl.java (original) +++ cxf/trunk/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/spi/ProviderImpl.java Mon Jun 21 18:11:28 2010 @@ -54,7 +54,7 @@ import org.apache.cxf.wsdl.WSDLManager; public class ProviderImpl extends javax.xml.ws.spi.Provider { public static final String JAXWS_PROVIDER = ProviderImpl.class.getName(); - private static final Logger LOG = LogUtils.getL7dLogger(ProviderImpl.class); + protected static final Logger LOG = LogUtils.getL7dLogger(ProviderImpl.class); private static JAXBContext jaxbContext; @Override @@ -77,6 +77,13 @@ public class ProviderImpl extends javax. serviceName, serviceClass, features); } + + protected EndpointImpl createEndpointImpl(Bus bus, + String bindingId, + Object implementor, + WebServiceFeature ... features) { + return new EndpointImpl(bus, implementor, bindingId, features); + } @Override public Endpoint createEndpoint(String bindingId, Object implementor) { @@ -84,7 +91,7 @@ public class ProviderImpl extends javax. Endpoint ep = null; if (EndpointUtils.isValidImplementor(implementor)) { Bus bus = BusFactory.getThreadDefaultBus(); - ep = new EndpointImpl(bus, implementor, bindingId); + ep = createEndpointImpl(bus, bindingId, implementor); return ep; } else { throw new WebServiceException(new Message("INVALID_IMPLEMENTOR_EXC", LOG).toString()); @@ -97,7 +104,7 @@ public class ProviderImpl extends javax. EndpointImpl ep = null; if (EndpointUtils.isValidImplementor(implementor)) { Bus bus = BusFactory.getThreadDefaultBus(); - ep = new EndpointImpl(bus, implementor, bindingId, features); + ep = createEndpointImpl(bus, bindingId, implementor, features); return ep; } else { throw new WebServiceException(new Message("INVALID_IMPLEMENTOR_EXC", LOG).toString()); @@ -290,11 +297,4 @@ public class ProviderImpl extends javax. } return jaxbContext; } - /* - //new in 2.2, but introduces a new class not found in 2.1 - public Endpoint createEndpoint(String bindingId, Class implementorClass, - Invoker invoker, WebServiceFeature ... features) { - //TODO - JAXWS 2.2 - } - */ } Added: cxf/trunk/rt/frontend/jaxws/src/main/jaxws22/org/apache/cxf/jaxws22/EndpointImpl.java URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxws/src/main/jaxws22/org/apache/cxf/jaxws22/EndpointImpl.java?rev=956660&view=auto ============================================================================== --- cxf/trunk/rt/frontend/jaxws/src/main/jaxws22/org/apache/cxf/jaxws22/EndpointImpl.java (added) +++ cxf/trunk/rt/frontend/jaxws/src/main/jaxws22/org/apache/cxf/jaxws22/EndpointImpl.java Mon Jun 21 18:11:28 2010 @@ -0,0 +1,110 @@ +/** + * 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.cxf.jaxws22; + +import javax.xml.ws.EndpointContext; +import javax.xml.ws.WebServiceFeature; + +import org.apache.cxf.Bus; +import org.apache.cxf.jaxws.JaxWsServerFactoryBean; + +/** + * + */ +public class EndpointImpl extends org.apache.cxf.jaxws.EndpointImpl { + //What really is the point of the EndpointContext in JAX-WS 2.2? + //There is a setter, but no getter. + Object endpointContext; + + /** + * @param implementor + */ + public EndpointImpl(Object implementor) { + super(implementor); + } + + /** + * @param b + * @param implementor + * @param sf + */ + public EndpointImpl(Bus b, Object implementor, JaxWsServerFactoryBean sf) { + super(b, implementor, sf); + } + + /** + * @param b + * @param i + * @param bindingUri + * @param wsdl + */ + public EndpointImpl(Bus b, Object i, String bindingUri, String wsdl) { + super(b, i, bindingUri, wsdl); + } + + /** + * @param b + * @param i + * @param bindingUri + * @param wsdl + * @param f + */ + public EndpointImpl(Bus b, Object i, String bindingUri, String wsdl, WebServiceFeature[] f) { + super(b, i, bindingUri, wsdl, f); + } + + /** + * @param b + * @param i + * @param bindingUri + */ + public EndpointImpl(Bus b, Object i, String bindingUri) { + super(b, i, bindingUri); + } + + /** + * @param b + * @param i + * @param bindingUri + * @param features + */ + public EndpointImpl(Bus b, Object i, String bindingUri, WebServiceFeature[] features) { + super(b, i, bindingUri, features); + } + + /** + * @param bus + * @param implementor + */ + public EndpointImpl(Bus bus, Object implementor) { + super(bus, implementor); + } + + //new in 2.2, but introduces a new class not found in 2.1 + public void setEndpointContext(EndpointContext ctxt) { + endpointContext = ctxt; + } + + //new in 2.2, but introduces a new class not found in 2.1 + public void publish(javax.xml.ws.spi.http.HttpContext context) { + super.publish(context); + } + +} Propchange: cxf/trunk/rt/frontend/jaxws/src/main/jaxws22/org/apache/cxf/jaxws22/EndpointImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: cxf/trunk/rt/frontend/jaxws/src/main/jaxws22/org/apache/cxf/jaxws22/EndpointImpl.java ------------------------------------------------------------------------------ svn:keywords = Rev Date Added: cxf/trunk/rt/frontend/jaxws/src/main/jaxws22/org/apache/cxf/jaxws22/JAXWS22Invoker.java URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxws/src/main/jaxws22/org/apache/cxf/jaxws22/JAXWS22Invoker.java?rev=956660&view=auto ============================================================================== --- cxf/trunk/rt/frontend/jaxws/src/main/jaxws22/org/apache/cxf/jaxws22/JAXWS22Invoker.java (added) +++ cxf/trunk/rt/frontend/jaxws/src/main/jaxws22/org/apache/cxf/jaxws22/JAXWS22Invoker.java Mon Jun 21 18:11:28 2010 @@ -0,0 +1,43 @@ +/** + * 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.cxf.jaxws22; + +import java.lang.reflect.Method; + +import org.apache.cxf.jaxws.JAXWSMethodInvoker; +import org.apache.cxf.message.Exchange; +import org.apache.cxf.service.invoker.Invoker; + +/** + * + */ +public class JAXWS22Invoker extends JAXWSMethodInvoker implements Invoker { + javax.xml.ws.spi.Invoker invoker; + + public JAXWS22Invoker(javax.xml.ws.spi.Invoker inv) { + super(null); + invoker = inv; + } + @Override + protected Object performInvocation(Exchange exchange, final Object serviceObject, Method m, + Object[] paramArray) throws Exception { + return invoker.invoke(m, paramArray); + } +} Propchange: cxf/trunk/rt/frontend/jaxws/src/main/jaxws22/org/apache/cxf/jaxws22/JAXWS22Invoker.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: cxf/trunk/rt/frontend/jaxws/src/main/jaxws22/org/apache/cxf/jaxws22/JAXWS22Invoker.java ------------------------------------------------------------------------------ svn:keywords = Rev Date Added: cxf/trunk/rt/frontend/jaxws/src/main/jaxws22/org/apache/cxf/jaxws22/spi/ProviderImpl.java URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxws/src/main/jaxws22/org/apache/cxf/jaxws22/spi/ProviderImpl.java?rev=956660&view=auto ============================================================================== --- cxf/trunk/rt/frontend/jaxws/src/main/jaxws22/org/apache/cxf/jaxws22/spi/ProviderImpl.java (added) +++ cxf/trunk/rt/frontend/jaxws/src/main/jaxws22/org/apache/cxf/jaxws22/spi/ProviderImpl.java Mon Jun 21 18:11:28 2010 @@ -0,0 +1,78 @@ +/** + * 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.cxf.jaxws22.spi; + +import java.util.Arrays; + +import javax.xml.ws.Endpoint; +import javax.xml.ws.WebServiceException; +import javax.xml.ws.WebServiceFeature; +import javax.xml.ws.spi.Invoker; + +import org.apache.cxf.Bus; +import org.apache.cxf.BusFactory; +import org.apache.cxf.common.classloader.ClassLoaderUtils; +import org.apache.cxf.common.i18n.Message; +import org.apache.cxf.jaxws.EndpointUtils; +import org.apache.cxf.jaxws.JaxWsServerFactoryBean; +import org.apache.cxf.jaxws.context.WebServiceContextImpl; +import org.apache.cxf.jaxws22.EndpointImpl; +import org.apache.cxf.jaxws22.JAXWS22Invoker; + +public class ProviderImpl extends org.apache.cxf.jaxws.spi.ProviderImpl { + @Override + protected org.apache.cxf.jaxws.EndpointImpl createEndpointImpl(Bus bus, + String bindingId, + Object implementor, + WebServiceFeature ... features) { + try { + ClassLoaderUtils.loadClass("javax.xml.ws.spi.http.HttpContext", ProviderImpl.class); + } catch (Throwable ex) { + //couldn't find the 2.2 stuff, assume 2.1 behavior + return super.createEndpointImpl(bus, bindingId, implementor, features); + } + + return new EndpointImpl(bus, implementor, bindingId, features); + } + + //new in 2.2, but introduces a new class not found in 2.1 + public Endpoint createEndpoint(String bindingId, Class implementorClass, + Invoker invoker, WebServiceFeature ... features) { + if (EndpointUtils.isValidImplementor(implementorClass)) { + Bus bus = BusFactory.getThreadDefaultBus(); + JaxWsServerFactoryBean factory = new JaxWsServerFactoryBean(); + if (features != null) { + factory.getJaxWsServiceFactory().setWsFeatures(Arrays.asList(features)); + } + factory.setInvoker(new JAXWS22Invoker(invoker)); + try { + invoker.inject(new WebServiceContextImpl()); + } catch (Exception e) { + throw new WebServiceException(new Message("ENDPOINT_CREATION_FAILED_MSG", LOG).toString(), e); + } + EndpointImpl ep = new EndpointImpl(bus, null, factory); + ep.setImplementorClass(implementorClass); + + return ep; + } else { + throw new WebServiceException(new Message("INVALID_IMPLEMENTOR_EXC", LOG).toString()); + } + } +} Propchange: cxf/trunk/rt/frontend/jaxws/src/main/jaxws22/org/apache/cxf/jaxws22/spi/ProviderImpl.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: cxf/trunk/rt/frontend/jaxws/src/main/jaxws22/org/apache/cxf/jaxws22/spi/ProviderImpl.java ------------------------------------------------------------------------------ svn:keywords = Rev Date Copied: cxf/trunk/rt/frontend/jaxws/src/main/spi-2.1/META-INF/services/javax.xml.ws.spi.Provider (from r956604, cxf/trunk/rt/frontend/jaxws/src/main/resources/META-INF/services/javax.xml.ws.spi.Provider) URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxws/src/main/spi-2.1/META-INF/services/javax.xml.ws.spi.Provider?p2=cxf/trunk/rt/frontend/jaxws/src/main/spi-2.1/META-INF/services/javax.xml.ws.spi.Provider&p1=cxf/trunk/rt/frontend/jaxws/src/main/resources/META-INF/services/javax.xml.ws.spi.Provider&r1=956604&r2=956660&rev=956660&view=diff ============================================================================== (empty) Added: cxf/trunk/rt/frontend/jaxws/src/main/spi-2.2/META-INF/services/javax.xml.ws.spi.Provider URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxws/src/main/spi-2.2/META-INF/services/javax.xml.ws.spi.Provider?rev=956660&view=auto ============================================================================== --- cxf/trunk/rt/frontend/jaxws/src/main/spi-2.2/META-INF/services/javax.xml.ws.spi.Provider (added) +++ cxf/trunk/rt/frontend/jaxws/src/main/spi-2.2/META-INF/services/javax.xml.ws.spi.Provider Mon Jun 21 18:11:28 2010 @@ -0,0 +1 @@ +org.apache.cxf.jaxws22.spi.ProviderImpl