8.5

5. The HTTPprocess corresponding to the HTTPAction captures the XMLfile and attachments and the
process begins.
6. The process runs its course just like any other process would (including subprocesses, send to
process, etc).
7. The very last file that is active when the process finishes is then returned to the HTTPservice.
8. The HTTPservice returns the file to the client and then closes the connection.
9. If, during this time, the timeout has expired (if the process takes more than 120 seconds), the
HTTPservice returns a "timeout"to the client, but the process stills finishes on its own. When the
process finishes, the return file is ignored by the HTTPservice.
Point 7 is critical to understand, as it has an impact on what the client receives. If a process receives a file
that is split into multiple parts and each of these parts generates and output, the last split's output will be sent
to the client. If the last output task generates a PostScript file for printing, this PostScript is returned to the
client.
In most cases, what is returned is what remains after the last task, but only if this task's processing is done in
PlanetPress Workflow. For example, if the data file is a text file and this file is sent to PlanetPress Image
using the Image connector, it is a text file that is returned, not the output of the Imaging. Similarly, ending a
process with the Delete task does not return an empty file, it returns the actual data file.
This is actually the most used way of returning a response:Generate an HTMLfile using either Create File
or Load External File, then delete the file as a last output. The HTMLis thus returned to the client.
Example HTTPWorkflows
l "HTTP PDF Invoice Request" below (GET)
l "HTTP Brochure Request" on page168 (Customer Information+POST)
l "Capture Web Manager Workflow" on page161 (Capture +HTTP)
HTTP PDF Invoice Request
This straightforward workflow simply receives a GETrequest from a browser, loads an existing PDFinvoice
from a folder on the hard drive, and returns it to the browser. To do this, a client (or a web service)would
request the following page:
http://ppworkflowserver:8080/getinvoice?in=INV999999