Я пытаюсь добавить следующее xml к моему soap телу после преобразования его в документ
<ns2:OSSRequest xmlns:ns2="http://www.someurl">
<requestBody>
<property>
<address>
<addressId>someValue</addressId>
<municipality>someValue</municipality>
<postalCode>someValue</postalCode>
<province>someValue</province>
<streetNumber>someValue</streetNumber>
</address>
</property>
<requestedProducts>
<products>someValue</products>
<products>someValue</products>
</requestedProducts>
</requestBody>
<requestHeader/>
, но я получаю ошибку
java.lang.IllegalArgumentException: local part cannot be "null" when creating a QName
вот код, который я использую для преобразования xml в soap body
MessageFactory factory = MessageFactory.newInstance();
SOAPMessage message = factory.createMessage();
SOAPHeader header_soap = message.getSOAPHeader();
SOAPBody body = message.getSOAPBody();
Document document = convertStringToDocument(xml);
body.addDocument(document); // getting error on this line
Ниже приведен код, который преобразует xml в документ
private Document convertStringToDocument(String xmlStr) {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder;
try {
builder = factory.newDocumentBuilder();
Document doc = builder.parse(new InputSource(new StringReader(xmlStr)));
return doc;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
Является ли мой xml недействительным? Или мне не хватает каких-либо настроек при добавлении в документ?