Получение "org.springframework.web.client.HttpServerErrorException: 500 null" по запросу restTemplate.postForObject в Graphdb - PullRequest
0 голосов
/ 01 апреля 2020
**Code:**

 String path = String.format("/%s/uploadRuleSet", REST_REPO_PATH);
        String repoUrl = getRepositoryManager().getLocation().toString();
        URI uri = new URIBuilder(repoUrl + path).build();
        InputStream stream = getClass().getClassLoader().getResourceAsStream("repoconfig/ccs-ruleset.pie");
        ByteArrayResource byteResource = new ByteArrayResource(IOUtils.toString(stream, UTF_8).getBytes(UTF_8)) {
            @Override
            public String getFilename() {
                return "ccs-ruleset.pie";
            }
        };

        MultiValueMap<String, Object> multipartMap = new LinkedMultiValueMap<>();
        multipartMap.add("ruleset", byteResource);

        logger.info("Uploading ruleset to: {}", uri);
        response = rest.postForObject(uri, multipartMap, RulesetResponse.class);

В rest.postForObject (uri, multipartMap, RulesetResponse.class); Когда он пытается загрузить набор правил, я получаю следующую трассировку стека:

Причина: org.springframework.web.client. .handleError (DefaultResponseErrorHandler. java: 97) ~ [spring-web-5.0.9.RELEASE.jar: 5.0.9.RELEASE] в org.springframework.web.client.DefaultResponseErrorHandler.handleError (DefaultResponseEr * 10HR) 79) ~ [spring-web-5.0.9.RELEASE.jar: 5.0.9.RELEASE] по адресу org.springframework.web.client.ResponseErrorHandler.handleError (ResponseErrorHandler. java: 63) ~ [spring-web-5.0 .9.RELEASE.jar: 5.0.9.RELEASE] at org.springframework.web.client.RestTemplate.handleResponse (RestTemplate. java: 730) ~ [spring-web-5.0.9.RELEASE.jar: 5.0. 9.RELEASE] в org.springframework.web.client.RestTemplate.doExecute (RestTemplate. java: 688) ~ [spring-web-5.0.9.RELEASE.jar: 5.0.9.RELEASE] в org.springframework. web.client.RestTemplate.execute (RestTemplate. java: 662) ~ [spring-web-5.0.9.RELEASE.j ar: 5.0.9.RELEASE]

Я проверил журналы в графе базы данных:

[DEBUG] 2020-04-01 02: 48: 45,716 [http- nio-7200-exe c -2 | oerhsProtocolUtil] Допустимые форматы: текст / csv; q = 0,8, application / sparql-результаты + json; q = 0,8, application / json; q = 0,8, application / sparql-результаты + xml; q = 0,8, application / xml; q = 0,8, текст / табуляция-разделенные значения; q = 0,8, application / x-binary-rdf-results-table [INFO] 2020-04-01 02: 48: 45,723 [http-nio-7200-exe c -2 | oerhsrTupleQueryResultView] Запрос на запрос 3392903 завершен [ИНФО] 2020-04-01 02: 58: 52,742 [http-nio-7200-exe c -4 | c .otrRuleCompilerBase] Текущий файл: /opt/graphdb/graphdb-free-8.9.0/work/tmp/graphdb6671553462073041570/work/Tomcat/localhost/ROOT/ccs-ruleset1585735132740.pie * 1012-04 2020] [INFO] -01 02: 58: 52,762 [http-nio-7200-exe c -4 | c .otrRuleCompilerBase] Скомпилировано: '/opt/graphdb/graphdb-free-8.9.0/work/tmp/graphdb6671553462073041570/work/Tomcat/localhost/ROOT/ccs-ruleset1585735132740.p*103*B1) ] 2020-04-01 02: 59: 11 593 [http-nio-7200-exe c -5 | oerhsProtocolUtil] Допустимые форматы: текст / csv; q = 0,8, application / sparql-результаты + json; q = 0,8, application / json; q = 0,8, application / sparql-результаты + xml; q = 0,8, application / xml; q = 0,8, текст / табуляция-разделенные значения; q = 0,8, application / x-binary-rdf-results-table [INFO] 2020-04-01 02: 59: 11 593 [http-nio-7200-exe c -5 | oerhsrTupleQueryResultView] Запрос на запрос 3392903 завершен

Журналы GraphDB, похоже, указывают на то, что проблем не было. Но на стороне клиента я получаю HttpServerErrorException: 500 log. Не в состоянии понять, в чем именно проблема ...

1 Ответ

0 голосов
/ 02 апреля 2020

Возвращенный результат из GraphDB - UploadRuleSetResult, а не RulesetResponse. Вы передаете недопустимый responseType методу postForObject. Изменение типа решит проблему.

...