草庐IT

java - 在 Weblogic 12.1.1 上使用 Jersey 2.x Web 服务

我正在尝试将Jersey2.13Web服务部署到Weblogic12.1.1。此版本的weblogic符合JSR-311JAX-RS1.1规范,而Jersey2.x提供JAX-RS2.0的实现Oracle有关于如何升级JerseyJAX-RSRI版本的说明:http://docs.oracle.com/cd/E24329_01/web.1211/e24983/version.htm然而,即使这样也无助于解决所有部署问题。我将应用程序打包到包含WAR的EAR中。为了覆盖weblogicjar,我添加了以下weblogic-application.xml文件:javax.ws.rs.*co

java - 如何正确中断 JAX-RS AJAX 请求

我有一个部署到JBoss7.1.1.Final的JavaEE应用程序。该应用程序利用JAX-RS为客户端提供REST服务。其中一项服务保持客户端连接,直到通过BlockingQueue接收到响应对象。到目前为止,这似乎工作正常。但是,即使删除应用程序部署/关闭应用程序,连接也会保持打开状态。它甚至可以防止JBoss关闭。所以我试图通过@PreDestroy回调中断等待线程来执行干净关闭。该服务如下所示:@Path("/mypath")@SessionScopedpublicclassMyResourceimplementsSerializable{privatestaticfinall

java - Mockito 模拟响应类

当我尝试模拟javax.ws.rs.coreResponse时,我收到一条错误消息:UnabletocreateaJAX-RSruntimeDelegate为什么会这样?Responseresponse=Mockito.mock(Response.class);但是当我尝试模拟HttpServletResponse时,这没有问题!HttpServletResponseresponse1=Mockito.mock(HttpServletResponse.class); 最佳答案 你可以尝试像这样的假响应:ResponseBuilder

java - 如何在使用 Jersey 时在界面上注释 JAX-RS

这个问题已经被问过几次了before,但是答案似乎不起作用和/或Jersey已经进行了更多更改。我正在使用JAX-RS和Jersey(版本2.24)公开一些RESTAPI。我希望用JAX-RS和具体实现(没有任何注释)来注释接口(interface)。然而,由于thispatchJersey停止支持这种可能性。据我了解spec,它并不严格禁止这样做。IfasubclassorimplementationmethodhasanyJAX-RSannotationsthenalloftheannotationsonthesuperclassorinterfacemethodareignore

java - 为 RESTLET Web 服务编写测试用例的最佳方法是什么?

我有一个使用ReSTLet库实现的JAX-RSWeb服务,现在我想测试它。为了做到这一点,我想通过使用模拟服务预初始化它来在我的测试中托管该服务。托管此类服务和执行测试调用的最佳方式是什么?@Path("/srv")publicclassMyService{@GETpublicvoidaction(@ContextUriInfouri){...}}@TestpublicvoidmyTest(){MyServiceservice=newMyService();service.setSomething(...);//HowdoIhostit?//HowdoIcallit?}

java - 使用 JAX-RS 进行表单输入验证

我想使用JAX-RSREST服务作为Web应用程序的后端,供人们通过浏览器直接使用。由于人类不时会犯错误,所以我想验证表单输入并在输入错误时重新显示带有验证消息的表单。默认情况下,如果未发送所有值或发送错误值,JAX-RS会发送400或404状态代码。例如,用户在表单字段“count”中输入了“xyz”:@POSTpublicvoidcreate(@FormParam("count")intcount){...}JAX-RS无法将“xyz”转换为int并返回“400BadRequest”。我如何告诉用户他在“计数”字段中输入了非法值?有什么比在任何地方使用字符串并手动执行对话更方便的方

java - 在 JAX-WS Web 服务中启用 SpringBeanAutowiringSupport 时出错

我正在尝试在我的web服务中启用SpringAutowiring支持,遵循publicclassMyServiceextendsSpringBeanAutowiringSupportimplementsSomeInterface{privateDaodao;@AutowiredpublicvoidsetDao(Daodao){this.dao=dao;}用MyService类注释@WebService(endpointInterface="SomeInterfacePath")但是,当我尝试运行它时,我得到一个java.lang.NoSuchMethodError:org.spring

java - Jersey & Jackson - 修改 Jackson 输出的资源

我目前正在使用Jersey&Jackson创建REST服务。现在,当Resource方法生成application/json并返回一个POJO时,它会正确地将对象序列化为JSON并将响应返回给客户端。我现在要做的是设置Jersey,这样当查询参数出现时(比如说“缩进”),我可以告诉Jackson以“更漂亮的格式,也就是缩进”序列化JSON。您可以通过使用SerializationConfig.Feature.INDENT_OUTPUT配置JSON映射器轻松告诉Jackson执行此操作。问题是,我如何根据每个请求获取查询参数并使用它来修改Jackson的输出?

java - 使用 JAX-RPC 客户端从 JAX-WS WebService 获取附件

当我们从JAX-RPC迁移到JAX-WS时,我正在尝试调用使用JAX-W/JAXB的Web服务。客户端本身仍在使用JAX-RPC。WSDL文件保持不变。只要没有附件,就可以正常工作。有附件,它不起作用。客户说,没有。尽管它们可以在SOAP-Message中看到。据我了解这个问题,JAX-WS确实使用MTOM将二进制数据放入消息中,而JAX-RPC使用MIME。是否有可能以某种方式让它发挥作用?这是JAX-RPC消息的样子:HTTP/1.1200OKDate:Tue,21Dec201015:24:10GMTTransfer-Encoding:chunkedContent-Type:mul

java - 等效于 Jersey/JAX-RS/REST 资源的 Servlet 过滤器?

在一个常规的Web应用程序中,我可以为身份验证、授权、错误、日志记录等方面的各种路径分配一个过滤器链。优点是我编写servlet以专注于核心功能而不用担心基础设施方面。我可以编写正交的、横切的Filter来进行身份验证、授权等。然后我可以将它们编织在web.xml中。查看web.xml足以让我确信我的应用程序中没有漏洞。这在JAX-RS或Jersey中可行吗?如果不是,我最好的选择是什么? 最佳答案 虽然与servlet过滤器不同,但Jersey支持ContainerResponseFilter和ContainerRequestFi