应用程序在本地运行,但返回的CloudBees的404运行(App runs locally but

2019-07-30 23:17发布

我的应用程序([URL])没有响应。 我已经通过您的网站上推荐的步骤了。

我已经部署了这场战争给我的本地TC-服务器,一切都在那里工作(/人服务器/ REST /人/)。 我希望得到一些XML从[URL] /人的服务器/ REST /人/回。

请指教

达伦·莱

Answer 1:

您的应用程序实际上是响应HTTP:// [URL] / _stax /状态,这意味着该容器能够接收并妥善处理请求。

由于您的应用程序将返回404 /人服务器/ REST /人路径请求,这意味着当前没有被容器装载到处理这些请求的Servlet。 有迹象表明,你的应用程序可能没有在运行时配置servlet的原因主要有两个:

  1. 您还没有使用Servlet配置您的应用程序正确地处理这些请求(这是通过servlet和servlet-路径条目通常做的WEB-INF / web.xml中)
  2. 有从加载你配置好的servlet防止容器您的应用程序在启动过程中发生的错误。

要确定是否有错误,你应该检查的第一件事就是为你的应用程序日志。 既然你没有张贴任何错误,我会假设你已经检查了日志,并没有发现任何错误。

这使你与你没有配置为处理请求的任何Servlet的场景。 看到你的网址后,我注意到它是由/人的服务器上,它看起来很像你可能会使用在你的本地配置TC服务器上下文路径前缀前缀。 由于部署在根上下文路径运行CloudBees的应用程序,我尝试使用下面的网址,并认为它确实是响应:[URL] / REST /人/

这意味着你有配置为处理/ REST /人/路径一个Servlet,这意味着您遇到预期在本地环境VS您的部署环境的网址略有区别。

如果你想这个servlet处可用/人的服务器,你需要更新你的web.xml使用这个前缀你REST的Servlet使用的路径。 或者,您可以部署应用程序与使用/人服务器,你的web应用的归档的上下文路径中的application.xml EAR文件。



Answer 2:

作为一般的规则- 400类型的错误(例如404在这种情况下)指示与该应用中的问题几乎总是 -和通常与路径差错和映射。

500类型错误的意思是在应用程序中的错误unhanded,这是因为每:

http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

他们的一些原因可能是,如果应用程序启动缓慢,可以有很短的时间周期,其中存在一定的误差,504如果应用程序(它的所有实例)是非常非常慢(速度太慢)。

如果有一个持续502发生这可能表明在某些情况下,平台的问题(即请求不会到达您的应用程序)。

你经常可以看到在您的应用程序错误日志(蜜蜂应用:尾流会这样 - 或使用控制台)。



Answer 3:

如果应用程序使用JAX-RS担任一个JBoss(“JavaEE的6 Web Profile的”)容器其余的内容,则需要启用此功能的容器支撑。 就在这个servlet的声明添加到你的web.xml

<servlet>
    <servlet-name>jax-rs</servlet-name>
    <servlet-class>javax.ws.rs.core.Application</servlet-class>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>jax-rs</servlet-name>
    <url-pattern>/*</url-pattern>
</servlet-mapping>

您的IDE可能会警告javax.ws.rs.core.Application不是一个servlet,而这确实是从JAX-RS API一个奇怪的细节,但是这是要使用正确的类。



文章来源: App runs locally but returns 404 running on cloudbees
标签: cloudbees