Как извлечь Unknown XML из soap веб-службы и вставить в базу данных, используя java - PullRequest
3 голосов
/ 24 марта 2020

Я хочу получить XML ответ (SOAP веб-сервис), используя JAVA. Клиент отправит запрос в формате XML, а код java сможет получить ответ в формате XML.

Пример одного XML приведен ниже:

<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="WebService">
   <soapenv:Header/>
   <soapenv:Body>
      <web:SystemStatus soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
         <order xsi:type="xsd:int">?</order>
      </web:SystemStatus>
   </soapenv:Body>
</soapenv:Envelope>

Не могли бы вы предложить шаги для реализации с использованием java?

1 Ответ

1 голос
/ 24 марта 2020

Если вы знаете запрос, вы можете использовать java.net.HttpURLConnection

String soapXml =   "";// your request_xml_in_question
java.net.URL url = new java.net.URL("your_Service_url");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();


// Set the necessary header fields
conn.setRequestProperty("SOAPAction", "your_Service_url");
conn.setDoOutput(true);


// Send the request
java.io.OutputStreamWriter wr = new java.io.OutputStreamWriter(conn.getOutputStream());
wr.write(soapXml);
wr.flush();


// Read the response
java.io.BufferedReader rd = new java.io.BufferedReader(new java.io.InputStreamReader(conn.getInputStream()));
String line;
while ((line = rd.readLine()) != null) { 
   System.out.println(line);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...