private ResponseDocument parseResponseDocument( OMElement responseDocumentElement, ProcessDefinition processDef,
ExceptionCustomizer eCustomizer )
throws OWSException {
boolean storeExecuteResponse = getNodeAsBoolean( responseDocumentElement, new XPath( "@storeExecuteResponse",
nsContext ), false );
boolean lineage = getNodeAsBoolean( responseDocumentElement, new XPath( "@lineage", nsContext ), false );
boolean status = getNodeAsBoolean( responseDocumentElement, new XPath( "@status", nsContext ), false );
List<OMElement> outputElements = null;
try {
outputElements = getRequiredElements( responseDocumentElement, new XPath( "wps:Output", nsContext ) );
} catch ( XMLParsingException e ) {
throw eCustomizer.missingParameter( wpsElement( "ResponseDocument" ) + "/" + wpsElement( "Output" ) );
}
List<RequestedOutput> outputDefinitions = new ArrayList<RequestedOutput>( outputElements.size() );
for ( OMElement outputElement : outputElements ) {
outputDefinitions.add( parseOutput( outputElement, processDef, eCustomizer ) );
}
return new ResponseDocument( outputDefinitions, storeExecuteResponse, lineage, status );
}