function spooler_process() {

  try {
    var order = spooler_task.order;
    var operation;

    try {
      operation = order.web_service_operation;
    } catch (e) {
      spooler_log.warn( "error occurred processing web service operation: " + String(e) );
      throw String(e);
    }

    try {
      var request  = operation.request;
      var response = operation.response;

      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
        var stylesheet = spooler.create_xslt_stylesheet();
        stylesheet.load_file( spooler_task.params.value("response_stylesheet") );
        var xml_document = stylesheet.apply_xml( order.xml );
        spooler_log.debug3( "content of response transformation:\n" + xml_document );
        response.string_content = xml_document;
      } else {
        // .. or send an individual response (use payload.xml or xml_payload to access order data)
        response.string_content = "<response state=\"success\">" + spooler_task.order.payload.xml + "</response>";
      }

      response.send();
      spooler_log.info( "web service response successfully processed for order \"" + order.id() + "\"" );
    } catch (e) {
      spooler_log.warn( "error occurred processing web service response: " + String(e) );
      throw String(e);
    }

    return true;
  } catch (e) {
    spooler_log.warn( String(e) );
    return false;
  }
}