Web services 404与JAX-RS一起使用Tuckey过滤器时

Web services 404与JAX-RS一起使用Tuckey过滤器时,web-services,jax-rs,tuckey-urlrewrite-filter,apache-tomee,cross-context,Web Services,Jax Rs,Tuckey Urlrewrite Filter,Apache Tomee,Cross Context,我试图将URLRewriteFilter与许多不同类型的资源结合使用。对于静态资源和常规servlet,它工作得非常好。然而,对于基于JAX-RS的服务,我得到了404 情况就是这样: 有两个web应用程序: base base#嵌套的 对/base/Something/nested/outherpath的请求需要转发到/base/nested/outherpath。这意味着从/base上下文转发到/base/nested上下文 为此,我在/base上下文中配置了URLRewite过滤器:

我试图将
URLRewriteFilter
与许多不同类型的资源结合使用。对于静态资源和常规servlet,它工作得非常好。然而,对于基于JAX-RS的服务,我得到了404

情况就是这样: 有两个web应用程序:

  • base
  • base#嵌套的
/base/Something/nested/outherpath
的请求需要转发到
/base/nested/outherpath
。这意味着从
/base
上下文转发到
/base/nested
上下文

为此,我在
/base
上下文中配置了URLRewite过滤器:

<filter>
    <filter-name>UrlRewriteFilter</filter-name>
    <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter
    </filter-class>
    <init-param>
        <param-name>logLevel</param-name>
        <param-value>DEBUG</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>UrlRewriteFilter</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>FORWARD</dispatcher>
</filter-mapping>
/base
上下文的
crossContext
属性设置为
true

这对于常规servlet和静态资源非常有效,但对于JAX-RS服务则不行。我在TomEE JAX-RS 1.6.0中这样做


谢谢你的帮助

你为什么要用塔奇?这个项目已经休眠了2.5年。据我所知,没有JAX-RS支持。OCP Soft rewrite提供了tuckey支持——没有特别的原因,只是我们正在寻找一个servlet过滤器来完成这项工作。另一种选择很好,因此我将研究OCP软件。谢谢你的建议!我突然完成了这项工作,所以还不知道OCP软件是否适合我们。圣诞假期过后,我会再次承担这件事,然后回到这里。
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 4.0//EN"
        "http://www.tuckey.org/res/dtds/urlrewrite4.0.dtd">
<urlrewrite use-context="true">
    <rule>
        <from>/base/([^/]*)/([^/]*)/(.*)</from>
        <to type="forward" context="base/nested">/$3</to>        
    </rule>
</urlrewrite>