Проверка RAML выдает "Недопустимый тип значения"
Я пытаюсь проверить linkedin.raml, но по какой-то причине я получил ниже список ошибок валидации.
[2015-10-07 00:09:46,776] ERROR {org.wso2.carbon.registry.custom.extensions.handlers.utils.RAMLProcessor} - Invalid value type
[2015-10-07 00:09:46,778] WARN {org.wso2.carbon.registry.custom.extensions.handlers.utils.RAMLProcessor} - schema can not be empty
[2015-10-07 00:09:46,778] ERROR {org.wso2.carbon.registry.custom.extensions.handlers.utils.RAMLProcessor} - invalid JSON schema: no JSON Text to read from input
[2015-10-07 00:09:46,778] WARN {org.wso2.carbon.registry.custom.extensions.handlers.utils.RAMLProcessor} - example can not be empty
[2015-10-07 00:09:46,778] WARN {org.wso2.carbon.registry.custom.extensions.handlers.utils.RAMLProcessor} - schema can not be empty
[2015-10-07 00:09:46,778] ERROR {org.wso2.carbon.registry.custom.extensions.handlers.utils.RAMLProcessor} - invalid JSON schema: no JSON Text to read from input
[2015-10-07 00:09:46,778] WARN {org.wso2.carbon.registry.custom.extensions.handlers.utils.RAMLProcessor} - example can not be empty
[2015-10-07 00:09:46,778] WARN {org.wso2.carbon.registry.custom.extensions.handlers.utils.RAMLProcessor} - schema can not be empty
[2015-10-07 00:09:46,778] ERROR {org.wso2.carbon.registry.custom.extensions.handlers.utils.RAMLProcessor} - invalid JSON schema: no JSON Text to read from input
[2015-10-07 00:09:46,778] WARN {org.wso2.carbon.registry.custom.extensions.handlers.utils.RAMLProcessor} - example can not be empty
[2015-10-07 00:09:46,778] WARN {org.wso2.carbon.registry.custom.extensions.handlers.utils.RAMLProcessor} - schema can not be empty
...
Ниже приведен фрагмент кода, который я использовал для проверки RAML
private boolean isValidRAML(String sourceUrl) {
boolean isNoError = true;
List<ValidationResult> results = RamlValidationService.createDefault().validate(sourceUrl);
Iterator<ValidationResult> resultsIterator = results.iterator();
while (resultsIterator.hasNext()) {
ValidationResult valResult = resultsIterator.next();
String resultLevel = valResult.getLevel().toString();
String resultMessage = valResult.getMessage();
if (CommonConstantsRAML.ERROR_PARAMETER_NAME.equals(resultLevel)) {
log.error(resultMessage);
isNoError = false;
} else if (CommonConstantsRAML.WARN_PARAMETER_NAME.equals(resultLevel)) {
log.warn(resultMessage);
}
}
return isNoError;
}
Это ожидается? если не то, что вызывает это? для более подробной информации, пожалуйста, найдите набор зависимостей mvn, которые я использовал в своем наборе орбит.
<dependencies>
<dependency>
<groupId>org.raml</groupId>
<artifactId>raml-parser</artifactId>
<version>0.8.11</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
<exclusion>
<groupId>xml-apis</groupId>
<artifactId>xml-apis</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.wso2.carbon</groupId>
<artifactId>org.wso2.carbon.logging</artifactId>
<version>4.2.0</version>
</dependency>
</dependencies>
По-видимому, в linkedin.raml в строке номер:178 вызывает эту проблему. Почему это?
175:settings:
176: authorizationUri: https://www.linkedin.com/uas/oauth2/authorization
177: accessTokenUri: https://www.linkedin.com/uas/oauth2/accessToken
178: authorizationGrants: code
1 ответ
Решение
К сожалению, используемый вами RAML полон ошибок. Это может соответствовать старой версии спецификации?
В любом случае, чтобы решить проблемы:
- Найти / заменить, чтобы избавиться от пустого
schema: |
свойства, - исправлять
authorizationGrants
так это становится списком:authorizationGrants: [code]