Создать Soap сообщение с java кодом, используя saaj Api - PullRequest
0 голосов
/ 27 января 2020

У меня есть xml Запрос как

<Customer>
  <CUSTOMER_ID>7021012223</CUSTOMER_ID>
  <COUNTRY_CODE xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
  <PROCESSING_CODE>66</PROCESSING_CODE>
</Customer>

Этот запрос является строкой

, и я хочу преобразовать эту строку в Soap Запрос как

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
    <ns2:sendTransaction xmlns:ns2="http://finaclews.org">
   <Customer>
      <CUSTOMER_ID>7021012223</CUSTOMER_ID>
      <COUNTRY_CODE xsi:nil="true" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
      <PROCESSING_CODE>66</PROCESSING_CODE>
    </Customer>
</ns2:sendTransaction>

Я пытался использовать Saaj Api с этим кодом

private String manipulateRequest(String request) throws SOAPException, ParserConfigurationException, IOException, SAXException {
        MessageFactory factory = MessageFactory.newInstance();
        SOAPMessage message = factory.createMessage();
        SOAPPart soapPart = message.getSOAPPart();
        SOAPEnvelope envelope = soapPart.getEnvelope();
        SOAPBody body = envelope.getBody();
        SOAPFactory soapFactory = SOAPFactory.newInstance();
        Name sendTransaction = soapFactory.createName("sendTransaction",
                "ns2", "http://finaclews.org");
        SOAPBodyElement bodyElement = body.addBodyElement(sendTransaction);
        //bodyElement.setNodeValue(request);
        return message.toString();
    }

, поэтому вопрос заключается в том, как ввести запрос xml в элементе тела (bodyElement), который вызвал sendTransaction, не зная Имена детей просьба добавить его по одному ??

...