HTTP Transport Properties
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 request URL that is sent from the ESB profile a complete URL. When set to |
Example | <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 ESB profile receives the message so that the client stops waiting for a response. |
Example | <property name="FORCE_SC_ACCEPTED" value="true" scope="axis2"/> |
DISABLE_CHUNKING
Name | DISABLE_CHUNKING |
---|---|
Possible Values | "true", "false" |
Default Behavior | false |
Scope | axis2 |
Description | If you set this to true, it disables HTTP chunking for outgoing messages. Instead, the ESB profile builds the message to calculate the content length and then sends the particular message to the backend with the content length (e.g., You can use this parameter if the client sends the request with HTTP chunking (i.e., with 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 | <property name="DISABLE_CHUNKING" value="true" scope="axis2"/> |
NO_ENTITY_BODY
Name | NO_ENTITY_BODY |
---|---|
Possible Values | "true", "false" |
Default Behavior | In case of GET requests this property is set to true. |
Scope | Axis2 |
Description | Set this property if you want to do the following:
If using the PayloadFactory mediator, this property does not need to be manually set since it is done automatically by the mediator. |
Example | <property name="NO_ENTITY_BODY" value="true" scope="axis2" type="BOOLEAN"/> |
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 | <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 | <property name="HTTP_SC" value="500" scope="axis2"/> |
The support for non.error.http.status.codes property is released as a product update on 04/16/2021. If you don't already have this update, you can get the latest updates now.
NON_ERROR_HTTP_STATUS_CODES
Name | non.error.http.status.codes |
---|---|
Possible Values | HTTP status code number/comma-separated numbers |
Default Behavior | none |
Scope | axis2 |
Description | Set HTTP status codes that should be considered as non-error status codes in blocking mode. |
Example | <property name="non.error.http.status.codes" value="403" scope="axis2" type="STRING"/> |
HTTP_SC_DESC
Name | HTTP_SC_DESC |
---|---|
Possible Values | HTTP response's Reason- Phrase that is sent by the backend. For example, if the backend sends the response's status as HTTP/1.1 200 OK, then the value of HTTP_SC_DESC is OK. |
Default Behavior | none |
Scope | axis2 |
Description | Set the HTTP status message (Reason-Phrase). |
Example | <property name="HTTP_SC_DESC" value="Your description here" scope="axis2"/> |
FAULTS_AS_HTTP_200
Name | FAULTS_AS_HTTP_200 |
---|---|
Possible Values | "true", "false" |
Default Behavior | false |
Scope | axis2 |
Description | When WSO2 EI receives a soap fault as a HTTP 500 message, the ESB profile will forward this fault to client with status code 200. |
Example | <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 | <property name="NO_KEEPALIVE" value="true" scope="axis2"/> |
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 | <property name="REST_URL_POSTFIX" value="/context" scope="axis2"/> |
REQUEST_HOST_HEADER
Name | REQUEST_HOST_HEADER |
---|---|
Possible Values | string |
Default Behavior | The ESB profile 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 | <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 | <property name="FORCE_POST_PUT_NOBODY" value="true" scope="axis2" type="BOOLEAN"/> |
FORCE_HTTP_CONTENT_LENGTH
Name | FORCE_HTTP_CONTENT_LENGTH |
---|---|
Possible Values | "true", "false" |
Default Behavior | false |
Scope | axis2 |
Description | If the request sent by the client contains the ‘Content-Length’ header, this property allows the ESB profile 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. This property can cause performance degradation, and thereby, you should only use it with message relay. If you set this to true, the ESB profile 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 | <property name="FORCE_HTTP_CONTENT_LENGTH" scope="axis2" value="true"></property> |
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 |
Example | <property name="COPY_CONTENT_LENGTH_FROM_INCOMING" value="true" scope="axis2"/> |