Так что я пытаюсь заменить значения имени пользователя и пароля в файле XML, содержащем сообщение SOAP. Вот элементы:Как получить доступ к элементам сообщения SOAP?
<o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<o:UsernameToken u:Id="uuid-68f84594-d592-470b-9bbc-b29f58b4756f-1">
<o:Username></o:Username>
<o:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText"></o:Password>
</o:UsernameToken>
</o:Security>
В принципе, я хочу взять имя пользователя и пароль значения из моего файла конфигурации, и поместить их в имя пользователя и пароль полей в файле XML, содержащий сообщение мыло. Это моя попытка, и она бросает NPE на docElement.getElementsByTagName линии:
public void updateUserDetails() {
final Properties configProperties = new Properties();
try {
configProperties.load(new FileInputStream(PROPERTIES));
final Document requestDoc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new FileInputStream(SOAP_REQUEST));
final Element docElement = requestDoc.getDocumentElement();
docElement.getElementsByTagName("Username").item(0).setTextContent(configProperties.getProperty("username"));
docElement.getElementsByTagName("Password").item(0).setTextContent(configProperties.getProperty("password"));
} catch(IOException | ParserConfigurationException | SAXException exception) {
LOGGER.error("There was an error loading the properties file", exception);
}
}
Любая помощь будет оценен по достоинству!
Какая линия бросает NPE? – aUserHimself
@aUserHimself Извините, забыли добавить это. Два оператора docElement.getElementsByName вызывают NPE –
Но это на 'docElement.getElementsByTagName (« Username »)' или на 'configProperties.getProperty (« username »)'? – aUserHimself