You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by "Jacek Laskowski (JIRA)" <de...@tuscany.apache.org> on 2010/02/22 16:22:28 UTC

[jira] Created: (TUSCANY-3471) NPE upon sending a malformed Atom POST request with implementation.atom

NPE upon sending a malformed Atom POST request with implementation.atom
-----------------------------------------------------------------------

                 Key: TUSCANY-3471
                 URL: https://issues.apache.org/jira/browse/TUSCANY-3471
             Project: Tuscany
          Issue Type: Bug
          Components: Java SCA ATOM Binding Extension
    Affects Versions: Java-SCA-1.6
            Reporter: Jacek Laskowski


With a malformed POST request to a binding.atom service a NPE is thrown as follows:

devmac:~ jacek$ curl -s -X POST -H "Content-type: application/atom+xml; type=entry" --data @ranek.xml http://devmac.local:8080/slownik/pl-de/
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
<title>Error 500 INTERNAL_SERVER_ERROR</title>
</head>
<body><h2>HTTP ERROR: 500</h2><pre>INTERNAL_SERVER_ERROR</pre>
<p>RequestURI=/slownik/pl-de/</p><h3>Caused by:</h3><pre>java.lang.NullPointerException
	at org.apache.tuscany.sca.binding.atom.provider.AtomBindingListenerServlet.doPost(AtomBindingListenerServlet.java:590)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
	at org.mortbay.jetty.Server.handle(Server.java:324)
	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
	at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:842)
	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:648)
	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
	at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
	at org.apache.tuscany.sca.core.work.Work.run(Work.java:63)
	at org.apache.tuscany.sca.core.work.ThreadPoolWorkManager$DecoratingWork.run(ThreadPoolWorkManager.java:215)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:637)

it is because AtomBindingUtil.entry is allowed to return null which is not checked by the AtomBindingListenerServlet when getting the values out of it.

The "fix" is to fix the POST request (hence the quotes) :)

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