Skip to main content
Support

KB Article #181897

XML Signature Generation Filter fails with the error CircuitAbortException: nested fault: null

Problem

The XML Signature Generation filter fails with an exception similar to the following:

ERROR 11/2/21, 14:24:19.914 java exception:
com.vordel.circuit.CircuitAbortException: nested fault: null
at com.vordel.circuit.xml.NodeLocatorUtility.locateNodes(NodeLocatorUtility.java:67)
at com.vordel.security.sig.TemplateFactory.createSignatureTemplate(TemplateFactory.java:77)
at com.vordel.security.sig.TemplateFactory.generateAndInsertSignatureTemplate(TemplateFactory.java:509)
at com.vordel.circuit.sig.GenerateSignatureProcessor.invoke(GenerateSignatureProcessor.java:635)
at com.vordel.circuit.InvocationEngine.invokeFilter(InvocationEngine.java:149)
at com.vordel.circuit.InvocationEngine.invokeCircuit(InvocationEngine.java:41)
at com.vordel.circuit.CircuitDelegateProcessor.invoke(CircuitDelegateProcessor.java:46)
at com.vordel.circuit.InvocationEngine.invokeFilter(InvocationEngine.java:149)
at com.vordel.circuit.DelegatingProcessor.callCircuit(DelegatingProcessor.java:84)
at com.vordel.circuit.DelegatingProcessor.callCircuit(DelegatingProcessor.java:77)
at com.vordel.circuit.httpclient.HTTPClientProcessor.invoke(HTTPClientProcessor.java:105)
at com.vordel.circuit.InvocationEngine.invokeFilter(InvocationEngine.java:149)
at com.vordel.circuit.InvocationEngine.invokeCircuit(InvocationEngine.java:41)
at com.vordel.circuit.InvocationEngine.recordCircuitInvocation(InvocationEngine.java:279)
at com.vordel.circuit.InvocationEngine.processMessage(InvocationEngine.java:241)
at com.vordel.circuit.SyntheticCircuitChainProcessor.invoke(SyntheticCircuitChainProcessor.java:65)
at com.vordel.dwe.http.HTTPPlugin.processRequest(HTTPPlugin.java:417)
at com.vordel.dwe.http.HTTPPlugin.invokeDispose(HTTPPlugin.java:443)
at com.vordel.dwe.http.HTTPPlugin.invoke(HTTPPlugin.java:135)
Caused by: java.lang.NullPointerException
at com.vordel.common.xml.XPathExecutor.getNodes(XPathExecutor.java:111)
at com.vordel.circuit.xml.NodeLocatorUtility.locateNodes(NodeLocatorUtility.java:61)
... 18 more



Resolution

This happens when the XPaths in the "What to sign" section of the filter do not match any content in the XML document being signed. Because it is impossible to sign nothing, the filter fails with this error indicating that no data was present to sign. To resolve this error, ensure that the XPaths in the configuration are always able to locate some content for the filter to sign. For example, you might use an XML Schema Validation filter to ensure that the document has the expected format, including the nodes you wish to sign to avoid even attempting to sign XML that isn't in the expected format.