WSDL Tutorials - Herong's Tutorial Examples - Version 2.03, by Dr. Herong Yang
document/literal Example - Guest Registration
This section provides a tutorial example on writing a WSDL 1.1 example that uses SOAP 1.2 over HTTP with document/literal as the message style and the encoding option.
"document/literal" is the popular combination of message style and encoding option for most generic Web services. So let's write the first example with:
In this WSDL example, I want to send a SOAP request to register a list of guests. And I expect the server to return back a list of confirmations. So I wrote this WSDL document, Registration_WSDL_11_SOAP_12_Document.wsdl:
<?xml version="1.0"?> <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:hy="http://www.herongyang.com/Service/" targetNamespace="http://www.herongyang.com/Service/"> <wsdl:documentation> Registration_WSDL_11_SOAP_12_Document.wsdl Copyright (c) 2007 by Dr. Herong Yang, herongyang.com All rights reserved </wsdl:documentation> <wsdl:types> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.herongyang.com/Service/"> <xsd:element name="RegistrationRequest"> <xsd:complexType> <xsd:complexContent mixed="true"> <xsd:restriction base="xsd:anyType"> <xsd:sequence> <xsd:element name="Guest" type="xsd:string" maxOccurs="unbounded"/> </xsd:sequence> <xsd:attribute name="date" type="xsd:date"/> <xsd:attribute name="event" type="xsd:string"/> </xsd:restriction> </xsd:complexContent> </xsd:complexType> </xsd:element> <xsd:element name="RegistrationResponse"> <xsd:complexType> <xsd:sequence> <xsd:element name="Confirmation" maxOccurs="unbounded"> <xsd:complexType> <xsd:complexContent> <xsd:restriction base="xsd:anyType"> <xsd:attribute name="guest" type="xsd:string"/> <xsd:attribute name="event" type="xsd:string"/> </xsd:restriction> </xsd:complexContent> </xsd:complexType> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema> </wsdl:types> <wsdl:message name="registrationInputMessage"> <wsdl:part name="registrationInputPart" element="hy:RegistrationRequest"/> </wsdl:message> <wsdl:message name="registrationOutputMessage"> <wsdl:part name="registrationOutputPart" element="hy:RegistrationResponse"/> </wsdl:message> <wsdl:portType name="registrationPortType"> <wsdl:operation name="Registration"> <wsdl:input name="registrationInput" message="hy:registrationInputMessage"/> <wsdl:output name="registrationOutput" message="hy:registrationOutputMessage"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="registrationBinding" type="hy:registrationPortType"> <soap12:binding transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="Registration"> <soap12:operation style="document" soapActionRequired="false"/> <wsdl:input name="registrationInput"> <soap12:body use="literal"/> </wsdl:input> <wsdl:output name="registrationOutput"> <soap12:body use="literal"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="registrationService"> <wsdl:port name="registrationPort" binding="hy:registrationBinding"> <soap12:address location= "http://www.herongyang.com/Service/Registration12.php"/> </wsdl:port> </wsdl:service> </wsdl:definitions>
See next section for testing requests and responses.
Last update: 2007.
Table of Contents
WSDL 2.0 Document Structure and Syntax
WSDL Version 2.0 Part 2: Adjuncts
WSDL 2.0 Document Examples with SOAP Binding
WSDL 20 Programming APIs and Testing Tools
WSDL 1.1 Document Structure and Syntax
WSDL 1.1 Binding Extension for SOAP 1.1
soapUI 3.0.1 - Web Service Testing Tool
WSDL 1.1 and SOAP 1.1 Examples - Document and RPC Styles
PHP SOAP Extension in PHP 5.3.1
Using WSDL in Perl with SOAP::Lite 0.710
Using WSDL Document in Java with Axis2 1.4.1
Using WSDL2Java to Generate Web Service Stub Classes
WSDL 1.1 Binding Extension for SOAP 1.2
►WSDL 1.1 and SOAP 1.2 Examples - Document and RPC Styles
SOAP 1.2 Message Styles and Encoding Options
►document/literal Example - Guest Registration
Request and Response - Guest Registration
rpc/encoded Example - Get Exchange Rate
Request and Response - Get Exchange Rate
SOAP Body and Operation Name - Book Reservation
Request and Response - Book Reservation
elementFormDefault="qualified" - Refill Order
Request and Response - Refill Order