6 Replies Latest reply on Aug 22, 2008 9:58 AM by newion

    CXF SE causing NPE

    newion

      Hi,

      I have a serious problem with CXF SE (2.0.6) component which I use for implementing web service endpoint.

       

      My web service executes Drools engine (not servicemix-drools) and terminates with exception during loading facts to working memory. It terminates only when number of facts exceeds ca. 450. I tested the rules outside ServiceMix (and CXF) and there was no problem.

       

      This is the exception I found in the log of Servicemix:

       

      2008-08-13 10:48:14 org.apache.cxf.phase.PhaseInterceptorChain doIntercept

      INFO: Application has thrown exception, unwinding now: java.lang.NullPointerExce

      ption: null

       

      I suppose the CXF component can't allocate enough memory?

       

      What can I do? Thanks in advance.

       

      Regards,

      Pawel Kaczor

        • 1. Re: CXF SE causing NPE
          martinmurphy

          Can you check to see if you've specified the operation in the ME when invoking on the CXF SE?

          • 2. Re: CXF SE causing NPE
            newion

            I'm not sure what you mean.

             

            This is my web service interface:

             

            @WebService(name="DataIntegrityCheck", targetNamespace = "http://company.com/reporttool/dataintegrity")

            @SOAPBinding(style=Style.DOCUMENT,parameterStyle=ParameterStyle.BARE)       

            public interface DataIntegrityCheckService {

            @Oneway
            public void startService(String ruleName);

            }

             

            CXF SE endpoint definition:

             

            <cxfse:endpoint>

            <cxfse:pojo>bq. <bean id="checkEngine"  class="com.consileon.ct.dataintegrity.DataIntegrityCheckServiceImpl">bq. <property name="entityManagerFactory" ref="entityManagerFactory"/>
            <property name="context" ref="context"/>

                      </bean>

             

                 </cxfse:pojo>

             

            </cxfse:endpoint>

             

            and CXF BC definition:

            <cxfbc:consumer wsdl="classpath:DataIntegrityCheckService.wsdl" endpoint="DataIntegrityCheck" service="integrity:DataIntegrityCheckService" interfaceName="integrity:DataIntegrityCheckPort" targetService="integrity:DataIntegrityCheckService"

            />

            • 3. Re: CXF SE causing NPE
              martinmurphy

              I didn't realise the CXF BC was invoking directly on the SE, I thought there was another component in between that may not have been setting the operation on the Message Exchange that was passed to the SE.

               

              Can you get a full stack and print it here?

              I presume there is a good reason to deploy this in FUSE ESB rather than just using FUSE SF directly?

               

              Edited by: martinmurphy on Aug 22, 2008 8:14 AM

              • 4. Re: CXF SE causing NPE
                newion

                I found the problem, finally.

                My application is throwing NPE but the exception was not reported properly by. I could see only :

                 

                2008-08-22 15:07:33 org.apache.cxf.phase.PhaseInterceptorChain doIntercept

                INFO: Application has thrown exception, unwinding now: java.lang.NullPointerException: null.

                I migrated from CXF 2.0.6 to 2.0.8 (most recent FUSE ESB)

                and now I can see what was the cause of the error.

                 

                Thanks anyway.

                • 5. Re: CXF SE causing NPE
                  ubhole

                  What version of Servicemix you are using?

                  Can you try latest one like 3.2.2 or Latest Snapshot?

                  It may be related to the issue https://issues.apache.org/activemq/browse/SM-1225

                   

                  Regards,

                   

                  Ulhas Bhole

                  • 6. Re: CXF SE causing NPE
                    newion

                    I used fuse-esb-3.3.1.3-windows and now fuse-esb-3.3.1.5-windows