我目前正在我的应用程序中运行一个码头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 ??
造成的答案 0 :(得分:0)
是否因为HttpPost中缺少尾部斜杠?这个错误是由于码头问题吗?
可能。这取决于两件事:
您是否使用未修复该问题的旧版Jetty。如果您阅读linked bugzilla entry,则该错误已在一年前修复。
客户端是否使用缺少尾部斜杠的网址。
如果我使用Junit运行相同的操作,我看不出任何问题。
目前还不清楚你在说什么。
如果您说您可以手动重现问题但不能使用JUnit测试(设计重现此问题),请检查您是否使用相同版本的Jetty您的测试和生产系统。然后检查配置的差异。
如果你只是说你的JUnit测试不能解决这个问题,那么解决方案是显而易见的。写一个 覆盖它的新测试!
如果这些都没有帮助,那么您应该考虑将调试器附加到生产服务器(哎哟!)以找出实际发生的情况。