У меня возникла странная проблема. Я использую Джерси 2.2 для выполнения моих спокойных веб-сервисов (с джерси-медиа-мокси). Если я создаю свой вывод как application/xml, он работает нормально. Но если вывести мой вывод как application/json, я получаю «Internal Server Error 500».Джерси 2.2: вывод xml ОК, но сбой на json
Мои настройки зависимостей в ivy.xml являются:
<dependency org="org.glassfish.jersey.core" name="jersey-server" rev="2.2"/>
<dependency org="org.glassfish.jersey.containers" name="jersey-container-servlet-core" rev="2.2"/>
<dependency org="org.glassfish.jersey.media" name="jersey-media-moxy" rev="2.2"/>
Мой класс обслуживание:
@Path("/projects/{companykey: [0-9]*}")
@Produces({MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON})
public class ProjectResource {
private static Logger logger = Logger.getLogger(ProjectResource.class);
private final Application app = Application.getInstance();
@GET
public List<ProjectBase> getProjectBases(
@PathParam("companykey") String companyKeyStr) {
...
}
@GET
@Path("/{projectkey: [0-9]*}")
public ProjectBase getProjectBase(
@PathParam("companykey") String companyKeyStr,
@PathParam("projectkey") String projectKeyStr) {
int companyKey = Integer.valueOf(companyKeyStr);
int projObjKey = Integer.valueOf(projectKeyStr);
logger.debug(MessageFormat.format("get project {1} of company {0}",
companyKey, projObjKey));
ProjectBase project = null;
try {
project = app.getProjectIF().getProjectBase(companyKey, projObjKey);
if (project == null) throw new WebApplicationException(404);
return project;
} catch (ServerException se) {
logger.warn("get project fails ! " + se);
throw new WebApplicationException(500);
}
}
...
}
//class end
Если я спрошу для вывода XML (посетить http://biz.loc.net:8080/tm/rest/projects/100/104), я получаю:
<projectBase>
<_checkTopicAccess>false</_checkTopicAccess>
<_checkTaskAccess>false</_checkTaskAccess>
....
Если я попрошу выход json, я получаю:
HTTP Status 500 - Внутренняя ошибка сервера
отчет Тип Статус
сообщение Internal Server Error
описание Сервер обнаружил внутреннюю ошибку (Внутренняя ошибка сервера), что помешало ему выполнить эту просьбу ,
Я не нахожу никаких сообщений об ошибках в файле журнала моего приложения или файла журнала Tomcat, поэтому у меня нет понятия, что происходит.
Кто-нибудь знает любую возможную причину этой проблемы? Действительно ценю ...