Я пытаюсь отправить файл xml по URL-адресу, и он должен ответить мне другим файлом xml. Я пытаюсь сделать это с помощью следующего кода:
URL url = new URL("url.example.com");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setInstanceFollowRedirects(false);
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-Type", "application/xml");
OutputStream os = connection.getOutputStream();
TransformerFactory tf = TransformerFactory.newInstance();
Transformer transformer = tf.newTransformer();
FileReader fileReader = new FileReader("path\\test.xml");
StreamSource source = new StreamSource(fileReader);
StreamResult result = new StreamResult(os);
transformer.transform(source, result);
os.flush();
connection.getResponseCode();
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
try {
Document docxml = db.parse(connection.getInputStream());
System.out.println("Input Stream : " + docxml.toString());
}catch(Exception e) {
System.out.println("Input Stream : " + e.getMessage());
}
connection.disconnect();
Когда я запускаю код, я получаю эту ошибку:
Input Stream : Server returned HTTP response code: 500 for URL
Я уверен, что URL-адрес и файл Хорошо, есть ли в моем коде ошибка и способ отправки http-запроса? Или ошибка исходит с сервера что ли? Если у вас есть идеи или предложения о моем коде или о том, что я могу сделать для отладки и знать, откуда взялась проблема, спасибо.