Почему Сонар помечает это как возможное исключение NullPointerException?
public void credentialSetter(@Headers Map<String, Object> headersMap) {
SoapHeader uName = new SoapHeader(new QName(NAMESPACE_URL, USERNAMETOKEN),
setCredentials(USERNAMETOKEN, this.username).getDocumentElement());
SoapHeader pTxt = new SoapHeader(new QName(NAMESPACE_URL, P),
setCredentials(P, this.pas).getDocumentElement());
Оно всплывает в "setCredentials" оба раза, я пытался окружить его оператором if, чтобы проверить, не является ли оно нулевым,также попытался проверить, является ли он нулевым в реальном методе, чтобы охватить всю базу.
private Document setCredentials(String credential, String value) {
StringWriter writer = new StringWriter();
JAXBContext context;
try {
if (null != credential && null != value) {
context = JAXBContext.newInstance(value.getClass());
QName qName = new QName(NAMESPACE_URL, credential);
JAXBElement<String> root = new JAXBElement<>(qName, String.class, value);
context.createMarshaller().marshal(root, writer);
return DocumentBuilderFactory.newInstance().newDocumentBuilder()
.parse(new InputSource(new StringReader(writer.toString())));
}
} catch (Exception e) {
LOG.error("Error converting {} to XML {}", credential, e);
}
return null;
}