完整的 WSDL 语法
描述于 W3C 工作草案的完整 WSDL 1.2 语法已列在下面:
实例
<
wsdl:definitions
name
=
"
nmtoken
"
?
targetNamespace
=
"
uri
"
>
<
import
namespace
=
"
uri
"
location
=
"
uri
"
/>
*
<
wsdl:documentation
....
/>
?
<
wsdl:types
>
?
<
wsdl:documentation
....
/>
?
<
xsd:schema
....
/>
*
</
wsdl:types
>
<
wsdl:message
name
=
"
ncname
"
>
*
<
wsdl:documentation
....
/>
?
<
part
name
=
"
ncname
"
element
=
"
qname
"
?
type
=
"
qname
"
?
/>
*
</
wsdl:message
>
<
wsdl:portType
name
=
"
ncname
"
>
*
<
wsdl:documentation
....
/>
?
<
wsdl:operation
name
=
"
ncname
"
>
*
<
wsdl:documentation
....
/>
?
<
wsdl:input
message
=
"
qname
"
>
?
<
wsdl:documentation
....
/>
?
</
wsdl:input
>
<
wsdl:output
message
=
"
qname
"
>
?
<
wsdl:documentation
....
/>
?
</
wsdl:output
>
<
wsdl:fault
name
=
"
ncname
"
message
=
"
qname
"
>
*
<
wsdl:documentation
....
/>
?
</
wsdl:fault
>
</
wsdl:operation
>
</
wsdl:portType
>
<
wsdl:serviceType
name
=
"
ncname
"
>
*
<
wsdl:portType
name
=
"
qname
"
/>
+
</
wsdl:serviceType
>
<
wsdl:binding
name
=
"
ncname
"
type
=
"
qname
"
>
*
<
wsdl:documentation
....
/>
?
<
--
binding
details
--
>
*
<
wsdl:operation
name
=
"
ncname
"
>
*
<
wsdl:documentation
....
/>
?
<
--
binding
details
--
>
*
<
wsdl:input
>
?
<
wsdl:documentation
....
/>
?
<
--
binding
details
--
>
</
wsdl:input
>
<
wsdl:output
>
?
<
wsdl:documentation
....
/>
?
<
--
binding
details
--
>
*
</
wsdl:output
>
<
wsdl:fault
name
=
"
ncname
"
>
*
<
wsdl:documentation
....
/>
?
<
--
binding
details
--
>
*
</
wsdl:fault
>
</
wsdl:operation
>
</
wsdl:binding
>
<
wsdl:service
name
=
"
ncname
"
serviceType
=
"
qname
"
>
*
<
wsdl:documentation
....
/>
?
<
wsdl:port
name
=
"
ncname
"
binding
=
"
qname
"
>
*
<
wsdl:documentation
....
/>
?
<
--
address
details
--
>
</
wsdl:port
>
</
wsdl:service
>
</
wsdl:definitions
>