Author: dkulp Date: Tue Jan 10 18:32:57 2012 New Revision: 1229671 URL: http://svn.apache.org/viewvc?rev=1229671&view=rev Log: Merged revisions 1229669 via svnmerge from https://svn.apache.org/repos/asf/cxf/branches/2.5.x-fixes
................ r1229669 | dkulp | 2012-01-10 13:27:19 -0500 (Tue, 10 Jan 2012) | 10 lines Merged revisions 1229663 via svnmerge from https://svn.apache.org/repos/asf/cxf/trunk ........ r1229663 | dkulp | 2012-01-10 13:12:18 -0500 (Tue, 10 Jan 2012) | 2 lines [CXF-4018] Fix problems with providers not getting the proper JAXWSMethodInvoker ........ ................ Modified: cxf/branches/2.4.x-fixes/ (props changed) cxf/branches/2.4.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceFactoryBean.java cxf/branches/2.4.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/provider/ProviderServiceFactoryTest.java Propchange: cxf/branches/2.4.x-fixes/ ------------------------------------------------------------------------------ --- svn:mergeinfo (added) +++ svn:mergeinfo Tue Jan 10 18:32:57 2012 @@ -0,0 +1,2 @@ +/cxf/branches/2.5.x-fixes:1229669 +/cxf/trunk:1229663 Propchange: cxf/branches/2.4.x-fixes/ ------------------------------------------------------------------------------ Binary property 'svnmerge-integrated' - no diff available. Modified: cxf/branches/2.4.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceFactoryBean.java URL: http://svn.apache.org/viewvc/cxf/branches/2.4.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceFactoryBean.java?rev=1229671&r1=1229670&r2=1229671&view=diff ============================================================================== --- cxf/branches/2.4.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceFactoryBean.java (original) +++ cxf/branches/2.4.x-fixes/rt/frontend/jaxws/src/main/java/org/apache/cxf/jaxws/support/JaxWsServiceFactoryBean.java Tue Jan 10 18:32:57 2012 @@ -64,6 +64,7 @@ import org.apache.cxf.endpoint.Endpoint; import org.apache.cxf.endpoint.EndpointException; import org.apache.cxf.helpers.CastUtils; import org.apache.cxf.jaxws.JAXWSMethodDispatcher; +import org.apache.cxf.jaxws.JAXWSMethodInvoker; import org.apache.cxf.jaxws.JAXWSProviderMethodDispatcher; import org.apache.cxf.jaxws.WrapperClassGenerator; import org.apache.cxf.jaxws.interceptors.WebFaultOutInterceptor; @@ -73,6 +74,8 @@ import org.apache.cxf.service.factory.Fa import org.apache.cxf.service.factory.FactoryBeanListener.Event; import org.apache.cxf.service.factory.ReflectionServiceFactoryBean; import org.apache.cxf.service.factory.ServiceConstructionException; +import org.apache.cxf.service.invoker.Invoker; +import org.apache.cxf.service.invoker.SingletonFactory; import org.apache.cxf.service.model.BindingInfo; import org.apache.cxf.service.model.BindingOperationInfo; import org.apache.cxf.service.model.EndpointInfo; @@ -691,4 +694,13 @@ public class JaxWsServiceFactoryBean ext } super.initializeParameter(part, rawClass, type); } + + @Override + protected Invoker createInvoker() { + Class<?> cls = getServiceClass(); + if (cls.isInterface()) { + return null; + } + return new JAXWSMethodInvoker(new SingletonFactory(getServiceClass())); + } } Modified: cxf/branches/2.4.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/provider/ProviderServiceFactoryTest.java URL: http://svn.apache.org/viewvc/cxf/branches/2.4.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/provider/ProviderServiceFactoryTest.java?rev=1229671&r1=1229670&r2=1229671&view=diff ============================================================================== --- cxf/branches/2.4.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/provider/ProviderServiceFactoryTest.java (original) +++ cxf/branches/2.4.x-fixes/rt/frontend/jaxws/src/test/java/org/apache/cxf/jaxws/provider/ProviderServiceFactoryTest.java Tue Jan 10 18:32:57 2012 @@ -55,6 +55,7 @@ public class ProviderServiceFactoryTest bean.setServiceClass(HWSoapMessageProvider.class); Service service = bean.create(); + assertTrue(service.getInvoker() instanceof JAXWSMethodInvoker); assertEquals("SOAPService", service.getName().getLocalPart()); assertEquals("http://apache.org/hello_world_soap_http", service.getName().getNamespaceURI()); @@ -68,6 +69,7 @@ public class ProviderServiceFactoryTest svrFactory.setStart(false); ServerImpl server = (ServerImpl)svrFactory.create(); + assertTrue(server.getEndpoint().getService().getInvoker() instanceof JAXWSMethodInvoker); Endpoint endpoint = server.getEndpoint(); Binding binding = endpoint.getBinding();
