Content Handlers for HTTP and FTP Requests
The following section lists the content handler Integration Server will use for incoming HTTP and FTP requests based on the registered content type.
Integration Server uses the content handler... | When the content type is... | To parse... |
ContentHandler_CGI | text/html and watt.server.default ContentHandler is set to false
| CGI content and unformatted text. This content handler does the following: ![*](bullet.gif) Decodes an incoming input stream and converts the content to key/value pairs. If the key already exists, the value is added to a list in the pipeline with the key key+ list. ![*](bullet.gif) Writes the key/value pair to an HTML table. |
| application/x-www-form-urlencoded | Name/value pairs obtained from web forms. |
ContentHandler_Default | text/html and watt.server.default ContentHandler is set to true
| Input stream from an HTTP request or a document from an FTP request. This content handler does the following: ![*](bullet.gif) For HTTP requests, it passes the contents of the input stream from the HTTP request to the service specified in the submit method in an input stream named contentStream. ![*](bullet.gif) For FTP requests, it passes the contents of the document from the FTP request to the service specified in the submit method in an input stream named contentStream. ![*](bullet.gif) For HTTP and FTP, it writes a key/value pair to an HTML table. |
ContentHandler_FlatFile | application/x-wmflatfile | Flat file content. This content handler does the following: ![*](bullet.gif) Passes the contents of the flat file to the service specified in the submit method in an input stream named ffdata. ![*](bullet.gif) Returns data in an input stream or a ByteArray called ffreturn. For information about using this content-type header, see Flat File Schema Developer’s Guide |
ContentHandler_IDAT | application/x-wmidatabin | Input stream from an HTTP request or a document from an FTP request. This content handler does the following: ![*](bullet.gif) Converts the input stream or document to an iData object. ![*](bullet.gif) Converts the data to an XML representation of IData. |
ContentHandler_JSON | application/json | JSON content. Note: | Integration Server supports the application/json content type only with the invoke and rest directives. |
The behavior of this content handler is based on the setting for the watt.server.http.jsonFormat parameter. ![*](bullet.gif) When set to parsed, parses JSON content into pipeline variables automatically. You can then use JSON to compose pipelines and execute existing services without calling pub.json:jsonStreamToDocument. ![*](bullet.gif) When set to stream, adds the request body to the pipeline as jsonStream. The pub.json:jsonStreamToDocument service converts the jsonStream into a document (IData object) so you can use the elements from jsonStream in a flow service. ![*](bullet.gif) When set to bytes, passes the incoming stream of JSON content as a byte array named jsonBytes. Note: | For detailed information about the watt.server.http.jsonFormat parameter, see Server Configuration Parameters. For more information about the pub.json:jsonStreamToDocument service, see webMethods Integration Server Built-In Services Reference. |
|
ContentHandler_Multipart | multipart/related | Objects that are part of related body parts. For example, an HTML web page with its related ../_graphics/is_administrators_guide_graphics/graphics files. This content handler does the following: ![*](bullet.gif) Passes the input stream to the pipeline with the key contentStream. ![*](bullet.gif) Writes a key/value pair to an HTML table. |
ContentHandler_RPC | application/x-wmrpc | Input stream from an HTTP request or a document from an FTP request. This content handler does the following: ![*](bullet.gif) Converts the data from an input stream to a key/ value pair. ![*](bullet.gif) Writes the values as RPC encoded to the data stream. |
ContentHandler_RPC2 | application/x-wmrpc2 | Input stream from an HTTP request or a document from an FTP request. This content handler does the following: ![*](bullet.gif) Creates an iData object from the input stream or document. ![*](bullet.gif) Writes the values as RPC encoded to the data stream. |
ContentHandler_SOAP | text/xml | Input stream from an HTTP request or a document from an FTP request. This content handler does the following: ![*](bullet.gif) Adds a SOAP request message to the pipeline with the key soapRequestData. ![*](bullet.gif) Adds a SOAP response to the pipeline with the key soapResponseData. |
application/soap | SOAP messages. |
application/soap+xml | SOAP 1.2 messages serialized as XML. |
ContentHandler_XML | text/xml | XML |
| application/xml | XML |
Notes:
![*](bullet.gif)
Other
webMethods products and customer applications can register different content handlers for any of these Content-Type headers, which might change the behavior of
Integration Server when
Integration Server receives messages of that type. For example,
Trading Networks registers its own XML content handler for text/xml. When this happens,
Integration Server will use the
Trading Networks content handler to process incoming XML messages.
![*](bullet.gif)
If the Content-Type header field specifies a content type for which no content handler has been registered,
Integration Server uses the default content handler (ContentHandler_Default), which treats the content as text/html.
![*](bullet.gif)
If an FTP or FTPS port receives a file that does not have an extension,
Integration Server uses the default content handler (ContentHandler_Default), which treats the content as text/html.