Я просто пытаюсь отправить запрос и прочитать ответ sos-сервера ogc.
Отправить запрос:
connection = new URL(url).openConnection();
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setRequestProperty("Accept-Charset", charset);
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded; charset="+charset);
connection.connect();
читать ответ:
output = connection.getOutputStream();
output.write(query.getBytes(charset));
input = new URL(url).openStream();
Reader reader = new InputStreamReader(input);
BufferedReader bufferedReader = new BufferedReader(reader);
StringBuilder response = new StringBuilder();
String line = null;
while((line = bufferedReader.readLine()) != null)
response.append(line+"\n");
bufferedReader.close();
output.close();
Ответ сервера такой:
<?xml version="1.0" encoding="UTF-8"?>
<ows:ExceptionReport xmlns:ows="http://www.opengis.net/ows/1.1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0"
xsi:schemaLocation="http://schemas.opengis.net/ows/1.1.0/owsExceptionReport.xsd">
<ows:Exception exceptionCode="InvalidRequest" locator="REQUEST">
<ows:ExceptionText>The GET request null is not supported by this SOS.</ows:ExceptionText>
</ows:Exception>
</ows:ExceptionReport>
Формат представляет собой специальный тип sos, но основное сообщение - «Нулевой запрос GET». Таким образом, похоже, что сервер прочитал запрос методом GET.
Я не очень силен в сетях, но, как я понял, я обеспечиваю setDoOutput(true);
использование метода POST, не так ли?
Как только я получаю любой ответ, я знаю, что есть связь, но может быть, что-то с головой не так? Нужно ли в каждом случае его отправлять?
Итак, мой вопрос в том, что может быть причиной того, что я или сервер путаются в методах http?
Я предполагаю, что я скучаю по обработке сети Java.
Буду рад любой помощи.