Сначала немного предыстории. У меня есть приложение, развернутое в Weblogic. Он получает ответ Json от службы. Я пытаюсь использовать JsonPath для навигации по дереву, и у меня возникает необычная проблема.
Я использую Maven для сборки/развертывания приложения. Зависимость:
<dependency>
<groupId>com.jayway.restassured</groupId>
<artifactId>json-path</artifactId>
<version>1.8.1</version>
</dependency>
Запустив его с полным ответом в Junit и поняв, что он не работает в приложении при развертывании, я упростил его и жестко закодировал очень небольшое подмножество данных.
{
"ChangeStatus": {
"Code": {
"value": "1002"
},
"Description": {
"value": "Matched more then 10 records"
}
}
}
Вот что я сейчас смотрю...
String miniJson = "{\"ChangeStatus\":{\"Code\":{\"value\":\"1002\"},\"Description\":{\"value\":\"Matched more then 10 records\"}}}";
JsonPath miniJsonPath = new JsonPath(miniJson);
String statusCode = miniJsonPath.getString("ChangeStatus.Code.value");
В JUnit этот код работает, и я могу успешно подтвердить 1002. В приложении после нажатия на weblogic именно этот фрагмент кода не работает. Выдает ошибку NoSuchMethodError.
Любые идеи будут приветствоваться. К вашему сведению, мы на Weblogic 10.3.6
Заранее спасибо!