2 Replies Latest reply on Jan 6, 2005 5:56 AM by oaadland

    Nullpointer in JBoss.net 3.2.6

    oaadland

      Hi

      I've been uning JBoss 3.2.1 for some time with the JBoss.net axis webservice integration. And this worked ok. We want to upgrade to 3.2.6 because of a path to the UnifiedClassloader.

      However when we try to run the same webservice on 3.2.6 we get a NullpointerException in org.jboss.net.axis.Deployment.oldGetService.

      Full stactrace:

      java.lang.NullPointerException
      at org.jboss.net.axis.Deployment.oldGetService(Deployment.java:255)
      at org.jboss.net.axis.Deployment.getService(Deployment.java:275)
      at org.apache.axis.configuration.FileProvider.getService(FileProvider.java:290)
      at org.apache.axis.AxisEngine.getService(AxisEngine.java:302)
      at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:900)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
      at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:372)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
      at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:75)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
      at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
      at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
      at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
      at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
      at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:66)
      at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
      at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:158)
      at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
      at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540)
      at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
      at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
      at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
      at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
      at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
      at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
      at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
      at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
      at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
      at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
      at java.lang.Thread.run(Thread.java:534)


      I looked at the code where the Nullpointer originates, and it looks like the MessageContext isn't initialised at the time of the call. When I look at the code in AxisServlet.doPost is seems that the initialisation of this context is done after the call to getService(). To me it looks like this cannot work. Does anyone know if this is a bug, or if there is a workarond for it?

      I also noticed that the WSDL generated from the 3.2.6 differs fra the one from 3.2.1.

      Snippet from 3.2.1:
      <wsdl:operation name="execute">
      <wsdlsoap:operation soapAction="Manager"/>
      <wsdl:input name="executeRequest">
      <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/jboss-net/services/Manager" use="encoded"/>
      </wsdl:input>
      <wsdl:output name="executeResponse">
      <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/jboss-net/services/Manager" use="encoded"/>
      </wsdl:output>
      </wsdl:operation>

      Snippet fra 3.2.6
      <wsdl:operation name="execute">
      <wsdlsoap:operation soapAction="Manager"/>
      <wsdl:input name="executeRequest">
      <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://service.tjener.myapplication.myorganization.no" use="encoded"/>
      </wsdl:input>
      <wsdl:output name="executeResponse">
      <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/jboss-net/services/Manager" use="encoded"/>
      </wsdl:output>
      <wsdl:fault name="MyAppException">
      <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/jboss-net/services/Manager" use="encoded"/>
      </wsdl:fault>
      </wsdl:operation>

      The marked namespace in the 3.2.6 version is completely bogus, and I have no idea where i came from.

      Any ideas to what the problem is? I would greatly appretiate any input.

      Best regards
      Øystein Aadland