Nullpointer exception using http:send-mail with authentication details, no send-authorization attribute
Friday, 15 February 2019 · 2 messages
MW
Markus Wittenberg15 Feb 2019 02:57 #
Hi there,
I get a Nullpointer exception (see below) using the http:send-mail method with authentication details (Basic Auth), but without the send-authorization attribute in the http:request element.
According to the EXPath HTTP Client Module spec
(http://expath.org/spec/http-client#d2e430) the send-authorization attribute is not mandatory, default value false should be used if it is missing.
Unexpected error: Improper use? Potential bug? Your feedback is welcome: Contact: basex-talk at mailman.uni-konstanz.de
Version: BaseX 9.1.1
Java: Oracle Corporation, 1.8.0_92
OS: Windows 7, amd64
Stack Trace:
java.lang.NullPointerException
at org.basex.util.http.HttpClient.setContentType(HttpClient.java:259)
at org.basex.util.http.HttpClient.sendRequest(HttpClient.java:83)
at org.basex.query.func.http.HttpSendRequest.iter(HttpSendRequest.java:34)
at org.basex.query.expr.ParseExpr.value(ParseExpr.java:74)
at org.basex.query.expr.gflwor.GFLWOR.value(GFLWOR.java:73)
at org.basex.query.func.StaticFunc.invValue(StaticFunc.java:181)
at org.basex.query.func.FuncCall.invoke(FuncCall.java:89)
at org.basex.query.func.FuncCall.value(FuncCall.java:62)
at org.basex.query.func.FuncCall.iter(FuncCall.java:67)
at org.basex.query.scope.MainModule.iter(MainModule.java:118)
at org.basex.query.QueryContext.iter(QueryContext.java:335)
at org.basex.http.restxq.RestXqResponse.serialize(RestXqResponse.java:73)
at org.basex.http.web.WebResponse.create(WebResponse.java:56)
at org.basex.http.restxq.RestXqServlet.run(RestXqServlet.java:54)
at org.basex.http.BaseXServlet.service(BaseXServlet.java:59)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:857)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1655)
at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:215)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144)
at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:220)
at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
at org.eclipse.jetty.server.Server.handle(Server.java:503)
at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364)
at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260)
at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305)
at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765)
at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683)
at java.lang.Thread.run(Thread.java:745)Best regards
--
Markus Wittenberg
Tel +49 (0)8382 911 07 24
Mail wittenberg at axxepta.de
----
axxepta solutions GmbH
Lehmgrubenweg 17, 88131 Lindau
Amtsgericht Berlin HRB 97544B
Geschäftsführer: Karsten Becke, Maximilian Gärber
CG
Christian Grün15 Feb 2019 07:50 #
Hi Markus,
thanks for your bug report, which summarizes exactly how the attribute is supposed to work. The bug has been encountered just recently; it is fixed in the latest stable snapshot.
Best,
Christian
Quoted text · Markus Wittenberg · 79 lines
On Fri, Feb 15, 2019 at 2:57 AM Markus Wittenberg <Wittenberg at axxepta.de> wrote: > > Hi there, > > I get a Nullpointer exception (see below) using the http:send-mail method with authentication details (Basic Auth), but without the send-authorization attribute in the http:request element. > > According to the EXPath HTTP Client Module spec (http://expath.org/spec/http-client#d2e430) the send-authorization attribute is not mandatory, default value false should be used if it is missing. > > > Unexpected error: Improper use? Potential bug? Your feedback is welcome: > Contact: basex-talk at mailman.uni-konstanz.de > Version: BaseX 9.1.1 > Java: Oracle Corporation, 1.8.0_92 > OS: Windows 7, amd64 > Stack Trace: > java.lang.NullPointerException > at org.basex.util.http.HttpClient.setContentType(HttpClient.java:259) > at org.basex.util.http.HttpClient.sendRequest(HttpClient.java:83) > at org.basex.query.func.http.HttpSendRequest.iter(HttpSendRequest.java:34) > at org.basex.query.expr.ParseExpr.value(ParseExpr.java:74) > at org.basex.query.expr.gflwor.GFLWOR.value(GFLWOR.java:73) > at org.basex.query.func.StaticFunc.invValue(StaticFunc.java:181) > at org.basex.query.func.FuncCall.invoke(FuncCall.java:89) > at org.basex.query.func.FuncCall.value(FuncCall.java:62) > at org.basex.query.func.FuncCall.iter(FuncCall.java:67) > at org.basex.query.scope.MainModule.iter(MainModule.java:118) > at org.basex.query.QueryContext.iter(QueryContext.java:335) > at org.basex.http.restxq.RestXqResponse.serialize(RestXqResponse.java:73) > at org.basex.http.web.WebResponse.create(WebResponse.java:56) > at org.basex.http.restxq.RestXqServlet.run(RestXqServlet.java:54) > at org.basex.http.BaseXServlet.service(BaseXServlet.java:59) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) > at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:857) > at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1655) > at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:215) > at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642) > at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533) > at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146) > at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) > at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) > at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257) > at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595) > at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255) > at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340) > at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203) > at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473) > at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564) > at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201) > at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242) > at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144) > at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:220) > at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126) > at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) > at org.eclipse.jetty.server.Server.handle(Server.java:503) > at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364) > at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260) > at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305) > at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) > at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118) > at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765) > at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683) > at java.lang.Thread.run(Thread.java:745) > > > Best regards > > -- > Markus Wittenberg > > Tel +49 (0)8382 911 07 24 > Mail wittenberg at axxepta.de > > ---- > > axxepta solutions GmbH > Lehmgrubenweg 17, 88131 Lindau > > Amtsgericht Berlin HRB 97544B > Geschäftsführer: Karsten Becke, Maximilian Gärber
Written for BaseX 9.1. BaseX may have changed since: please check the current documentation.
⚡Generated with XQuery