Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

HTTP transport properties allow you to configure how the HTTP transport processes messages, such as forcing a 202 HTTP response to the client so that it stops waiting for a response, setting the HTTP status code, and appending a context to the target URL in RESTful invocations.

POST_TO_URI

Name

POST_TO_URI

Possible Values

"true", "false"

Default Behavior

false

Scope

axis2

Description

This property makes the outgoing URL of the ESB a complete URL. This is important when we talk through a Proxy Server.

Example

Code Block
<property name="POST_TO_URI" scope="axis2" value="true"/>

FORCE_SC_ACCEPTED

Name

FORCE_SC_ACCEPTED

Possible Values

"true", "false"

Default Behavior

false

Scope

axis2

Description

When set to true, this property forces a 202 HTTP response to the client immediately after the current execution thread finishes, so that

it

the client stops waiting for a response.

Example

Code Block
<property name="FORCE_SC_ACCEPTED" value="true" scope="axis2"/>

Anchor
DISABLE_CHUNKING
DISABLE_CHUNKING
DISABLE_CHUNKING

Name

DISABLE_CHUNKING

Possible Values

"true", "false"

Default Behavior

false

Scope

axis2

Description

Disables the HTTP chunking for outgoing messaging

If you set this to true, it disables HTTP chunking for outgoing messages. Instead, the ESB builds the message to calculate the content length and then sends the particular message to the backend with the content length (e.g., Content-Length: 25).

You can use this parameter if the client sends the request with HTTP chunking (i.e., with Transfer Encoding:chunked) although you need to send the message without HTTP chunking to the backend, or if you need to modify the message payload, which the client receives before sending it to the backend.

Warning

This property might decrease performance since the messages get built per each invocation. Also, this property does not affect Callout mediators, whose chunking must be disabled separately.

Example

Code Block
<property name="DISABLE_CHUNKING" value="true" scope="axis2"/>

NO_ENTITY_BODY

Name

NO_ENTITY_BODY

Possible Values

none

Default Behavior

In case of GET and DELETE requests this property is set to true.

Scope

axis2

Description

This property should be set if a user wants to generate a response from the ESB to a request without an entity body, for example, GET request.

Info

If using the PayloadFactory mediator, this property does not need to be manually set since it is done automatically by the mediator.

Example

Code Block
<property name="NO_ENTITY_BODY" action="remove" scope="axis2"/>

FORCE_HTTP_1.0

Name

FORCE_HTTP_1.0

Possible Values

"true", "false"

Default Behavior

false

Scope

axis2

Description

Force HTTP 1.0 for outgoing HTTP messages.

Example

Code Block
<property name="FORCE_HTTP_1.0" value="true" scope="axis2"/>

HTTP_SC

Name

HTTP_SC

Possible Values

HTTP status code number

Default Behavior

none

Scope

axis2

Description

Set the HTTP status code.

Example

Code Block
<property name="HTTP_SC" value="500" scope="axis2"/>

FAULTS_AS_HTTP_200

Name

FAULTS_AS_HTTP_200

Possible Values

"true", "false"

Default Behavior

false

Scope

axis2

Description

When ESB receives a soap fault as a HTTP 500 message, ESB will forward this fault to client with status code 200.

Example

Code Block
<property name="FAULTS_AS_HTTP_200" value="true" scope="axis2"/>

NO_KEEPALIVE

Name

NO_KEEPALIVE

Possible Values

"true", "false"

Default Behavior

false

Scope

axis2

Description

Disables HTTP keep alive for outgoing requests.

Example

Code Block
<property name="NO_KEEPALIVE" value="true" scope="axis2"/>

REST_URL_POSTFIX
Anchor
REST_URL_POSTFIX
REST_URL_POSTFIX

Name

REST_URL_POSTFIX

Possible Values

A URL fragment starting with "/"

Default Behavior

In the case of GET requests through an address endpoint, this contains the query string.

Scope

axis2

Description

The value of this property will be appended to the target URL when sending messages out in a RESTful manner through an address endpoint. This is useful when you need to append a context to the target URL in case of RESTful invocations. If you are using an HTTP endpoint instead of an address endpoint, specify variables in the format of "uri.var.*" instead of using this property.

Example

Code Block
<property name="REST_URL_POSTFIX" value="/context" scope="axis2"/>

REQUEST_HOST_HEADER

Name

REQUEST_HOST_HEADER

Possible Values

string

Default Behavior

ESB will set hostname of target endpoint and port as the HTTP host header

Scope

axis2

Description

The value of this property will be set as the HTTP host header of outgoing request

Example

Code Block
<property name="REQUEST_HOST_HEADER" value="www.wso2.org" scope="axis2"/>

...


FORCE_POST_PUT_NOBODY

Name

FORCE_POST_PUT_NOBODY

Possible Values

"true", "false"

Default Behavior

false

Scope

axis2

Description

This property allows to send a request without a body for POST and PUT HTTP methods.

Applicable only for HTTP Passthrough transport.

Example

Code Block
<property name="FORCE_POST_PUT_NOBODY" value="true" scope="axis2" type="BOOLEAN"/>

...

Anchor
FORCE_HTTP_CONTENT_LENGTH
FORCE_HTTP_CONTENT_LENGTH
FORCE_HTTP_CONTENT_LENGTH

Name

FORCE_HTTP_CONTENT_LENGTH

Possible Values

"true", "false"

Default Behavior

false

Scope

axis2

Description

This

If the request sent by the client contains the ‘Content-Length’ header, this property allows the

content length to be sent when the ESB sends a request to a back end server. When HTTP 1.1 is used, this property disables chunking and sends the content length. When HTTP 1.0 is used, the property only sends the content length.This property should be set

ESB to send the request with the content length (without HTTP chunking) to the back end server.

You should set this to true in scenarios where the backend server is not able to accept chunked content. For example, in a scenario where a pass-through proxy is defined and the backend does not accept chunked content, this property should be used together with the COPY_CONTENT_LENGTH_FROM_INCOMING property, to simply add the content length without chunking.

When HTTP 1.1 is used, this property disables chunking and sends the content length. When HTTP 1.0 is used, the property only sends the content length.

Warning

This property can cause performance degradation

. It

, and thereby, you should only

be used

use it with message relay. If you set this to true, the ESB forwards the content length coming from the client request to the backend without building the message and calculating the content length. Since the message doesn’t get build, using these properties will perform better than using DISABLE_CHUNKING. However, if you change the receiving payload before sending it to the backend, then having this property will result in an error due to a content length mismatch.

Example

Code Block
languagexml
<property name="FORCE_HTTP_CONTENT_LENGTH" scope="axis2" value="true"></property>

...


Anchor
CopyContentLength
CopyContentLength
COPY_CONTENT_LENGTH_FROM_INCOMING

Name

COPY_CONTENT_LENGTH_FROM_INCOMING

Possible Values

"true", "false"

Default Behavior

false

Scope

axis2

Description

This property allows the HTTP content length to be copied from an incoming message. It is only valid when the FORCE_HTTP_CONTENT_LENGTH property is used. The COPY_CONTENT_LENGTH_FROM_INCOMING avoids buffering the message in memory for calculating the content length, thus reducing the risk of performance degradation.

Example

Code Block
languagexml
<property name="COPY_CONTENT_LENGTH_FROM_INCOMING" value="true" scope="axis2"/>