[jbossws-issues] [JBoss JIRA] Commented: (JBWS-2112) Cannot use CXF with endpoint API
Jervis Liu (JIRA)
jira-events at lists.jboss.org
Sun Apr 13 22:34:04 EDT 2008
[ http://jira.jboss.com/jira/browse/JBWS-2112?page=comments#action_12408490 ]
Jervis Liu commented on JBWS-2112:
----------------------------------
To make this work, we need to do a tight CXF-JBOSS integration on the CXF side, i.e., make CXF support Endpoint.publish(org.jboss.wsf.spi.http.HttpContext). However do we really need to use this Endpoint.publish(org.jboss.wsf.spi.http.HttpContext) API? Besides the contextRoot (HttpContext.getContextRoot()), what else information do we need to get from org.jboss.wsf.spi.http.HttpContext in order to publish a JAX-WS endpoint in JBoss? We should stick to the more generic API like Endpoint.publish(String address) if it is possible. Obviously we dont want to see CXF distribution is not self-contained without various jars from JBoss, Geronimo and all other servers etc.
On the other hand, we can improve CXF error message to make Endpoint.publish(Object serverContext) throw a IllegalArgumentException instead failed silently when an unsupported serverContext is passed in.
> Cannot use CXF with endpoint API
> --------------------------------
>
> Key: JBWS-2112
> URL: http://jira.jboss.com/jira/browse/JBWS-2112
> Project: JBoss Web Services
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: jbossws-cxf
> Reporter: Thomas Diesler
>
> [tdiesler at tddell trunk]$ ant -Dtest=jaxws/endpoint test
> tests-run-internal:
> [junit] Running org.jboss.test.ws.jaxws.endpoint.EndpointTestCase
> [junit] Retrieving document at 'http://localhost:8080/jaxws-endpoint?wsdl'.
> [junit] Tests run: 3, Failures: 0, Errors: 3, Time elapsed: 4.628 sec
> [junit] Test org.jboss.test.ws.jaxws.endpoint.EndpointTestCase FAILED
> java.lang.ClassNotFoundException: org.apache.cxf.binding.soap.SoapBindingFactory
> at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1358)
> at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
> at org.springframework.util.ClassUtils.forName(ClassUtils.java:229)
> at org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:327)
> at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1073)
> at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:348)
> at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:249)
> at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:155)
> at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:246)
> at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:160)
> at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:757)
> at org.apache.cxf.configuration.spring.AbstractSpringBeanMap.get(AbstractSpringBeanMap.java:136)
> at org.apache.cxf.configuration.spring.AbstractSpringBeanMap$SpringBeanMapWrapper.get(AbstractSpringBeanMap.java:236)
> at org.apache.cxf.binding.BindingFactoryManagerImpl.getBindingFactory(BindingFactoryManagerImpl.java:80)
> at org.apache.cxf.wsdl11.WSDLServiceUtils.getBindingFactory(WSDLServiceUtils.java:44)
> at org.apache.cxf.wsdl11.WSDLServiceBuilder.buildBinding(WSDLServiceBuilder.java:379)
> at org.apache.cxf.wsdl11.WSDLServiceBuilder.buildServices(WSDLServiceBuilder.java:271)
> at org.apache.cxf.wsdl11.WSDLServiceBuilder.buildServices(WSDLServiceBuilder.java:153)
> at org.apache.cxf.wsdl11.WSDLServiceFactory.create(WSDLServiceFactory.java:117)
> at org.apache.cxf.jaxws.ServiceImpl.initializePorts(ServiceImpl.java:136)
> at org.apache.cxf.jaxws.ServiceImpl.<init>(ServiceImpl.java:127)
> at org.apache.cxf.jaxws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:55)
> at javax.xml.ws.Service.<init>(Service.java:57)
> at javax.xml.ws.Service.create(Service.java:302)
> at org.jboss.test.ws.jaxws.endpoint.EndpointServlet.doGet(EndpointServlet.java:87)
> [tdiesler at tddell jboss-4.2.2.GA]$ find . -name "*.jar" | xargs grep SoapBindingFactory
> Binary file ./client/cxf-2.0.5-incubator.jar matches
> Binary file ./server/default/deploy/jbossws.sar/cxf-2.0.5-incubator.jar matches
> Binary file ./server/default/tmp/deploy/tmp20619cxf-2.0.5-incubator.jar matches
> This seems to be a classloading issue
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jbossws-issues
mailing list