if (operation == null) throw new Exception( "no web service operation available" );
Web_service_request request = operation.request();
if (request == null) throw new Exception( "no web service request available" );
Web_service_response response = operation.response();
if (response == null) throw new Exception( "no web service response available" );
if (spooler_task.params().value("response_stylesheet") != null && spooler_task.params().value("response_stylesheet").length() > 0) {
// .. either transform the response from order parameters and payload
Xslt_stylesheet stylesheet = spooler.create_xslt_stylesheet();
stylesheet.load_file( spooler_task.params().value("response_stylesheet") );
xml_document = stylesheet.apply_xml( order.xml() );
spooler_log.debug3( "content of response transformation:\n" + xml_document );
response.set_string_content( xml_document );
} else {
// .. or send an individual response (use order.params().xml() or order.xml_payload() to access order data)
response.set_string_content( "<response state=\"success\">" + order.params().xml() + "</response>" );
}
response.send();
spooler_log.info( "web service response successfully processed for order \"" + order.id() + "\"" );
return true;
} catch (Exception e) {
spooler_log.warn( "error occurred processing web service response: " + e.getMessage() );