HTTP Server Input

HTTP Server Input tasks are used to receive HTTP requests made via GET or POST commands and to send replies to the servers from which the requests were made. The HTTP server supports both HTTP and HTTPS. For HTTPS Support information, see HTTP Server Input User Options.

While you can insert the HTTP Server Input task anywhere in your process as a secondary input task, in reality the HTTP Server Input task will only function when used as the initial input, as it is triggered when PlanetPress Workflow HTTP Server receives a request and passes it on to the correct task.

Athough Workflow can serve both static and dynamic resources to a web browser, it is not meant to be used as a fully featured web server as it is not built for responsiveness nor guaranteed uptime. It is recommended to use a common web server (for example, IIS or Apache) to serve your contents and to let Workflow process things only it can do.
For more information on how to serve HTML and PDF generated by Connect through IIS, watch the Connect with Evie - IIS series.

It is highly recommended to make all processes using the HTTP Server Input task self-replicating and to reduce their polling interval in the Process Properties.

Examples

This task is put into effect in the following example processes:

Note that Capture can only be used with PlanetPress Suite.

Input

The HTTP Server Input task does not, by itself, capture any files. Neither does it directly wait for requests to be received. Actually, it is the HTTP service that receives the requests and places them in a specific location on the drive. When a request is received, the HTTP Server Input polls that location and finds the requests and all attachments. It will always pick up the "oldest" request received.

The request can contain one or more files, one being an XML file containing the request information as well as any GET or POST variables that were received within this request. Other files are POST attachments.

By default, the request XML also contains a section which contains the raw input data, effectively doubling the size of the incoming file. Due to technical restrictions, the incoming XML file cannot be more than 400MB, which because of CDATA is reduced to around 200MB. To help in this situation, you may elect to omit from the attachment, which can be changed in HTTP Server Input User Options. Please note that incoming binary files (sent through file upload in a form) can never be larger than 400 MB.

Processing

Depending on the options chosen in the HTTP Server Input task properties, the task may choose to ignore some of the files. For example, using the "Do not include XML envelope" means that only the POST attachments will be used in the process, the XML file will be discarded. Attachments are always saved on disk in a specific location, which is accessible either directly in the XML or directly as a data file through the "Loop each attachment as data file" option.

Output

First, the output inside the process itself is, depending on the selected options, an XML request files, POST Attachments files, either one or both.

If the Send Immediate Response to client option is selected, the response file is sent back right away and the involvement of the input task ends then. However, if this option is not checked, it means there is a second output that comes out of the HTTP Server Input task: The last output generated by PlanetPress Workflow is sent back to the initial input, which is returned back to the client.

Starting in version 7.2 of PlanetPress Workflow, you can now serve static resources through PlanetPress, which is especially useful for images, CSS and JavaScript files. See HTTP Server Input 2 plugin preferences.

Task properties

General Tab
  • HTTP action: Enter the name of the action requested of PlanetPress Workflow by the client. This name corresponds to the URL that the client will be accessing. For example, if you enter "MakePDF" here, you could trigger the process by accessing http://127.0.0.1:8080/MakePDF . This is also what your HTML Form's action should be.
  • MIME Type: Select the MIME type of the file that will be returned by the plugin.
  • Loop each attachment as a data file: When receiving attachments through a POST request (HTML Form), this option will make the HTTP Server Input task loop through each attachment. Each data file is an XML with the accompanied file.
    • Do not include XML envelope: Only active when the previous Loop option is checked. When checked, the XML file containing the request data will not be available. Only the attachment itself is sent as a data file.
  • Respond on error: Enter a message to be sent to the client as the output file if the process encounters an error and is unable to send a reply that includes the actual output file. The information can be in any desired format such as HTML or plain text, but most browsers will interpret it as plain text.
  • Send immediate response to client: Do not wait for the process to finish and send a static HTML or Text file back to the client instead. This prevents any timeout from occurring. When checking this option, the field under the option is used to select which file to return.
  • Use custom HTTP server response code: When the process ends and a response is sent to the requesting client, a custom response code can be specified depending on how the process goes. While in previous versions the "200 OK" code was always used, this option overrides it to, for example, "404 Not Found" or "401 Unauthorized".
    • Variable containing the response code: The contents of the job information or local variable selected in this drop-down, presumed to be a valid response code, will be returned in the response header. This is the value that is present at the end of the process, not the beginning.
"Other" Tab
  • Job Information group
    • Information elements: indicates what job infos are automatically created by the input task.
    • Add lines before first data page: Using the arrows keys you can add any job information directly at the beginning of your data file.
  • Backup input files: Check this to save a copy of each data file that is captured by your input. These files are saved in the PlanetPress Suite Workflow Tools working folders under the "Backup" folder.
  • Backup filename: Enter the filename that you wish the input data file backup to be saved under.
  • Delete Existing Metadata: Check to remove any metadata from memory. This option is disabled on initial input tasks, and is checked by default on secondary input tasks.
On Error Tab
Comments Tab

The Comments tab is common to all tasks. It contains a text area (Task comments) that lets you write comments about the task. These comments are saved when the dialog is closed with the OK button, and are displayed in the Task Comments Pane.

Check the option Use as step description to display the text next to the icon of the plugin in the Process area.

 
  • Last Topic Update: Jun-17-2019 - 08:06
  • Last Published: Sep-17-2019 - 09:09