NullPointerException at org.apache.cxf.transport.TransportURIResolver when the WSDL is not found instead of an exception with a useful message ----------------------------------------------------------------------------------------------------------------------------------------------
Key: CXF-2727 URL: https://issues.apache.org/jira/browse/CXF-2727 Project: CXF Issue Type: Improvement Affects Versions: 2.2.4 Reporter: Gary Gregory I get bit by this every time so you would I think I would learn: You get a {{NullPointerException at org.apache.cxf.transport.TransportURIResolver}} when the WSDL is not found instead of an Exception with a useful message, For example: {{WSDLServiceFactory factory = new WSDLServiceFactory(BusFactory.newInstance().createBus(), wsdlUrlString.trim(), null);}} Where wsdlUrlString points to a resource that is not there, in my case a resource on disk that is not there. {noformat} java.lang.NullPointerException at org.apache.cxf.transport.TransportURIResolver.resolve(TransportURIResolver.java:109) at org.apache.cxf.catalog.CatalogWSDLLocator.getBaseInputSource(CatalogWSDLLocator.java:72) at org.apache.cxf.wsdl11.AbstractWrapperWSDLLocator.getBaseInputSource(AbstractWrapperWSDLLocator.java:57) at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source) at org.apache.cxf.wsdl11.WSDLManagerImpl.loadDefinition(WSDLManagerImpl.java:210) at org.apache.cxf.wsdl11.WSDLManagerImpl.getDefinition(WSDLManagerImpl.java:175) at org.apache.cxf.wsdl11.WSDLServiceFactory.<init>(WSDLServiceFactory.java:91) at com.seagullsw.appinterface.server.comm.soap.SoapServletCxf$ValidatingInterceptor.initValidatingInterceptor(SoapServletCxf.java:952) at com.seagullsw.appinterface.server.comm.soap.SoapServletCxf$ValidatingInterceptor.addBefore(SoapServletCxf.java:931) at com.seagullsw.appinterface.server.comm.soap.SoapServletCxf.initValidators(SoapServletCxf.java:1303) at com.seagullsw.appinterface.server.comm.soap.SoapServletCxf.init(SoapServletCxf.java:1262) at org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:440) at org.mortbay.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:339) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:390) at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at org.mortbay.jetty.Server.handle(Server.java:322) at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542) at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938) at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755) at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218) at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404) at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409) at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:451) {noformat} I can see in TransportURIResolver, that there is a {{null}} check for {{base}} but that the last {{if}} in the method is not guarded for a {{null base}} Can we get a exception thrown with a URI not found or some such? -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.