public boolean spooler_process() { try { String xml_document = ""; Order order = spooler_task.order(); Web_service_operation operation = order.web_service_operation(); 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()); return false; } }