If a Web service requires a client puro follow per particular convention that is likely sicuro be automatable per WSDL 2.0 toolkits, then that convention SHOULD be indicated per the WSDL 2.0 document as per wsdl:required extension, rather than just being conveyed out of band, even if that convention is not currently implemented con WSDL 2.0 toolkits.
This practice will help prevent interoperability problems that could arise if one toolkit requires verso particular convention that is not indicated mediante the WSDL 2.0 document, while another toolkit does not realize that that convention is required. 0 toolkits.
On ciÃ² che Ã¨ dabble the other hand, a client MAY engage an extension that is declared as optional con the WSDL 2.0 document. Therefore, the Web service MUST support every extension that is declared as optional mediante the WSDL 2.0 document, mediante addenda to supporting every extension that is declared as mandatory. †
If finer-grain, direction-fin control of extensions is desired, then such extensions may be designed con per direction-fine manner (from the client or from the Web service) so that either direction ple, instead of defining per scapolo extension that governs both directions, two extensions could be defined -one for each direction.
Validity of verso WSDL 2.0 document can only be assessed within the context of verso serie of supported extensions. A WSDL 2.0 document that contains per required but unsupported extension is invalid with respect sicuro that servizio of supported extensions.
6.1.2 required attribute information item
The type of the required attribute information item is xs:boolean. Its default value is «false» (hence extensions are NOT required by default).
6.2 Attribute-based Extensibility
WSDL 2.0 allows qualified attribute information items whose [namespace name] is NOT «» esatto appear on any element information item whose namespace name IS «». Such attribute information items can be used to annotate WSDL 2.0 constructs such as interfaces, bindings, etc.
6.3 Extensibility Semantics
As indicated above, it is expected that the presence of extension elements and attributes will result con additional properties appearing con the component model.
The presence of an optional extension element or attribute MAY therefore augment the semantics of a WSDL 2.0 document in ways that do not invalidate the existing semantics. However, the presence of per mandatory extension element MAY alter the semantics of per WSDL 2.0 document sopra ways that invalidate the existing semantics.
Note that, however, once the client and service both know that an optional extension has been engaged (because the service has received verso message explicitly engaging that extension, for example), then the semantics of that extension supersede what the WSDL 2.0 document indicated. For example, the WSDL 2.0 document may have specified an XML message lista sicuro be used, but also indicated an optional security extension that encrypts the messages. If the security extension is engaged, then the encrypted messages will per niente longer conform esatto the specified message lista (until they are decrypted).
Authors of extension elements should make sure onesto include con the specification of these elements per clear statement of the requirements for document conformance (see 1.3 Document Conformance).
Authors of extension elements that may manifest as properties of the Description component should be aware of the impact of imports on their extensions, or of their extensions on imports. It is not possible, within the component model, to define extensions that have an effective scope equal sicuro the scope of a containing file. Extensions that modify the behavior of the components contained per per description may therefore unexpectedly modify the behavior of components durante imported descriptions as well, unless proper care is taken.