Soap Specifiche

7.6.1.1
Web Services Description Language (WSDL) 1.1

Le specifiche si trovano qui:

http://www.di.univaq.it/gdellape/students.php?crs=mwtws07
http://www.w3.org/TR/wsdl
http://it.wikipedia.org/wiki/Web_Services_Description_Language
http://en.wikipedia.org/wiki/Web_Services_Description_Language

Il file descrive il servizio in due modi: Astratto e Concreto.
E' un file in XML che descrive il servizio, strutturalmente è cosi diviso
<definitions>
<types /> = Definizione dati semplici e strutturati
<schema />
<simpleType />
<complexType />
Ogni messaggio inviato attraverso le soap deve essere Tipato, cioè predefinito.
Il type system usato per la maggiore dal WSDL è quello XML Schema, ma è possibile definire se usare formalismi e notazioni diverse.
In pratica in questa sessione di definiscono sia dati semplici che le strutture complesse ed annidate.
Per ulteriori informazioni vedi sessione.

Esempio
<xsd:complexType name="BookingResponse">
<xsd:complexContent>
<xsd:extension base="stns:PriceResponse">
<xsd:sequence>
<xsd:element type="xsd:string"
name="numberPlate"
minOccurs="1"
nillable="true"
maxOccurs="1">
</xsd:element>
<xsd:element type="stns:ArrayOfPassenger"
name="passengers"
minOccurs="1"
nillable="true"
maxOccurs="1">
</xsd:element>
<xsd:element type="xsd:string"
name="reservationCode"
minOccurs="1"
nillable="true"
maxOccurs="1">
</xsd:element>
<xsd:element type="xsd:string"
name="ticketCode"
minOccurs="1"
nillable="true"
maxOccurs="1">
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>

<message />
Tipi
Esempio
<message name="booking">
<part xmlns:partns="java:moby"
type="partns:BookingRequest"
name="bookingRequest">
</part>
<part xmlns:partns="java:moby"
type="partns:BookingRequest"
name="returnBookingRequest">
</part>
<part xmlns:partns="java:moby"
type="partns:Owner"
name="owner">
</part>
</message>
<message name="bookingResponse">
<part xmlns:partns="java:moby"
type="partns:ArrayOfBookingResponse"
name="result">
</part>
</message>
<message name="vehicleTypes">
</message>
<message name="vehicleTypesResponse">
<part xmlns:partns="java:moby"
type="partns:ArrayOfVehicleType"
name="result">
</part>
</message>

<portType /> Definizione operations = metodi (funzioni)
<operation />
<input />
<output />
Definizione di una porta astratta di comunicazione con il servizio.
Può contenere diverse che corrispondono ai Metodi (funzioni), o piú tecnicamente alle interfacce di un servizio.
Le Operation contengono due elementi <input> e <output> che definiscono quali messaggi vengono accettati e restituiti.
Es.
<portType name="MobyServiceImplPort">
<operation name="booking">
<input message="tns:booking">
</input>
<output message="tns:bookingResponse">
</output>
</operation>

Si può riassumere come: "message bookingResponse booking( message Booking)"
e quindi usando la definizione in <message> tradurre uno script simile

complex ArrayOfBookingResponse result booking(complex BookingRequest bookingRequest, complex BookingRequest returnBookingRequest, complex Owner owner)

<binding />
Definisce come "chiamare" concretamente l'operazione.

<service />
Tipi
</definitions>
Tipi

See also:
Easyhand C/C++: Soap Specifiche | Last modified: 11/07/2020 18.07.21 Europe/Rome | #1.804
P.. 1260
Easyhand C/C++
Una mano alle tue idee.
Privacy Policy