WSDL: Difference between revisions

1,365 bytes added ,  2 December 2007
adding (again!)
(Bum... lost a big load when my previous edit didn't save... will do more editing off-line in future! :-()
(adding (again!))
Line 45: Line 45:
The '''binding''' element is what joins the physical implementation of the secvice - a <port> element within the <service> element - to its logical (or abstarct) definition, which is represented by the <portType> element (see below).
The '''binding''' element is what joins the physical implementation of the secvice - a <port> element within the <service> element - to its logical (or abstarct) definition, which is represented by the <portType> element (see below).


The binding element will have two attributes which effect this joining: its '''name''' attribute, which is what is pointed to by the "binding" attribute of the service "port" element above and its '''type''' attribute which in turn points to a "portType" (again, usually defined within the same WSDL document and hence having a "tns" prefix.
The binding element will have two attributes which effect this joining: its '''name''' attribute, which is what is pointed to by the ''binding'' attribute of the service "port" element above, and its '''type''' attribute which in turn points to a "portType" (again, usually defined within the same WSDL document and hence having a "tns" prefix.


Within the binding element there will be one or more protocol binding elements, the most common of which is the '''<soap:binding>''',  
Within the binding element there will be one or more protocol binding elements, the most common of which is the '''<soap:binding>'''. This will define the SOAP ''style'' attribute, either "[[RPC Style SOAP|rpc]]" or "[[Document Style SOAP|document]]", and a ''transport'' element, set to a URI defining that, such as "<nowiki>http://schemas.xmlsoap.org/soap/http</nowiki>".
Following this there will be the '''<operation>''' elements, each with a ''name'' attribute (in [[Visual DataFlex]] this will be the name of the published [[Function]] or [[Procedure]]).


===the "''portType''" element===
Each of these will contain first a operation protocol binding, such as '''<soap:binding>''' which will again define a ''style'' attribute and also a ''soapAction'' attribute; this latter will appear as the HTTP Header field SOAPAction in the messages sent to and from the operation (in Visual DataFlex services this is set to an empty string).
 
Following this there will be '''<input>''' and '''<output>''' elements for the operation, containing a definition of the way data is to be passed in the messages. Typically this will take the form of a '''<soap:body>''' element with a ''use'' attribute specifying either "literal" or "encoded.  If an "encoded" usage is specified then an ''encodingStyle'' attribute may be present, pointing to a URI defining the style, such as "<nowiki>http://schemas.xmlsoap.org/soap/encoding/</nowiki>". There may also be a ''namespace'' attribute, for specifying a specific namespace for the operation.
 
===The "''portType''" element===


===The "''message''" elememt===
===The "''message''" elememt===