0

我有一个简单的 Grails 应用程序 (1.3.7),我在其中测试异常并将特定的 HTTP 状态代码返回给客户端。

我禁用了默认设置"500" (view: '/error')URLMappings防止 Grails 使用标准error视图呈现响应。

我的控制器中有一个简单的闭包,我在捕获异常后重定向到该闭包,并呈现响应......

def remoteError = {
   response.status = 500
   render ([__error: "A remote error occurred"] as JSON)
}

在 WebLogic 10.3 的一个实例上,当抛出测试异常时,响应如下...

{
  __error: "A remote error occurred"
}

..正是我所期望的。

但是部署到另一个 WebLogic 10.3 实例的完全相同的 WAR 文件会产生标准的 Grails 错误页面,如下所示。由于 WAR 文件没有改变,我试图找出 WebLogic 中的什么设置导致它与其他实例相比表现不同。

在此处输入图像描述

4

1 回答 1

0

原来这个问题与我们的部署 WAR 中缺少插件有关。在 WebLogic 的一个实例上,该插件位于 maven/ivy 缓存中,但在另一个实例中却不在,这就是为什么 WAR 表现不同的原因。

于 2012-06-05T14:46:24.640 回答