org.apache.cxf.BusException: Не е намерена DestinationFactory за пространството от имена http://schemas.xmlsoap.org/soap/http/

В wsdl-файл имам следния ред:

When I deploy the webapplication (on JBOSS 5.1.0) and try to access the wsdl I get the following exception:

org.apache.cxf.BusException: No DestinationFactory was found for the namespace http://schemas.xmlsoap.org/soap/http/.
 org.apache.cxf.transport.DestinationFactoryManagerImpl.getDestinationFactory(DestinationFactoryManagerImpl.java:115)
 org.apache.cxf.endpoint.ServerImpl.initDestination(ServerImpl.java:85)
 org.apache.cxf.endpoint.ServerImpl.<init>(ServerImpl.java:69)
 org.apache.cxf.frontend.ServerFactoryBean.create(ServerFactoryBean.java:118)
 org.apache.cxf.jaxws.JaxWsServerFactoryBean.create(JaxWsServerFactoryBean.java:167)
 org.apache.cxf.jaxws.EndpointImpl.getServer(EndpointImpl.java:346)
 org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:259)
 org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:209)
 org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:404)
 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 java.lang.reflect.Method.invoke(Method.java:597)
 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1413)
 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1374)
 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1334)
 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:473)
 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
 java.security.AccessController.doPrivileged(Native Method)
 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
 org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
 org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:221)
 org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
 org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
 org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
 org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
 org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:729)
 org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:381)
 org.jboss.wsf.stack.cxf.CXFServletExt.loadAdditionalConfigExt(CXFServletExt.java:124)
 org.jboss.wsf.stack.cxf.CXFServletExt.loadBus(CXFServletExt.java:101)
 org.apache.cxf.transport.servlet.AbstractCXFServlet.init(AbstractCXFServlet.java:78)
 org.jboss.wsf.stack.cxf.CXFServletExt.init(CXFServletExt.java:73)
 org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
 org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
 org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
 org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
 se.marakanda.jboss.LoginContextValve.invoke(LoginContextValve.java:44)
 org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
 org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
 org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
 org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
 java.lang.Thread.run(Thread.java:619)

Някой знае ли как може да се реши този проблем?


person aksamit    schedule 01.12.2010    source източник


Отговори (4)


Имах същия проблем. И нищо от нещата на Google нямаше смисъл. В моя случай открих, че ми липсва следното в пролетния контекстен файл:

<import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />
person powerbart    schedule 17.11.2011

Ако работите с cxf 3.x, но имате cxf 2.x буркани във вашия classpath, това може да се случи. Намерете версията на вашите буркани така:

for fn in cxf*.jar; do echo $fn; unzip -p $fn *pom.xml | grep "<version>" | head -1; done;
person Daryl Banttari    schedule 01.08.2016

Правите ли първата разработка на wsdl и посочвате ли wsdlLocation във вашата анотация WebService.wsdlLocation?

"http://schemas.xmlsoap.org/soap/http/" ще работи с wsdl2java и много неща. Но ако използвате wsdlLocation за първо внедряване на wsdl, това може да е придирчиво и да не прилича на допълнителната наклонена черта в края. Затова използвайте transport="http://schemas.xmlsoap.org/soap/http" (без наклонена черта в края) във вашия wsdl.

person Rich    schedule 14.04.2011
comment
Имам същия проблем, за съжаление не можах да разбера от отговора ви какво да правя. Бихте ли обяснили? - person Danubian Sailor; 19.05.2011

Моля добавете

    <dependency>
       <groupId>org.apache.cxf</groupId>
       <artifactId>cxf-rt-transports-http</artifactId>
       <version>2.7.1</version>
    </dependency>

search maven

person veer7    schedule 22.07.2020