Код моего сервера выглядит следующим образом (он использует resteasy). Ответ пришел из моего приложения nexus oss, в котором используется restlet. Этот ответ обрабатывается с помощью следующего метода, который выбрасывает исключениеResteasy выбрасывает исключение из метода getEntity()
private <T> T get(String path, Class<T> responseClass) throws IntegratedAppFault {
ClientRequest clientRequest = new ClientRequest(this.mEndPoint + path);
addHeaderToRequest(clientRequest);
ClientResponse<T> response;
try {
response = clientRequest.get(responseClass);
if (response.getStatus() == 200) {
return response.getEntity(); // Line throwing exception
} else {
throw getFault(response);
}
} catch (Exception e) {
throw new IntegratedAppFault(e.getMessage());
}
Когда сервер получает исключение, он приходит в этот метод и, наконец, исключение бросает на response.getEntity(). Исключением является следующим
javax.xml.bind.UnmarshalException: неожиданный элемент (Uri: "", местные: "com.collabnet.teamforge.ia.types.GetConfigurationParametersResponse"). Ожидаемые элементы < {http://www.collab.net/teamforge/integratedapp} CreateProjectConfigurationRequest>, < {http://www.collab.net/teamforge/integratedapp} CreateTemplateRequest>, < {http://www.collab.net/teamforge/integratedapp} CreateTemplatizedProjectConfigurationRequest>, < {http://www.collab.net/teamforge/integratedapp} CreateUserRequest>, < {http://www.collab.net/teamforge/integratedapp} DeleteProjectConfigurationRequest>, < {http://www.collab.net/teamforge/integratedapp} DetailedSCMPostCommitRequest>, < {http://www.collab.net/teamforge/integratedapp } DetailedSCMPreCommitRequest>, < {http://www.collab.net/teamforge/integratedapp} DetailedSCMPreCommitResponse>, < {http://www.collab.net/teamforge/integratedapp} EditProjectConfigurationRequest>, < {http://www.collab.net/teamforge/integratedapp} GetConfigurationParametersRequest>, < {http://www.collab.net/teamforge/integratedapp} GetConfigurationParametersResponse>
Я просмотрел код нашел, что этот метод метод GetEntity в источнике Resteasy в bit.ly/1ed06bS. Но не знаю, почему это бросает исключение.
Я просто сопоставил значения объектов для правильно работающего сценария (который не генерирует исключение) и неправильно работает сценарий (упомянутый выше сценарий) и не нашел разницы в значениях объекта.
Прилагаю журнал отладки. Первый столбец - правильно работающий сценарий, а второй столбец - неправильный рабочий сценарий. PDF здесь http://www.scribd.com/doc/157390722/Debug
Можете ли вы помочь мне в поиске, почему эта линия бросает исключение