Jump to content

Web Services Description Language: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
→‎External links: group related links
Rescuing 2 sources and tagging 0 as dead.) #IABot (v2.0.9.5) (Whoop whoop pull up - 14633
 
(24 intermediate revisions by 19 users not shown)
Line 1: Line 1:
{{Short description|XML-based interface description language}}
{{about|an information technology specification|the radio station|WSDL (FM)}}
{{Infobox file format
{{Infobox file format
| name = Web Services Description Language
| name = Web Services Description Language
Line 18: Line 18:
| standard = [http://www.w3.org/TR/wsdl20/ 2.0 Recommendation]
| standard = [http://www.w3.org/TR/wsdl20/ 2.0 Recommendation]
}}
}}
The '''Web Services Description Language''' ('''WSDL''' {{IPAc-en|ˈ|w|ɪ|z|_|d|əl}}) is an [[XML]]-based [[interface description language]] that is used for describing the functionality offered by a [[web service]]. The acronym is also used for any specific WSDL description of a web service (also referred to as a ''WSDL file''), which provides a machine-readable description of how the service can be called, what parameters it expects, and what data structures it returns. Therefore, its purpose is roughly similar to that of a [[type signature]] in a programming language.
The '''Web Services Description Language''' ('''WSDL''' {{IPAc-en|ˈ|w|ɪ|z|_|d|əl}}) is an [[XML]]-based [[interface description language]] that is used for describing the functionality offered by a [[web service]].{{cn|date=March 2023}} The acronym is also used for any specific WSDL description of a web service (also referred to as a ''WSDL file''), which provides a machine-readable description of how the service can be called, what parameters it expects, and what data structures it returns. Therefore, its purpose is roughly similar to that of a [[type signature]] in a programming language.


The current version of WSDL is WSDL 2.0. The meaning of the acronym has changed from version 1.1 where the "D" stood for "Definition".
The latest version of WSDL, which became a W3C recommendation in 2007, is WSDL 2.0. The meaning of the acronym has changed from version 1.1 where the "D" stood for "Definition".


== Description ==
== Description ==
[[File:WSDL 11vs20.png|thumb|280px|left|Representation of concepts defined by WSDL 1.1 and WSDL 2.0 documents.]]
[[File:WSDL 11vs20.png|thumb|280px|left|Representation of concepts defined by WSDL 1.1 and WSDL 2.0 documents.]]
The WSDL describes services as collections of network endpoints, or ports. The WSDL specification provides an [[XML]] [[File format|format]] for documents for this purpose.
The WSDL describes services as collections of network [[Communication endpoint|endpoints]], or [[Port (computer networking)|port]]s. The WSDL specification provides an [[XML]] [[File format|format]] for documents for this purpose.
The abstract definitions of ports and messages are separated from their concrete use or instance, allowing the reuse of these definitions. A port is defined by associating a [[network address]] with a reusable binding, and a collection of ports defines a service. Messages are abstract descriptions of the data being exchanged, and port types are abstract collections of supported operations. The concrete protocol and data format specifications for a particular port type constitutes a reusable binding, where the operations and messages are then bound to a concrete network protocol and message format. In this way, WSDL describes the public interface to the Web service.
The abstract definitions of ports and messages are separated from their concrete use or instance, allowing the reuse of these definitions. A port is defined by associating a [[network address]] with a reusable binding, and a collection of ports defines a service. Messages are abstract descriptions of the data being exchanged, and port types are abstract collections of supported operations. The concrete protocol and data format specifications for a particular port type constitutes a reusable binding, where the operations and messages are then bound to a concrete network protocol and message format. In this way, WSDL describes the public interface to the Web service.


WSDL is often used in combination with [[SOAP]] and an [[XML Schema (W3C)|XML Schema]] to provide Web services over the [[Internet]]. A client program connecting to a Web service can read the WSDL file to determine what operations are available on the server. Any special [[datatypes]] used are embedded in the WSDL file in the form of XML Schema. The client can then use SOAP to actually call one of the operations listed in the WSDL file using for example XML over HTTP.
WSDL is often used in combination with [[SOAP]] and an [[XML Schema (W3C)|XML Schema]] to provide Web services over the [[Internet]]. A client program connecting to a Web service can read the WSDL file to determine what operations are available on the server. Any special [[datatypes]] used are embedded in the WSDL file in the form of XML Schema. The client can then use SOAP to actually call one of the operations listed in the WSDL file, using for example XML over [[HTTP]].


The current version of the specification is 2.0; version 1.1 has not been endorsed by the [[World Wide Web Consortium|W3C]] but version 2.0 is a [[W3C recommendation]].<ref>{{cite web |url=http://www.w3.org/TR/wsdl20/ |title=Web Services Definition Language (WSDL) Version 2.0 Part 1: Core Language |accessdate=2007-06-27}}</ref> WSDL 1.2 was renamed WSDL 2.0 because of its substantial differences from WSDL 1.1. By accepting binding to all the [[Hypertext Transfer Protocol#Request methods|HTTP request methods]] (not only GET and POST as in version 1.1), the WSDL 2.0 specification offers better support for [[Representational State Transfer|RESTful]] [[web service]]s, and is much simpler to implement.<ref>{{cite web |url=http://www.w3.org/TR/2007/REC-wsdl20-adjuncts-20070626/#_http_binding_default_rule_method |title=Web Services Definition Language (WSDL) Version 2.0 Part 2: Adjuncts}}</ref><ref>{{cite web |url=http://www.pacificspirit.com/blog/2005/05/16/witw_wsdl_20_http_binding |title=WITW WSDL 2.0 HTTP Binding}}</ref> However support for this specification is still poor in [[software development kit]]s for Web Services which often offer tools only for WSDL 1.1.{{Update after|2015|6|24}}{{citation needed|date=June 2015}} For example, the version 2.0 of the [[Business Process Execution Language|Business Process Execution Language (BPEL)]] only supports WSDL 1.1.
The current version of the specification is 2.0; version 1.1 has not been endorsed by the [[World Wide Web Consortium|W3C]] but version 2.0 is a [[W3C recommendation]].<ref>{{cite web |url=http://www.w3.org/TR/wsdl20/ |title=Web Services Definition Language (WSDL) Version 2.0 Part 1: Core Language |access-date=2007-06-27}}</ref> WSDL 1.2 was renamed WSDL 2.0 because of its substantial differences from WSDL 1.1. By accepting binding to all the [[Hypertext Transfer Protocol#Request methods|HTTP request methods]] (not only GET and POST as in version 1.1), the WSDL 2.0 specification offers better support for [[Representational State Transfer|RESTful]] [[web service]]s, and is much simpler to implement.<ref>{{cite web |url=http://www.w3.org/TR/2007/REC-wsdl20-adjuncts-20070626/#_http_binding_default_rule_method |title=Web Services Definition Language (WSDL) Version 2.0 Part 2: Adjuncts}}</ref><ref>{{cite web |url=http://www.pacificspirit.com/blog/2005/05/16/witw_wsdl_20_http_binding |title=WITW WSDL 2.0 HTTP Binding |access-date=2007-09-20 |archive-date=2012-06-20 |archive-url=https://web.archive.org/web/20120620184600/http://www.pacificspirit.com/blog/2005/05/16/witw_wsdl_20_http_binding |url-status=dead }}</ref> However support for this specification is still poor in [[software development kit]]s for Web Services which often offer tools only for WSDL 1.1.{{Update after|2015|6|24}}{{citation needed|date=June 2015}} For example, the version 2.0 of the [[Business Process Execution Language|Business Process Execution Language (BPEL)]] only supports WSDL 1.1.


{{clear}}
{{clear}}
Line 38: Line 38:
| Service || Service || Contains a set of system functions that have been exposed to the Web-based protocols.
| Service || Service || Contains a set of system functions that have been exposed to the Web-based protocols.
|-
|-
| Port || Endpoint || Defines the address or connection point to a Web service. It is typically represented by a simple HTTP URL string.
| Port || Endpoint || Defines the address or connection point to a Web service. It is typically represented by a simple HTTP [[URL]] string.
|-
|-
| Binding || Binding || Specifies the interface and defines the [[SOAP]] binding style ([[Remote procedure call|RPC]]/Document) and transport ([[SOAP]] Protocol). The binding section also defines the operations.
| Binding || Binding || Specifies the interface and defines the [[SOAP]] binding style ([[Remote procedure call|RPC]]/Document) and transport ([[SOAP]] Protocol). The binding section also defines the operations.
Line 46: Line 46:
| Operation || Operation || Defines the SOAP actions and the way the message is encoded, for example, "literal." An operation is like a method or function call in a traditional programming language.
| Operation || Operation || Defines the SOAP actions and the way the message is encoded, for example, "literal." An operation is like a method or function call in a traditional programming language.
|-
|-
| Message || n/a || Typically, a message corresponds to an operation. The message contains the information needed to perform the operation. Each message is made up of one or more logical parts. Each part is associated with a message-typing attribute. The message name attribute provides a unique name among all messages. The part name attribute provides a unique name among all the parts of the enclosing message. Parts are a description of the logical content of a message. In RPC binding, a binding may reference the name of a part in order to specify binding-specific information about the part. A part may represent a parameter in the message; the bindings define the actual meaning of the part. Messages were removed in WSDL 2.0, in which [[XML]] schema types for defining bodies of inputs, outputs and faults are referred to simply and directly.
| Message || {{n/a}} || Typically, a message corresponds to an operation. The message contains the information needed to perform the operation. Each message is made up of one or more logical parts. Each part is associated with a message-typing attribute. The message name attribute provides a unique name among all messages. The part name attribute provides a unique name among all the parts of the enclosing message. Parts are a description of the logical content of a message. In RPC binding, a binding may reference the name of a part in order to specify binding-specific information about the part. A part may represent a parameter in the message; the bindings define the actual meaning of the part. Messages were removed in WSDL 2.0, in which [[XML]] schema types for defining bodies of inputs, outputs and faults are referred to simply and directly.
|-
|-
| Types || Types || Describes the data. The [[XML Schema (W3C)|XML Schema]] language (also known as [[XSD]]) is used (inline or referenced) for this purpose.
| Types || Types || Describes the data. The [[XML Schema (W3C)|XML Schema]] language (also known as [[XSD]]) is used (inline or referenced) for this purpose.
|}
|}

== Subset WSDL ==
Subset WSDL (SWSDL)<ref name=SWSDL>{{Cite conference| doi = 10.1109/CloudCom.2014.149| conference = 2014 IEEE 6th International Conference on Cloud Computing Technology and Science| title = Subset WSDL to Access Subset Service for Analysis| pages = 688| year = 2014| last1 = Chaturvedi | first1 = Animesh | isbn = 978-1-4799-4093-6}}</ref> is a WSDL with the subset operations of an original WSDL. A developer can use SWSDL to access Subset Service, thus handle subset of web service code. A Subset WSDL can be used to perform web service testing and top down development. Slicing of a web service can be done using a Subset WSDL to access Subset Service. Subset Service can be categorized into layers using SWSDL. SWSDLs are used for Web service analysis, testing and top down development. AWSCM<ref name=AWSCM>{{cite conference| doi = 10.1109/CloudCom.2014.144| conference = 2014 IEEE 6th International Conference on Cloud Computing Technology and Science | title = Automated Web Service Change Management AWSCM - A Tool| pages = 715| year = 2014| last1 = Chaturvedi | first1 = Animesh | isbn = 978-1-4799-4093-6}}</ref> is the pioneer tool to construct SWSDL's successfully.


== Example WSDL file ==
== Example WSDL file ==
Line 120: Line 117:
WSDL 1.2 (June 2003) was a working draft at W3C, but has become WSDL 2.0. According to W3C: WSDL 1.2 is easier and more flexible for developers than the previous version. WSDL 1.2 attempts to remove non-interoperable features and also defines the HTTP 1.1 binding better. WSDL 1.2 was not supported by most SOAP servers/vendors.
WSDL 1.2 (June 2003) was a working draft at W3C, but has become WSDL 2.0. According to W3C: WSDL 1.2 is easier and more flexible for developers than the previous version. WSDL 1.2 attempts to remove non-interoperable features and also defines the HTTP 1.1 binding better. WSDL 1.2 was not supported by most SOAP servers/vendors.


WSDL 2.0 became a W3C recommendation on June 2007. WSDL 1.2 was renamed to WSDL 2.0 because it has substantial differences from WSDL 1.1. The changes are the following:
WSDL 2.0 became a W3C recommendation in June 2007. WSDL 1.2 was renamed to WSDL 2.0 because it has substantial differences from WSDL 1.1. The changes are the following:


*Added further semantics to the description language
*Added further semantics to the description language
Line 127: Line 124:
*PortTypes renamed to interfaces
*PortTypes renamed to interfaces
*Ports renamed to endpoints
*Ports renamed to endpoints

== Subset WSDL ==
Subset WSDL (SWSDL)<ref name=SWSDL>{{Cite conference| doi = 10.1109/CloudCom.2014.149| conference = 2014 IEEE 6th International Conference on Cloud Computing Technology and Science| title = Subset WSDL to Access Subset Service for Analysis| pages = 688| year = 2014| last1 = Chaturvedi | first1 = Animesh | isbn = 978-1-4799-4093-6}}</ref> is a WSDL with the subset operations of an original WSDL. A developer can use SWSDL to access Subset Service, thus handle subset of web service code. A Subset WSDL can be used to perform web service testing and top down development. Slicing of a web service can be done using a Subset WSDL to access Subset Service. Subset Service can be categorized into layers using SWSDL. SWSDLs are used for Web service analysis, testing and top down development. AWSCM<ref name=AWSCM>{{cite conference| doi = 10.1109/CloudCom.2014.144| conference = 2014 IEEE 6th International Conference on Cloud Computing Technology and Science | title = Automated Web Service Change Management AWSCM - A Tool| pages = 715| year = 2014| last1 = Chaturvedi | first1 = Animesh | isbn = 978-1-4799-4093-6}}</ref> is a tool that can identify subset operations in a WSDL file to construct a subset WSDL.


==Security considerations==
==Security considerations==
Since WSDL files are an XML-based specification for describing a web service, WSDL files are susceptible to attack.<ref>{{cite web| url=http://www.ws-attacks.org/WSDL_Disclosure |title=WSDL Disclosure |accessdate=2017-05-31}}</ref> To mitigate vulnerability of these files, limiting access to generated WSDL files, setting proper access restrictions on WSDL definitions, and avoiding unnecessary definitions in web services is encouraged.
Since WSDL files are an XML-based specification for describing a web service, WSDL files are susceptible to attack.<ref>{{cite web| url=http://www.ws-attacks.org/WSDL_Disclosure |title=WSDL Disclosure |access-date=2017-05-31}}</ref> To mitigate vulnerability of these files, limiting access to generated WSDL files, setting proper access restrictions on WSDL definitions, and avoiding unnecessary definitions in web services is encouraged.


==See also==
==See also==
* [[SDEP]]
* [[SOAP]]
* [[Web Application Description Language]]
* [[Web Application Description Language]]
* [[SOAP]]


==References==
==References==
Line 141: Line 142:
* [http://xml.coverpages.org/wsdl20000929.html WSDL 1.0 Specification]
* [http://xml.coverpages.org/wsdl20000929.html WSDL 1.0 Specification]
* [https://www.w3.org/TR/2001/NOTE-wsdl-20010315 WSDL 1.1 Specification]
* [https://www.w3.org/TR/2001/NOTE-wsdl-20010315 WSDL 1.1 Specification]

* WSDL 2.0 Specification
* WSDL 2.0 Specification
** [http://www.w3.org/TR/wsdl20-primer/ Part 0: Primer (Latest Version)]
** [http://www.w3.org/TR/wsdl20-primer/ Part 0: Primer (Latest Version)]
Line 151: Line 151:
* [http://jcp.org/en/jsr/detail?id=172 JSR 172: Java ME Web Services Specification]
* [http://jcp.org/en/jsr/detail?id=172 JSR 172: Java ME Web Services Specification]
* [http://www.validwsdl.com/ Online WSDL Validator]
* [http://www.validwsdl.com/ Online WSDL Validator]
* [http://xmlbeans.googlepages.com/ WSDL Java Bindings] {{Webarchive|url=https://web.archive.org/web/20090411144624/http://xmlbeans.googlepages.com/ |date=2009-04-11 }} for XMLBeans and JAXB.
* [http://www.wsdlbrowser.com/ Online WSDL browser and test client]
* [http://www.softwaresecretweapons.com/jspwiki/Wiki.jsp?page=LinguineMapsForWSDL WSDL programmatic visualization with Linguine Maps]
* [http://www.ssdl.org/overview.html SSDL - The SOAP Service Description Language]
* [http://xmlbeans.googlepages.com/ WSDL Java Bindings] for XMLBeans and JAXB.
* [http://www.w3.org/TR/2002/WD-wsdl12-20020709/ W3C Working Draft]
* [https://github.com/dlukyanov/relax-ws/wiki RELAX-WS: Simple web service definition language based on RELAX NG Compact Syntax]
* [https://github.com/dlukyanov/relax-ws/wiki RELAX-WS: Simple web service definition language based on RELAX NG Compact Syntax]
* Kevin Liu. [http://www.soamag.com/I27/0309-3.php A Look at WSDL 2.0]. Date accessed: 20 April 2010.


{{W3C Standards}}
{{W3C Standards}}
Line 162: Line 159:
[[Category:XML-based standards]]
[[Category:XML-based standards]]
[[Category:Web service specifications]]
[[Category:Web service specifications]]
[[Category:Web services]]
[[Category:World Wide Web Consortium standards]]
[[Category:World Wide Web Consortium standards]]

Latest revision as of 18:07, 17 August 2023

Web Services Description Language
Filename extension
.wsdl
Internet media type
application/wsdl+xml
Developed byWorld Wide Web Consortium
Contained byXML
Standard2.0 Recommendation

The Web Services Description Language (WSDL /ˈwɪz dəl/) is an XML-based interface description language that is used for describing the functionality offered by a web service.[citation needed] The acronym is also used for any specific WSDL description of a web service (also referred to as a WSDL file), which provides a machine-readable description of how the service can be called, what parameters it expects, and what data structures it returns. Therefore, its purpose is roughly similar to that of a type signature in a programming language.

The latest version of WSDL, which became a W3C recommendation in 2007, is WSDL 2.0. The meaning of the acronym has changed from version 1.1 where the "D" stood for "Definition".

Description[edit]

Representation of concepts defined by WSDL 1.1 and WSDL 2.0 documents.

The WSDL describes services as collections of network endpoints, or ports. The WSDL specification provides an XML format for documents for this purpose. The abstract definitions of ports and messages are separated from their concrete use or instance, allowing the reuse of these definitions. A port is defined by associating a network address with a reusable binding, and a collection of ports defines a service. Messages are abstract descriptions of the data being exchanged, and port types are abstract collections of supported operations. The concrete protocol and data format specifications for a particular port type constitutes a reusable binding, where the operations and messages are then bound to a concrete network protocol and message format. In this way, WSDL describes the public interface to the Web service.

WSDL is often used in combination with SOAP and an XML Schema to provide Web services over the Internet. A client program connecting to a Web service can read the WSDL file to determine what operations are available on the server. Any special datatypes used are embedded in the WSDL file in the form of XML Schema. The client can then use SOAP to actually call one of the operations listed in the WSDL file, using for example XML over HTTP.

The current version of the specification is 2.0; version 1.1 has not been endorsed by the W3C but version 2.0 is a W3C recommendation.[1] WSDL 1.2 was renamed WSDL 2.0 because of its substantial differences from WSDL 1.1. By accepting binding to all the HTTP request methods (not only GET and POST as in version 1.1), the WSDL 2.0 specification offers better support for RESTful web services, and is much simpler to implement.[2][3] However support for this specification is still poor in software development kits for Web Services which often offer tools only for WSDL 1.1.[needs update][citation needed] For example, the version 2.0 of the Business Process Execution Language (BPEL) only supports WSDL 1.1.

WSDL 1.1 Term WSDL 2.0 Term Description
Service Service Contains a set of system functions that have been exposed to the Web-based protocols.
Port Endpoint Defines the address or connection point to a Web service. It is typically represented by a simple HTTP URL string.
Binding Binding Specifies the interface and defines the SOAP binding style (RPC/Document) and transport (SOAP Protocol). The binding section also defines the operations.
PortType Interface Defines a Web service, the operations that can be performed, and the messages that are used to perform the operation.
Operation Operation Defines the SOAP actions and the way the message is encoded, for example, "literal." An operation is like a method or function call in a traditional programming language.
Message Typically, a message corresponds to an operation. The message contains the information needed to perform the operation. Each message is made up of one or more logical parts. Each part is associated with a message-typing attribute. The message name attribute provides a unique name among all messages. The part name attribute provides a unique name among all the parts of the enclosing message. Parts are a description of the logical content of a message. In RPC binding, a binding may reference the name of a part in order to specify binding-specific information about the part. A part may represent a parameter in the message; the bindings define the actual meaning of the part. Messages were removed in WSDL 2.0, in which XML schema types for defining bodies of inputs, outputs and faults are referred to simply and directly.
Types Types Describes the data. The XML Schema language (also known as XSD) is used (inline or referenced) for this purpose.

Example WSDL file[edit]

<?xml version="1.0" encoding="UTF-8"?>
<description xmlns="http://www.w3.org/ns/wsdl" 
             xmlns:tns="http://www.tmsws.com/wsdl20sample" 
             xmlns:whttp="http://schemas.xmlsoap.org/wsdl/http/"
             xmlns:wsoap="http://schemas.xmlsoap.org/wsdl/soap/"
             targetNamespace="http://www.tmsws.com/wsdl20sample">

<documentation>
    This is a sample WSDL 2.0 document. 
</documentation>

<!-- Abstract type -->
   <types>
      <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
                xmlns="http://www.tmsws.com/wsdl20sample"
                targetNamespace="http://www.example.com/wsdl20sample">
                 
         <xs:element name="request"> ... </xs:element>
         <xs:element name="response"> ... </xs:element>
      </xs:schema>
   </types>

<!-- Abstract interfaces -->
   <interface name="Interface1">
      <fault name="Error1" element="tns:response"/>
      <operation name="Get" pattern="http://www.w3.org/ns/wsdl/in-out">
         <input messageLabel="In" element="tns:request"/>
         <output messageLabel="Out" element="tns:response"/>
      </operation>
   </interface>

<!-- Concrete Binding Over HTTP -->
   <binding name="HttpBinding" interface="tns:Interface1" 
            type="http://www.w3.org/ns/wsdl/http">
      <operation ref="tns:Get" whttp:method="GET"/>
   </binding>
   
<!-- Concrete Binding with SOAP-->
   <binding name="SoapBinding" interface="tns:Interface1" 
            type="http://www.w3.org/ns/wsdl/soap" 
            wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP/"
            wsoap:mepDefault="http://www.w3.org/2003/05/soap/mep/request-response">
      <operation ref="tns:Get" />
   </binding>

<!-- Web Service offering endpoints for both bindings-->
   <service name="Service1" interface="tns:Interface1">
      <endpoint name="HttpEndpoint" 
                binding="tns:HttpBinding" 
                address="http://www.example.com/rest/"/>
      <endpoint name="SoapEndpoint" 
                binding="tns:SoapBinding" 
                address="http://www.example.com/soap/"/>
   </service>
</description>

History[edit]

WSDL 1.0 (Sept. 2000) was developed by IBM, Microsoft, and Ariba to describe Web Services for their SOAP toolkit. It was built by combining two service description languages: NASSL (Network Application Service Specification Language) from IBM and SDL (Service Description Language) from Microsoft.

WSDL 1.1, published in March 2001, is the formalization of WSDL 1.0. No major changes were introduced between 1.0 and 1.1.

WSDL 1.2 (June 2003) was a working draft at W3C, but has become WSDL 2.0. According to W3C: WSDL 1.2 is easier and more flexible for developers than the previous version. WSDL 1.2 attempts to remove non-interoperable features and also defines the HTTP 1.1 binding better. WSDL 1.2 was not supported by most SOAP servers/vendors.

WSDL 2.0 became a W3C recommendation in June 2007. WSDL 1.2 was renamed to WSDL 2.0 because it has substantial differences from WSDL 1.1. The changes are the following:

  • Added further semantics to the description language
  • Removed message constructs
  • Operator overloading not supported
  • PortTypes renamed to interfaces
  • Ports renamed to endpoints

Subset WSDL[edit]

Subset WSDL (SWSDL)[4] is a WSDL with the subset operations of an original WSDL. A developer can use SWSDL to access Subset Service, thus handle subset of web service code. A Subset WSDL can be used to perform web service testing and top down development. Slicing of a web service can be done using a Subset WSDL to access Subset Service. Subset Service can be categorized into layers using SWSDL. SWSDLs are used for Web service analysis, testing and top down development. AWSCM[5] is a tool that can identify subset operations in a WSDL file to construct a subset WSDL.

Security considerations[edit]

Since WSDL files are an XML-based specification for describing a web service, WSDL files are susceptible to attack.[6] To mitigate vulnerability of these files, limiting access to generated WSDL files, setting proper access restrictions on WSDL definitions, and avoiding unnecessary definitions in web services is encouraged.

See also[edit]

References[edit]

  1. ^ "Web Services Definition Language (WSDL) Version 2.0 Part 1: Core Language". Retrieved 2007-06-27.
  2. ^ "Web Services Definition Language (WSDL) Version 2.0 Part 2: Adjuncts".
  3. ^ "WITW WSDL 2.0 HTTP Binding". Archived from the original on 2012-06-20. Retrieved 2007-09-20.
  4. ^ Chaturvedi, Animesh (2014). Subset WSDL to Access Subset Service for Analysis. 2014 IEEE 6th International Conference on Cloud Computing Technology and Science. p. 688. doi:10.1109/CloudCom.2014.149. ISBN 978-1-4799-4093-6.
  5. ^ Chaturvedi, Animesh (2014). Automated Web Service Change Management AWSCM - A Tool. 2014 IEEE 6th International Conference on Cloud Computing Technology and Science. p. 715. doi:10.1109/CloudCom.2014.144. ISBN 978-1-4799-4093-6.
  6. ^ "WSDL Disclosure". Retrieved 2017-05-31.

External links[edit]