WSDL: Difference between revisions

From DataFlex Wiki
Jump to navigationJump to search
872 bytes added ,  2 December 2007
adding
(adding (again!))
(adding)
Line 48: Line 48:


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>".
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]]).
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]]).


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).
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.
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.  Additionally may be a '''<soap:header>''' element, but discussion of this falls outside the scope of this article.


===The "''portType''" element===
===The "''portType''" element===
The '''portType''' element is the abstract representation of the service and is identified by its ''name'' attribute (what the ''type'' attribute of a ''binding'' elememt points to).


===The "''message''" elememt===
It will contain a number of '''operation''' elements, one for each operation of the service.


===The "''types''" element===
Each operation ''may'' contain a '''documentation''' element, describing the operation (in Visual DataFlex you can set this through the "{ Description = }" meta-data tag that preceeds your published Function or Procedure).


There will then be '''<input>''' and '''<output>''' elements, each of which will contain a ''message'' attribute, pointing to (the ''name'' attribute of) a '''message''' element (see below) which will hold the definition of that input or output message. Such message elements will usually appear within the same WSDL document and thus will commonly have the "tns" prefix.


==Old Article==
===The "''message''" elememt===


a wsdl file can be used to generate "stub" code that can access the webservice.
===The "''types''" element===


http://www.w3.org/TR/wsdl


[[Category: Web Services]] [[Category:WIP]]
[[Category: Web Services]] [[Category:WIP]]

Navigation menu