import java.util.Collections;
import java.util.List;
import java.util.Map;
+import java.util.Optional;
import javax.xml.stream.XMLStreamException;
import javax.xml.transform.dom.DOMResult;
import javax.xml.transform.dom.DOMSource;
private NormalizedNode<?, ?> parseResult(final NetconfMessage message,
final OperationDefinition operationDefinition) {
+ final Optional<XmlElement> okResponseElement = XmlElement.fromDomDocument(message.getDocument())
+ .getOnlyChildElementWithSameNamespaceOptionally("ok");
if (operationDefinition.getOutput().getChildNodes().isEmpty()) {
- Preconditions.checkArgument(XmlElement.fromDomDocument(
- message.getDocument()).getOnlyChildElementWithSameNamespaceOptionally("ok").isPresent(),
+ Preconditions.checkArgument(okResponseElement.isPresent(),
"Unexpected content in response of rpc: %s, %s", operationDefinition.getQName(), message);
return null;
} else {
- final Element element = message.getDocument().getDocumentElement();
+ if (okResponseElement.isPresent()) {
+ LOG.debug("Received response <ok/> for RPC with defined Output");
+ return null;
+ }
+
+ Element element = message.getDocument().getDocumentElement();
try {
final NormalizedNodeResult resultHolder = new NormalizedNodeResult();
final NormalizedNodeStreamWriter writer = ImmutableNormalizedNodeStreamWriter.from(resultHolder);