From: <tr...@do...> - 2013-01-14 18:47:32
|
<p>A new comment has been added to the following issue.</p> <table border="0"> <tr> <td width="90px" valign="top"><b>Title:</b></td> <td>SPARQL update fails against Sesame Endpoint secured with Basic HTTP Authentication</td> </tr> <tr> <td><b>Project:</b></td> <td>Core Library (dotNetRDF.dll)</td> </tr> <tr> <td><b>Created By:</b></td> <td>Daeron Meyer</td> </tr> <tr> <td><b>Date:</b></td> <td>2013-01-14 06:46 PM</td> </tr> <tr> <td><b>Comment:</b></td> </tr> <tr> <td colspan="2">Actually I'm pretty sure this is the problem. Looking at the dotNetRDF sesame connector code I believe what is happening is that the HTTPWebRequest is delivering the full POST (header + body) expecting it to go through, but Tomcat is rejecting it right after the initial header of the POST completes (thus 401 response) since no credentials are in the header. I believe the POST header must not contain/specify the size of the body, so Tomcat has no choice but to go on and process the remaining body of the initial POST as a second HTTP request since this is HTTP/1.1 and the socket has been left open (unlike HTTP/1.0). This fails (Response code 501) because the body of the POST by itself (without a header) is no longer HTTP protocol. If it were, then the log entry would be: 198.36.94.34 - - [09/Jan/2013:22:04:51 +0000] POST "update=PREFIX+rdf%3a+%3chttp%3a%2f.... Not 198.36.94.34 - - [09/Jan/2013:22:04:51 +0000] "update=PREFIX+rdf%3a+%3chttp%3a%2f... Make sense? I can try setting up Wireshark to get a snapshot of the exact full POST request to verify this is the case.</td> </tr> </table> <p> More information on this issue can be found at <a href="http://www.dotnetrdf.org/tracker/Issues/IssueDetail.aspx?id=301" target="_blank">http://www.dotnetrdf.org/tracker/Issues/IssueDetail.aspx?id=301</a></p> <p style="text-align:center;font-size:8pt;padding:5px;"> If you no longer wish to receive notifications, please visit <a href="http://www.dotnetrdf.org/tracker/Account/UserProfile.aspx" target="_blank">your profile</a> and change your notifications options. </p> |