То, что я пытаюсь сделать, должно быть очень прямым, НО до сих пор было невозможно.Может кто-нибудь сказать мне, как получить доступ к @Local Session Bean из открытого интерфейса RESTeasy?Я просмотрел длину и ширину интернета, и все, что я могу найти, - это варианты одного и того же примера
Я пытаюсь выяснить, как я могу получить доступ к сессионному компоненту обычным способом с помощью RESTeasy.Вот как это выглядит на данный момент:
ИСПОЛЬЗОВАНИЕ:
EJB 3
RESTeasy 2.1
ПУБЛИКОВАННЫЙ ИНТЕРФЕЙС EJB:
@Local
@Path("RequestReport")
public interface EReport {
@GET
@Produces({"application/xml"})
@Path("request")
public String requestReport(@QueryParam("reportId") @DefaultValue("") String reportId,
@QueryParam("reportName") @DefaultValue("") String reportName,
@QueryParam("reportType") @DefaultValue("") String reportType);
}
}
BEAN 1:
@Stateless
public class EReportRequest implements EReport {
@EJB
private ReplyStringLocal replyString; // THIS IS WHERE THE PROBLEM LIES.
public String requestReport(@QueryParam("reportId") @DefaultValue("") String reportId,
@QueryParam("reportName") @DefaultValue("") String reportName,
@QueryParam("reportType") @DefaultValue("") String reportType) {
return replyString.getReply(reportId, reportName, reportType);
}
}
НЕопубликованный EJB-интерфейс:
@Local
public interface ReplyStringLocal {
public String getReply(String reportId, String reportName, String reportType);
}
BEAN 2:
@Stateless
public class ReplyString implements ReplyStringLocal {
public String getReply(String reportId, String reportName, String reportType) {
return "<response><reportId>" + reportId + "</reportId><reportName>" + reportName +
"</reportName><reportType>" + reportType + "</reportType></response>";
}
}
Этот пример упрощенв целях демонстрации моей проблемы.Заранее спасибо за любую помощь.