I have used cxf (2.0.6) to create a mock service implementation AND a client
from a customer wsdl.

I can deploy the mock service (to oc4j) and get the wsdl back in the
browser.

I want to call the client from another web app and so far this is failing.

I have a junit test that I am hoping to use to expose the problem but I am
stumped now by a spring error.

The service is accessible via an https url -- ssl seems to be correctly
implemented for the test oc4j instance.

When I run the test, I see:

Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 1.385 sec
<<< FAILURE!
testHighLevelSimulatorServiceEstablishConnectionTest(com.gestalt.integration.mde.mdd.SimulatorServiceIntTest)
 
Time elapsed: 1.345 sec  <<< ERROR!
java.lang.RuntimeException:
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'org.apache.cxf.transport.http.ClientOnlyHTTPTransportFactory'
defined in class path resource [META-INF/cxf/cxf-extension-http.xml]: Cannot
resolve reference to bean 'cxf' while setting bean property 'bus'; nested
exception is
org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean
named 'cxf' is defined
        at
org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:96)
        at
org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:87)
        at
org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:65)
        at
org.apache.cxf.bus.spring.SpringBusFactory.createBus(SpringBusFactory.java:54)
        at org.apache.cxf.BusFactory.getDefaultBus(BusFactory.java:69)
        at
org.apache.cxf.BusFactory.getThreadDefaultBus(BusFactory.java:106)
        at org.apache.cxf.BusFactory.getThreadDefaultBus(BusFactory.java:97)
        at
org.apache.cxf.jaxws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:54)
        at javax.xml.ws.Service.<init>(Service.java:57)
        at
mil.dod.metadata.mdr.ns.mde._1_0.ws.metadatadiscoveryservice.MetadataDiscoveryService_Service.<init>(MetadataDiscoveryService_Service.java:41)
        at
com.gestalt.integration.mde.mdd.client.impl.MetadataDiscoveryServiceClient.<init>(MetadataDiscoveryServiceClient.java:16)
        at
com.gestalt.integration.mde.mdd.proxy.impl.MetadataDiscoveryServiceProxyImpl.<init>(MetadataDiscoveryServiceProxyImpl.java:28)
        at
com.gestalt.integration.mde.mdd.SimulatorServiceIntTest.testHighLevelSimulatorServiceEstablishConnectionTest(SimulatorServiceIntTest.java:54)
Caused by: org.springframework.beans.factory.BeanCreationException: Error
creating bean with name
'org.apache.cxf.transport.http.ClientOnlyHTTPTransportFactory' defined in
class path resource [META-INF/cxf/cxf-extension-http.xml]: Cannot resolve
reference to bean 'cxf' while setting bean property 'bus'; nested exception
is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean
named 'cxf' is defined

Our beans file looks like this:

<beans xmlns="http://www.springframework.org/schema/beans";
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
   xmlns:sec="http://cxf.apache.org/configuration/security";
   xmlns:http="http://cxf.apache.org/transports/http/configuration";
        xmlns:jaxws="http://cxf.apache.org/jaxws";
        xsi:schemaLocation="
                   http://cxf.apache.org/configuration/security
                      http://cxf.apache.org/schemas/configuration/security.xsd
           http://cxf.apache.org/transports/http/configuration
              http://cxf.apache.org/schemas/configuration/http-conf.xsd
        http://www.springframework.org/schema/beans 
        http://www.springframework.org/schema/beans/spring-beans.xsd 
        http://cxf.apache.org/jaxws 
        http://cxf.apache.org/schemas/jaxws.xsd";>
<!--
        <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" />
-->
        <import resource="classpath:META-INF/cxf/cxf-all.xml" />
        <jaxws:endpoint
          id="mdd"
         
implementor="com.gestalt.integration.mde.mdd.service.impl.MetadataDiscoveryServiceSimulatedImpl"
 
          wsdlLocation="WEB-INF/wsdl/MetadataDiscoveryService.wsdl"
          address="/service"  />
   <http:conduit name="*.http-conduit">
       <http:tlsClientParameters secureSocketProtocol="SSL">
       </http:tlsClientParameters>
       <http:client AutoRedirect="true" Connection="Keep-Alive"/>
   </http:conduit>

</beans>

Note that I just commented out the separate cxf imports in favor of the
cxf-all import.

Does this look like I am doing something stupid?

Any hints appreciated.

Jim
-- 
View this message in context: 
http://www.nabble.com/junit-test-with-spring-and-cxf-failing----no-bean-named-cxf-is-defined-tp17782928p17782928.html
Sent from the cxf-user mailing list archive at Nabble.com.

Reply via email to