Отправьте файл xml по URL-адресу и получите ответ - PullRequest
0 голосов
/ 06 августа 2020

Я пытаюсь отправить файл 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-запроса? Или ошибка исходит с сервера что ли? Если у вас есть идеи или предложения о моем коде или о том, что я могу сделать для отладки и знать, откуда взялась проблема, спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...