The <http:urlEncoded> element:
Indicates that all message parts that make up the input message are encoded into the request URI using query-string encoding, as follows:
Name-value pair formatted as name=value
Ampersand-delimited name-value pairs:name1=value1&name2=value2&...
Message part names comprise the names in each pair, and message part values comprise the values in each pair.
Must be specified as a subordinate element of a <wsdl:input/>
Requires a location attribute that specifies the base URI for the operation.
Is only supported by the HTTP Binding Component for the GET method. <http:urlEncoded> is ignored for the POST method. For more information, see POST URL Processing of the HTTP WSDL Binding Implementation.
Example:
Given this description:
<wsd:message name="MyMessage">
<wsdl:part name="partA" type="xsd:string"/>
<wsdl:part name="partB" type="xsd:string"/>
</wsdl:message>
...
<wsdl:portType name="MyPortType">
<wsdl:operation name="MyOperation">
<wsdl:input message="MyMessage"/>
</wsdl:operation>
</wsdl:portType>
...
<wsdl:binding name="MyBinding" type="MyPortType">
<http:binding verb="GET"/>
<wsdl:operation name="MyOperation">
<wsdl:input>
<http:urlEncoded/>
</wsdl:input>
</wsdl:operation>
</wsdl:binding>
...
<wsdl:service name="MyService">
<wsdl:port name="Port1" binding="MyBinding">
<http:address location="http://localhost/MyService/MyPort"/>
</wsdl:port>
</wsdl:service>
Given these values mapped to the input parts:
"valueY" -> "partA"
"valueZ" -> "partB"
The full HTTP request URI is:
http://localhost/MyService/MyPort/MyOperation/partA=valueY&partB=valueZ
|