绝对URL .. 400 BAD请求

时间:2013-10-29 21:05:26

标签: java http servlets jetty

我目前正在我的应用程序中运行一个码头Web服务器。其中一个客户使用HttpPost调用我的。

有时它有效,有时他会得到HTTP 400 BAD请求。

这些是日志

About to connect() to 10.184.209.142 port 8080 
Trying 10.184.209.142... 
Connected to 10.184.209.142 (10.184.209.142) port 8080 
POST /CSCIntegration HTTP/1.1
User-Agent: CSC Test
Host: 10.184.209.142:8080
Accept: */*
From: anonymous@unknown.com
Connection: close
Content-Type: text/xml; charset=utf-8
Content-Length: 440

如果我使用Junit运行相同的操作,我看不出任何问题。

是否因为HttpPost中缺少尾部斜杠? 这个错误是由于jetty issue ??

造成的

1 个答案:

答案 0 :(得分:0)

  

是否因为HttpPost中缺少尾部斜杠?这个错误是由于码头问题吗?

可能。这取决于两件事:

  • 您是否使用未修复该问题的旧版Jetty。如果您阅读linked bugzilla entry,则该错误已在一年前修复。

  • 客户端是否使用缺少尾部斜杠的网址。

  

如果我使用Junit运行相同的操作,我看不出任何问题。

目前还不清楚你在说什么。

  • 如果您说您可以手动重现问题但不能使用JUnit测试(设计重现此问题),请检查您是否使用相同版本的Jetty您的测试和生产系统。然后检查配置的差异。

  • 如果你只是说你的JUnit测试不能解决这个问题,那么解决方案是显而易见的。写一个 覆盖它的新测试!

如果这些都没有帮助,那么您应该考虑将调试器附加到生产服务器(哎哟!)以找出实际发生的情况。