Configuring JBI Components

HTTP WSDL Extensibility Elements

The HTTP extensibility elements describe interactions between a web browser and a web site through the HTTP 1.1 GET and POST verbs. This allows applications other than web browsers to interact with the site. The HTTP WSDL elements are categorized under HTTP Connectivity or HTTP Binding.

The following protocol-specific information may be specified:

The information here is broken up into two main sections: how the user may configure an endpoint to an HTTP service, and how the user specifies configuration to map WSDL messages to HTTP messages

This section contains information on the following WSDL Extensibility Elements:

HTTP Connectivity

HTTP Connectivity elements consist of the address element.

The HTTP Address Element

The HTTP address extensibility element allows the user to specify connectivity information to the HTTP server.

Table 1–1 The HTTP Address Element Attributes

Property 

Description 

Required or Optional 

Example 

location 

A URL which specifies the connectivity information to connect to the HTTP server. 

Required 

http://myhost:7676/some/additional/context 

The following example illustrates the use of the HTTP address extensibility element defined for a service port:


<port binding="y:binding" name="soapEndpoint">
   <http:address location="http://myhost:7676/some/additional/context" />
</port>

HTTP Binding

The HTTP extensibility elements for binding abstract WSDL messages to HTTP messages fall into several sections. Each section signifies how the binding should occur. At the binding level, the configuration applies to the entire port type. At the operation level, the configuration applies only to the operation. At the message level, the configuration applies to that particular message, regardless of whether it is input or output.

The HTTP Binding Element

The purpose of the HTTP binding element is to signify that the binding is bound to the HTTP protocol.

Table 1–2 The HTTP Binding Element Attributes

Property 

Description 

Required or Optional 

Example 

verb 

Indicates to which transport of HTTP this binding corresponds. 

Required 

GET 

The HTTP binding element MUST be present when using the HTTP binding. The following example illustrates the HTTP binding element:


<definitions .... >
    <binding .... >
        <http:binding verb="nmtoken" />
    </binding>
</definitions>

The value of the required verb attribute indicates the HTTP verb. Common values are GET or POST, but others may be used. Note that HTTP verbs are case sensitive.

The HTTP Operation Element

The purpose of the HTTP operation element is to provide binding information from the abstract operation to the concrete HTTP operation.

Table 1–3 The HTTP Operation Element Attributes

Property 

Description 

Required or Optional 

Example 

location 

Indicates the relative URI. Combined with the address location attribute. 

Required 

o1 

The following example illustrates the WSDL operation element:


<definitions .... >
    <binding .... >
        <operation .... >
           <soap:operation location="uri" />
        </operation>
    </binding>
</definitions>

The location attribute specifies a relative URI for the operation. This URI is combined with the URI specified in the http:address element to form the full URI for the HTTP request. The URI value MUST be a relative URI.

The HTTP urlEncoded Element

The urlEncoded element indicates that all of the message parts are encoded into the HTTP request URI using the standard URI-encoding rules (name1=value&name2=value...). The names of the parameters correspond to the names of the message parts. Each value contributed by the part is encoded using a name=value pair. This may be used with GET to specify URL encoding, or with POST to specify a FORM-POST. For GET, the “?” character is automatically appended as necessary.

Example:


<definitions .... >
    <binding .... >
        <operation .... >
           <input .... >
               <http:urlEncoded/>
           </input>
           <output .... >
               <-- mime elements -->
           </output>
        </operation>
    </binding>
</definitions>

The HTTP urlReplacement Element

The urlReplacement element indicates that all the message parts are encoded into the HTTP request URI using a replacement algorithm:

Message parts MUST NOT have repeating values.

The HTTP urlReplacement Elements

Example:


<definitions .... >
    <binding .... >
        <operation .... >
           <input .... >
               <http:urlReplacement/>
           </input>
           <output .... >
               <-- mime elements -->
           </output>
        </operation>
    </binding>
</definitions>