2022.2

Table Of Contents
l
The HTTP service accepts both POST and GET requests. Other than the presence of file attach-
ments, there is little difference in how these are handled. This means that visiting /my-
action?id=12345&q=test would be the same as having a form with two <input> fields
named, respectively, id and q, and submitting them with the information "12345" and "test". In
both cases, this information is located in the XML envelope that is the original input file of a pro-
cess that starts with a Server Input task.
l
When doing POST requests and uploading files, always make sure to include the "multipart"
option in the <form> tag:
<form action="http://127.0.0.1:8080/myaction" method="POST" enctype="multipart/form-
data">
Otherwise, file attachments will not be received, only their file names.
l
The Mime Type option is better left at Auto-Detect unless the process requires it to be forced to a
specific type. This means that if a process can either return a PDF when successful or an HTML
page with an error message, it will not attempt to send an HTML with a PDF mime type (which,
obviously, would cause confusion).
l
There is no HTTP Server Output task (see below on how to end your process)
Request/process/response cycle
Once a process using the HTTP Server Input task is created, it is important to understand the cycle
that is triggered when such a process runs. Note that this is the process when the default HTTP Server
Input task options are used (more on how that behavior changes later):
1. A request is received by the HTTP service.
2. This request is converted into an XML request file along with one or more attachments when
present.
3. The XML request file and attachments are saved in a local folder, if the HTTP Action is a valid
one (otherwise, the files are deleted).
4. The HTTP service keeps the request from the client open (it does not yet respond to it), and
waits.
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 job file that is active when the process finishes is then returned to the HTTP service.
8. The HTTP service returns the file to the client and then closes the connection.
Page 224