CXF-BC raises a NullPointerException if the targetEndpoint is not found 
(without WSDL provided)
-----------------------------------------------------------------------------------------------

                 Key: SMXCOMP-649
                 URL: https://issues.apache.org/activemq/browse/SMXCOMP-649
             Project: ServiceMix Components
          Issue Type: Improvement
          Components: servicemix-cxf-bc
    Affects Versions: servicemix-cxf-bc-2009.01
            Reporter: Jean-Baptiste Onofré
            Assignee: Jean-Baptiste Onofré
             Fix For: servicemix-cxf-bc-2009.02


Using the CXF-BC component without provided WSDL, if the 
targetService/targetEndpoint is not found, the component raised a 
NullPointerException:


javax.jbi.management.DeploymentException: java.lang.NullPointerException
        at 
org.apache.servicemix.cxfbc.CxfBcConsumer.validate(CxfBcConsumer.java:504)
        at 
org.apache.servicemix.common.AbstractDeployer.validate(AbstractDeployer.java:58)
        at 
org.apache.servicemix.common.xbean.BaseXBeanDeployer.validate(BaseXBeanDeployer.java:55)
        at 
org.apache.servicemix.common.xbean.AbstractXBeanDeployer.deploy(AbstractXBeanDeployer.java:97)
        at 
org.apache.servicemix.common.BaseServiceUnitManager.doDeploy(BaseServiceUnitManager.java:88)
        at 
org.apache.servicemix.common.BaseServiceUnitManager.deploy(BaseServiceUnitManager.java:69)
        at 
org.apache.servicemix.jbi.framework.DeploymentService.deployServiceAssembly(DeploymentService.java:520)
        at 
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateServiceAssembly(AutoDeploymentService.java:349)
        at 
org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchive(AutoDeploymentService.java:255)
        at 
org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDirectory(AutoDeploymentService.java:658)
        at 
org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800(AutoDeploymentService.java:63)
        at 
org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(AutoDeploymentService.java:622)
        at java.util.TimerThread.mainLoop(Timer.java:512)
        at java.util.TimerThread.run(Timer.java:462)
Caused by: java.lang.NullPointerException
        at 
org.apache.cxf.wsdl11.WSDLServiceFactory.create(WSDLServiceFactory.java:115)
        at 
org.apache.servicemix.cxfbc.CxfBcConsumer.validate(CxfBcConsumer.java:397)

The xbean.xml looks like:

<?xml version="1.0"?>
<beans xmlns:nanthrax="http://www.nanthrax.net";
       xmlns:cxfse="http://servicemix.apache.org/cxfse/1.0";>

    <cxfse:endpoint service="nanthrax:cxfse-ns" endpoint="cxfse">
        <cxfse:pojo>
            <bean class="net.nanthrax.servicemix.tests.EchoImpl"/>
        </cxfse:pojo>
    </cxfse:endpoint>
       
</beans>

The solution is to add a target test in the validate() method to check if the 
target endpoint exists (as we make for the HTTP component) and expose a WSDL.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to