SNIサポートを利用できるように、新しいバージョンのRESTEasyでWildfly 8.2.1.Finalをアップグレードしました(3.0.10では使用できません)。最終版)。そこで、私は/wildfly/modules/system/layers/baseディレクトリにresteasy-jboss-modules-3.0.23.Finalコンテンツをコピーしました。しかし、今私は違う行動をしています!私のレストサービスは呼ばれません。私は、コンテキスト/サーブレットパスを視察してきたとき、私は3.0.10.Finalと3.0.23.Finalバージョン間で異なる値が見つかりました:RESTEasyのでServletPathがRESTEasy 3.0.10.Finalから3.0.23.Finalに変更されました
を3.0.10.Final私は、次の値が設定されています
String contextPath = request.getContextPath(); // = "/myApp"
String servletPath = request.getServletPath(); // = "/api"
String pathInfo = request.getPathInfo(); // = "/auth"
とRESTEasyの3.0.23.Finalと 私が持っている:
String contextPath = request.getContextPath(); // = "/myApp"
String servletPath = request.getServletPath(); // = "/api/auth"
String pathInfo = request.getPathInfo(); // = null
私のjboss-web.xmlの:
<?xml version="1.0" encoding="UTF-8"?>
<jboss-web>
<context-root>/myApp</context-root>
</jboss-web>
web.xmlにサーブレットのマッピングがありません。 、JAX-RSコンテキストでrequest.getServletPath()
とrequest.getPathInfo()
の動作は仕様で定義されていない
@ApplicationPath("/api")
public class RESTActivator extends Application {
private final Set<Class<?>> classes;
public RESTActivator() {
HashSet<Class<?>> c = new HashSet<>();
c.add(ARestService.class);
c.add(AnotherRestService.class);
classes = Collections.unmodifiableSet(c);
}
@Override
public Set<Class<?>> getClasses() {
return classes;
}
}
web.xml内のサーブレットマッピングはどのように見えますか? –
@Steve Cマッピング設定で質問を更新しました – ElArbi