После проблемы из вопроса: Создание VDM для SFSF с использованием Java в SAP Cloud SDK: сгенерированный URI неправильный
Я сгенерировал виртуальную модель данных из метаданных файл из SFSF с использованием плагина Maven и SAP Cloud SDK для Java.
Генератор работает правильно, однако сгенерированный URI не соответствует SFSF:
(Сущность SFODataSet не существует, и SFSF выдает ошибку при попытке получить к ней доступ.) следующий сервлет, который включает запрос:
@WebServlet("/req")
public class JobReqServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private static final Logger logger = LoggerFactory.getLogger(JobReqServlet.class);
private final ErpHttpDestination destination = DestinationAccessor.getDestination("sfsf-sdk-dest").asHttp()
.decorate(DefaultErpHttpDestination::new);
@Override
protected void doGet(final HttpServletRequest request, final HttpServletResponse response)
throws ServletException, IOException {
try {
long id = 2126;
final JobRequisition jobReqs = new DefaultRCMJobRequisitionService()
.getJobRequisitionByKey(id)
.execute(destination);
response.getWriter().write("Done!");
} catch (final ODataException e) {
logger.error(e.getMessage(), e);
response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
response.getWriter().write(e.getMessage());
}
}
}
Это запрашивает одну вакансию (с идентификатором 2126). Нет необходимости добавлять параметр .withServicePath () , поскольку он уже изменился.
Однако при запуске приложения я получаю Внутренняя ошибка сервера после 10- 20 секунд ожидания.
В журналах я вижу следующее:
- Адресат выбран правильно
- HTTP-запрос правильный
- SFSF отвечает правильными данными
Но сразу после получения данных появляется ошибка:
"com.sap.cloud.sdk.odatav2.connectivity.ODataQuery","thread":"http-nio-0.0.0.0-8080-exec-3","level":"ERROR","categories":[],"msg":"Failed to convert response into ODataFeed: An exception of type 'EdmSimpleTypeException' occurred." }
Найти на диске здесь :
- Журналы отладки (SDKapplogs.txt)
- JSON ответ от SFSF (ответ. json)
Любая помощь будет оценена.