The HTTP BC implements the HTTP 1.1 POST binding defined in the WSDL 1.1 specification, enabling applications to consume or provide services from the JBI environment using a web browser-like HTTP GET interaction.
To configure the HTTP Binding Ccomponent to function for HTTP POST interactions, the WSDL file of the service to which the binding component is acting as proxy, needs to use the following HTTP binding language elements defined in the WSDL 1.1 Specification:
An <http:binding> element indicating that a WSDL binding uses HTTP POST.
An <http:address> element representing the address of the port.
An <http:operation> element representing a relative address for each operation, that is relative to the <http:address> defined by the port.
An <http:urlEncoded> and <http:urlReplacement> element to indicate how all of the message parts of a request are encoded and made a part of the HTTP request URI.
Examples that demonstrate how to configure the HTTP Binding Component as a provider proxy or consumer proxey are available at Using the HTTP Binding Component with the HTTP GET method and Using the HTTP Binding Component with the HTTP POST method.
Currently the HTTP Binding Component only supports the use of <http:urlReplacement> and <http:urlEncoded> with HTTP GET.
For information on the Binding details for these elements, see Binding Details.
The HTTP Binding Component does not use the WSDL HTTP Binding consistently across GET and POST-style interactions, due to request structure differences between GET and POST requests.
The differences are:
GET requests do not carry additional data aside from what is included in the URL (and in the HTTP headers).
POST requests can send additional data in the request entity body. For example, when a web browser is used to submit a form (or upload a file through a form) by POST, the form data, or the contents of the file, is sent as the body of the request. The data is not made part of the request URL.
Because of these differences, the current HTTP Binding Component implementation considers http:urlEncoded and http:urlReplacement to be meaningful only when used in conjunction with HTTP GET, because these binding elements refer to URL encoding styles that apply only to GET requests.
For HTTP POST, the current implementation ignores both http:urlEncoded and http:urlReplacement binding elements.