The HTTP WSDL elements enable you to configure HTTP Connectivity and HTTP Binding information for the HTTP Binding Component:
The only HTTP Connectivity Element is the HTTP address Element
HTTP Binding Elements elements include the following:
You can specify the following protocol-specific information:
An indication that a binding uses HTTP GET or POST
An address for the port
A relative address for each operation (relative to the base address defined by the port)
The only HTTP Connectivity element is the address element.
The HTTP address extensibility element enables you to specify connectivity information to the HTTP server.
Table 15 HTTP address Element Attributes
Property |
Description |
Required or Optional |
Example |
---|---|---|---|
location |
A URL that 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> |
The HTTP extensibility elements for binding abstract WSDL messages to HTTP messages fall into several sections.
Each section signifies how the binding should occur.
binding level — applies to the entire port type
operation level — applies only to the operation
message level — applies to a particular message, whether it is input or output.
The HTTP binding element specifies that the binding is bound to the HTTP protocol.
Table 16 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 provides binding information from the abstract operation to the concrete HTTP operation.
Table 17 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 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. You can use this value 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 urlReplacement element indicates that all the message parts are encoded into the HTTP request URI using a replacement algorithm:
The relative URI value of http:operation is searched for a set of search patterns.
The search occurs before the value of the http:operation is combined with the value of the location attribute from http:address.
There is one search pattern for each message part. The search pattern string is the name of the message part surrounded with parenthesis "(" and ")".
For each match, the value of the corresponding message part is substituted for the match at the location of the match
Matches are performed before any values are replaced. Replaced values do not trigger additional matches.
Message parts must not have repeating values.
Example:
<definitions .... > <binding .... > <operation .... > <input .... > <http:urlReplacement/> </input> <output .... > <-- mime elements --> </output> </operation> </binding> </definitions> |