問題: 我有一個有效的URL轉發到任何一個代理servlet或Servlet一個WebFilter的這處理管理員的網頁以監視最近的請求等等。是否有可能從WebServlet的請求轉發到休息幫手的servlet(javax.ws.rs.core.Application)
管理servlet負責將ajax請求轉發到REST服務(在controlpannel.jsp呈現的網頁中登錄login.jsp之後),但顯然剩下的服務與WebFilter和WebServlets具有不同的上下文?
問題: 那麼,是否有可能從我的WebServlet轉發到其他幫助程序servlet(及其資源類)?
更具體的信息:
這是我如何使用轉發:
ServletContext sc = request.getServletContext();
RequestDispatcher dispatcher = sc.getRequestDispatcher(forwardURI);
dispatcher.forward(request, response);
我試圖轉發到這個URI:
forwardURI = /REST/proxy_client/newer_than
我休息幫手的servlet:
@Stateless
@ApplicationPath("/REST")
public class RestService extends Application {
@Override
public Set<Class<?>> getClasses() {
final Set<Class<?>> restResourceClasses = new HashSet<Class<?>>();
restResourceClasses.add(ProxyClientResource.class);
return restResourceClasses;
}
}
而這種資源類:
@Path("/proxy_client")
@Stateless
public class ProxyClientResource {
@EJB
private ProxyClientBean proxyClientBean;
@GET
@Produces("application/json")
@Path("/newer_than")
public String getNumberOfEntriesNewerThanTimestamp(@QueryParam("timestamp") Expression<Timestamp> indexTimestamp,
@QueryParam("numberOfclients") Integer numberOfclients) {
List<ProxyClient> pageData = proxyClientBean.getElementsNewerThan(numberOfclients, indexTimestamp);
return convertToJSONstring(pageData);
}
解決方案的嘗試:
,我發現這個question有關如何從一個servlet調用REST Web服務,但它們使用一個客戶端和沒有轉發。
編輯:
我有一個配置問題(可能仍然有一個),所以現在當我嘗試着給我休息助手的servlet(一個延伸javax.ws.rs.core.Application)我得到這個錯誤:訪問REST API時
RestServlet is currently unavailable
(在web.xml我調用servlet RestServlet)
直接獲得:
HTTP Status 500 - Authenticator.invoke() failed
但我找不到這是什麼意思。
EDIT2:
我會盡量repacing一個應用的子類,在web.xml中的子類和@ApplicationPath一個配置不似乎爲我工作。另外,當我嘗試獲取剩下的ServletsContext時,我得到一個錯誤,沒有指定類,這是使用web.xml配置時要做的事情。
EDIT3:
我部署我的HCP與beeing,我甚至不能訪問我的REST服務,我found這個SAP討論潛在的問題的應用程序。 當我得到我的REST服務工作沒有轉發,我會在這裏報告。
Edit4: 這實際上回答了來自EDIT3 問題我不得不添加的球衣1.19.1(不2.X因爲使用Java EE6 IM只按要求DWP 3.0不支持3.1以上)由項目庫否則它會說我沒有指定一個servlet類(但是當我嘗試添加javax.ws.rs.core.Application時,它會告訴我這是沒有Servlet類,即使我已經看到這種配置)。
目前發生了什麼?任何錯誤? – markbernard
目前我收到上面提到的錯誤 – MADforFUNandHappy