- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我看到一个奇怪的问题。我有两个网络应用程序。一个用于我们使用 Jersey 公开的其余 Web 服务。另一个具有 JSF 前端实现,它调用上面的 web 服务来获取详细信息。我们使用 Tomcat 作为容器。
我面临的问题是当我调用 rest web 服务时,我会像这样抛出 WebApplicationException
catch (CustomExceptions e) {
ResponseBuilder response = new ResponseBuilderImpl();
response.status(500);
response.entity(e.getStackTrace());
throw new WebApplicationException(e, response.build());
}
另一方面,在 FE webapps 上,我执行以下操作:
try {
r.get(MyClass.class);
return "SUCCESS";
} catch (WebApplicationException wae) {
return "FAILURE";
} catch (UniformInterfaceException wae) {
return "FAILURE";
}
在 catch block 中,我期待 WebApplicationException,但它抛出了奇怪的 UniformInterfaceException。此外,如果它抛出 UniformInterfaceException,它也不会维护堆栈跟踪。甚至我从休息电话传入的响应也丢失了。有人可以帮我如何从其余调用中获取原始堆栈跟踪吗?
提前致谢。
最佳答案
如 user guide 中所指定和 api documentation , UniformInterfaceException 是您尝试按类型检索特定实体但收到非 200 系列响应时的预期结果。 WebApplicationException 是一个方便的异常,供您在服务器端使用以在异常中嵌入自定义响应。
没有什么是“丢失”的。请记住,您是在此处发出 HTTP 请求。如果您想自己检查状态码和响应,请使用
ClientResponse response = r.get(ClientResponse.class);
if (response.getStatus() == <expected status code>) [
response.getEntity(MyClass.class);
// do happy path stuff
} else {
// bad stuff here
}
或者,假设一切顺利,只检查异常响应:
try {
r.get(MyClass.class);
} catch (UniformInterfaceException e) {
ClientResponse response = e.getResponse();
// do whatever with the raw response
}
关于java - 从一个 webapp 抛出 WebapplicationException 并在另一个 webapp 上获取 UniformInterfaceException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6921871/
以下是使用 GlassFish wadl2java 生成的代码示例工具 public com.sun.jersey.api.client.ClientResponse putXmlAsClientRe
我知道这个问题之前肯定已经被问过一千次了,但 Stackoverflow 上的答案都不适合我。我正在尝试为使用基本身份验证的 Restful api 创建单元测试。 API 代码如下: @GET @T
我们的 Jersey 客户端从服务器获取以下异常。 Got exception from API:POST http://my-host.com/api/x/y returned a response
当我尝试执行以这种方式构造的代码时,我不断收到 406 HTTP 响应。我已经多次尝试重组代码和输入,但我仍然收到此错误,而且我已经到了我什至不知道要调试什么的地步。该异常似乎表明 post() 方法
我看到一个奇怪的问题。我有两个网络应用程序。一个用于我们使用 Jersey 公开的其余 Web 服务。另一个具有 JSF 前端实现,它调用上面的 web 服务来获取详细信息。我们使用 Tomcat 作
我是一名优秀的程序员,十分优秀!