HTTP Client Service (com.ibi.agents.XDNHttpEmitWithOAuth)

Syntax:

com.ibi.agents.XDNHttpEmitWithOAuth

iIT Service Object:

format: HTTP Client

Description: A general HTTP client with support for two-legged OAuth 2.0.

Parameters:

Parameter

Description

Target URL *

The URL to which to post this information, for example, http://thehost:9876.

Action Method

POST sends current document as a request entity. GET and HEAD will send a request to a configured URL. HEAD will always return a status document.

HTTP Client Provider *

The HTTP Client Provider (Pooling Provider) that manages HTTP connections for this emitter.

Request Content Type

The content type for HTTP requests to be sent by this emitter.

Request Header Namespace

The special register namespace from which HTTP headers for the outgoing request will be taken. Choose Default Namespace to send HDR type registers with no namespace prefix, or supply a namespace prefix here. None means that no special registers will be sent as HTTP headers.

Response Header Namespace

The special register namespace into which HTTP headers from the incoming response will be saved. Choose Default Namespace to create special registers with no namespace prefix, or supply a namespace prefix here.

Authentication

User ID

User ID for authentication challenges

Password

Password for authentication challenges

Domain

Domain for NTLM authentication challenges; Note that to use NTLM, you must enable connection persistence.

OAuth 2.0

Authorization Server URL

The URL where a new access token can be retrieved. The URL should be fully specified, including the https scheme.

HTTP Method for Token Request

POST sends a URL-encoded entity, GET sends the request without a request entity.

Token Field

The name of the field that holds the token in the JSON response.

Expiration Field

The name of the field in the JSON response that specifies the length of time (in seconds) for which the token is valid.

Grant Type

Specifies the requested response type. Usually client_credentials.

Client ID

The client or App ID for the caller. This will be sent as the user ID in basic authentication credentials with the authorization request, and, if specified, encoded in the body of a POST request to the authorization server.

Client Secret

The client or App secret for the caller. This will be sent as the password in basic authentication credentials with the authorization request, and, if specified, encoded in the body of a POST request to the authorization server.

Encode Client Credentials in Request Body

If true, the client ID and client secret will be encoded in the body of a POST request to the authorization server, in addition to being used as basic authentication credentials.

Resource

The App ID URI of the receiving web service.

Resource Owner Username

The username to encode in the POST body when grant type is password.

Resource Owner Password

The password to encode in the POST body when grant type is password.

Special Register Namespace for Additional Request Fields

If specified, registers in this namespace will be included as fields in body of a POST request.

Default Expiration Time

The time in seconds a token can stay in the token store. Applies only to tokens without a specific expiration time.

Advanced

Persistence

If checked, ask the server to maintain the connection.

Response Timeout value in Seconds *

Time in seconds to wait for a response before signalling error.

Ask for Compressed Response

If set, requests will set the Accept-Encoding header to indicate that the client can accept a compressed response, as described in RFC-2616. If the response has a compressed content encoding, the client will automatically inflate.

Compress Request

If set, the HTTP request entity will be compressed using the selected encoding and the Content-Encoding header will be set accordingly.

Try Expect/Continue Handshake?

If checked, client will send the HTTP Expect: 100-continue header and await HTTP 100 response before sending request body.

Chunk Encoded Request?

If true, a request entity will be sent with chunk encoding.

Maximum Request Size

The maximum size, after compression, of a request entity that can be sent with this emitter. 0 means no maximum and blank will default to 256KB.

Maximum Response Size

The maximum size of a response entity that can be received by this emitter. 0 means no maximum and blank will default to 256KB.

Edges:

The following table lists the available Line Edges for the HTTP Client Service (com.ibi.agents.XDNHttpEmitWithOAuth).

Line Edge

Description

OnError

An exception occurred during execution.

OnSuccess

The operation was successful.

OnFailure

A fail condition occurred during execution.

OnFailConnection

Could not connect to the external system.

OnFailRedirection

Redirection status code between 300 and 399.

OnFailClientError

Client error status code between 400 and 499.

OnFailServerError

Server error status code between 500 and 599.

OnFailedOperation

Could not perform the operation requested.

OnParseError

Could not parse a document.

OnFailLargeRequest

Request entity size exceeds configured maximum.

OnFailLargeResponse

Response entity size exceeds configured maximum.

OnHTTP-201 Created

The request was successful, we created a new resource and the response body contains the representation.

OnHTTP-400 Bad Request

The data given in POST or PUT failed validation. Inspect the response body for details.

OnHTTP-401 Unauthorized

The supplied credentials, if any, are not sufficient to create or update the resource.

OnHTTP-404 Not Found

Resource not found.

OnHTTP-405 Method Not Allowed

You can't POST or PUT to the resource.

OnHTTP-405 Too Many Requests

Your application is sending too many simultaneous requests.

OnHTTP-500 Server Error

We could not create or update the resource. Please try again.