Получить XML-ответ с Java-запросом HTTP http в GeoNetwork
Я пытаюсь автоматически заполнить мой каталог GeoNetwork запросом HTTP-поста Java. Независимо от библиотеки (io, apache commons, geotools), я всегда получаю один и тот же ответ html, как указано ниже.
<!DOCTYPE html
SYSTEM "html">
<html ng-app="gn_login" lang="eng" id="ng-app">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>My GeoNetwork catalogue - My organization</title>
<meta charset="utf-8">
<meta name="viewport" content="initial-scale=1.0, user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="description" content="">
<meta name="keywords" content="">
<link rel="icon" sizes="16x16 32x32 48x48" type="image/png" href="../../i$
<link href="rss.search?sortBy=changeDate" rel="alternate" type="applicati$
<link href="portal.opensearch" rel="search" type="application/opensearchd$
<link href="/geonetwork/static/gn_login_default.css" rel="stylesheet" med$
<link href="/geonetwork/static/bootstrap-table.min.css" rel="stylesheet" $
<link href="/geonetwork/static/ng-skos.css" rel="stylesheet" media="scree$
<link href="/geonetwork/static/srv_custom_style.css" rel="stylesheet" med$
</head>
<body data-ng-controller="GnCatController">
<div class="navbar navbar-default gn-top-bar" data-ng-hide="layout.hideTo$
<div data-ng-include="'../../catalog/templates/signin.html'"></div>
<div ng-include="'../../catalog/templates/info.html'"></div><script src="$
<div class="alert" data-ng-hide=""><strong></strong>
</div>
</noscript>
</body>
</html>
Я запускаю свою GeoNetwork с сервера Jetty. Знаете ли вы, как напрямую запросить сервер для получения XML-ответа?
1 ответ
Возможно, вы пытаетесь сделать запрос на защищенный URL. Сначала вы должны сделать запрос в службу входа, сохранить JSESSIONID
Cookie он возвращает, а затем отправляет в исходный сервис, который вы хотели запросить.