在工作流数据摘录器中使用dataset-proxy时“XMLCommand.initialize失败:java.lang.NullPointerException”

时间:2012-09-25 00:59:02

标签: aviarc

我正在创建一个工作流databroker,在前工作流程中,我使用dataset-proxy来遍历populate-dataset。但是,当我编译时,我收到以下错误:

XMLCommand.initialize failed: java.lang.NullPointerException
at nz.co.aviarc.xml.command.dataset.DatasetProxy.initialize(DatasetProxy.java:35)
at com.aviarc.framework.xml.command.XMLCommandElementImpl.finalize(XMLCommandElementImpl.java:90)
at com.aviarc.framework.xml.compilation.XMLSAXHandler.endElement(XMLSAXHandler.java:336)
at net.sf.saxon.event.ContentHandlerProxy.endElement(ContentHandlerProxy.java:391)
at net.sf.saxon.event.NamespaceReducer.endElement(NamespaceReducer.java:213)
at net.sf.saxon.event.ReceivingContentHandler.endElement(ReceivingContentHandler.java:443)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:598)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(XMLNSDocumentScannerImpl.java:673)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1645)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:324)
at org.apache.xerces.parsers.XML11Configuration.parse(XML11Configuration.java:875)
at org.apache.xerces.parsers.XML11Configuration.parse(XML11Configuration.java:798)
at org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:108)
at org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1198)
at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:564)
at net.sf.saxon.event.Sender.sendSAXSource(Sender.java:404)
at net.sf.saxon.event.Sender.send(Sender.java:193)
at net.sf.saxon.IdentityTransformer.transform(IdentityTransformer.java:30)
at com.aviarc.framework.xml.compilation.AviarcXMLResourceCompiler.compile(AviarcXMLResourceCompiler.java:137)
...

即使我直接使用文档中的代码示例(com.aviarc.dataset:1.1.0),我也会得到完全相同的错误:

<workflow xmlns:ds="urn:aviarc:xmlcommand:com.aviarc.dataset">
    <ds:dataset-proxy dataset="ds" proxyname="dsproxy">
        <set-current-row dataset="dsproxy" position="2" />
        <set-field field="dsproxy.email" value="test@test.com" />
    </ds:dataset-proxy>
</workflow>

1 个答案:

答案 0 :(得分:1)

事实证明文档错误,因为proxyname不是dataset-proxy上的有效属性。我一开始没看到它(因为堆​​栈痕迹很大)但是我也收到了这个警告:

Unknown attribute 'proxyname'

正确的属性为name,而不是proxyname更改此内容可解决错误。