1SOAP::WSDL::Manual::WS_UIs(e3r)Contributed Perl DocumentSaOtAiPo:n:WSDL::Manual::WS_I(3)
2
3
4

NAME

6       SOAP::WSDL::Manual::WS_I - How SOAP::WSDL complies to WS-I Basic
7       Profile 1.0
8

DESCRIPTION

10       This document gives an overview about how SOAP::WSDL confirms to the
11       rules of the WS-I Basic Profile 1.0 found at
12       <http://www.ws-i.org/Profiles/BasicProfile-1.0-2004-04-16.html>
13
14       Errata are not yet worked in.
15
16       You may find rules mis-categorized, especially in the "not applicable"
17       section.
18
19       Such mis-categorizations are documentation bugs, please feel free to
20       report them.
21
22       Rules are categorized into the following sections:
23
24       •   RULES CONFIRMED
25
26           This section contains rules SOAP::WSDL follows. Conformance to
27           these rules may be assured by a test.
28
29       •   RULES NOT CONFIRMED
30
31           This section contains rules SOAP::WSDL does not follow yet. These
32           may be considered as bugs.
33
34       •   RULES NOT APPLICABLE
35
36           WS-I Basic Profile contains rules for web services as a whole.
37           SOAP::WSDL only plays the part of one layer in a Web Service
38           CONSUMER / RECEIVER, thus does not implement some parts the WS-I
39           Basic Profile references.
40
41           This section contains rules not applicable for SOAP::WSDL, because
42           they refer to parts SOAP::WSDL does not implement.
43

RULES CONFIRMED

45   R1005
46        A MESSAGE MUST NOT contain soap:encodingStyle attributes on any of the elements
47        whose namespace name is "http://schemas.xmlsoap.org/soap/envelope/".
48
49       SOAP::WSDL::Serializer::SOAP11 does not add soap:encodingStyle
50       attributes on any element.
51
52   R1006
53        A MESSAGE MUST NOT contain soap:encodingStyle attributes on any element that is
54        a child of soap:Body.
55
56       SOAP::WSDL::Serializer::SOAP11 does not add soap:encodingStyle
57       attributes on any element.
58
59   R1008
60        A MESSAGE MUST NOT contain a Document Type Declaration.
61
62       SOAP::WSDL::Serializer::SOAP11 does not add DTDs.
63
64   R1009
65        A MESSAGE MUST NOT contain Processing Instructions.
66
67       SOAP::WSDL::Serializer::SOAP11 does not add Processing Instructions
68
69   R1010
70        A RECEIVER MUST accept messages that contain an XML Declaration.
71
72       SOAP::WSDL::Expat::MessageParser allows the use of XML Declarations.
73
74   R1011
75        A MESSAGE MUST NOT have any element children of soap:Envelope following
76        the soap:Body element.
77
78       SOAP::WSDL::Serializer::SOAP11 does not emit children of soap:Envelope
79       following the soap:Body element. Other serializers may behave
80       different.
81
82   R1012
83        A MESSAGE MUST be serialized as either UTF-8 or UTF-16.
84
85       SOAP::WSDL::Serializer::SOAP11 serializes messages as UTF-8.
86
87   R1018
88        The media type of a MESSAGE's envelope MUST indicate the correct character
89        encoding, using the charset parameter.
90
91       SOAP::WSDL::Transport::HTTP sets the Content-type header to "text/xml;
92       charset=utf8". SOAP::Transport does, too. Other transport backends may
93       behave different.
94
95   R1014
96        The children of the soap:Body element in a MESSAGE MUST be namespace
97        qualified.
98
99       SOAP::WSDL::Serializer::SOAP11 emits namespace-qualified child elements
100       of the soap:Body element.
101
102   R1017
103        A RECEIVER MUST NOT mandate the use of the xsi:type attribute in messages
104        except as required in order to indicate a derived type (see XML Schema
105        Part 1: Structures, Section 2.6.1).
106
107       SOAP::WSDL::Expat::MessageParser does not require the use of xsi:type
108       attributes, but uses typemaps instead.
109
110       Other deserializers may not comply to this rule.
111
112   R1028
113        When a Fault is generated by a RECEIVER, further processing SHOULD NOT be
114        performed on the SOAP message aside from that which is necessary to rollback,
115        or compensate for, any effects of processing the message prior to the
116        generation of the Fault.
117
118       A fault is generated when an error occurs processing the message.
119       SOAP::WSDL::Deserializer::SOAP11 does not perform any additional
120       processing after an error occurred.
121
122   R1029
123        Where the normal outcome of processing a SOAP message would have resulted
124        in the transmission of a SOAP response, but rather a SOAP Fault is generated
125        instead, a RECEIVER MUST transmit a SOAP Fault message in place of the
126        response.
127
128       A fault is generated when an error occurs processing the message.
129
130   R1030
131        A RECEIVER that generates a SOAP Fault SHOULD notify the end user that a
132        SOAP Fault has been generated when practical, by whatever means is deemed
133        appropriate to the circumstance.
134
135       Via return value.
136
137   R1140
138        A MESSAGE SHOULD be sent using HTTP/1.1.
139
140       SOAP::WSDL::Transport::HTTP uses HTTP/1.1
141
142   R1141
143        A MESSAGE MUST be sent using either HTTP/1.1 or HTTP/1.0.
144
145       SOAP::WSDL::Transport::HTTP uses HTTP/1.1
146
147   R1107
148        A RECEIVER MUST interpret SOAP messages containing only a soap:Fault element
149        as a Fault.
150
151       SOAP::WSDL::Deserializer::SOAP11 does this.
152
153   R1132
154        A HTTP request MESSAGE MUST use the HTTP POST method.
155
156       Both SOAP::WSDL::Transport::HTTP and SOAP::Transport::HTTP use POST.
157
158   R1108
159        A MESSAGE MUST NOT use the HTTP Extension Framework (RFC2774).
160
161       SOAP::WSDL::Transport::HTTP does not use the HTTP Extension framework,
162       however SOAP::Transport::HTTP use M-POST if POST was not successful.
163
164       To be sure you comply to this rule, use SOAP::WSDL::Transport::HTTP as
165       transport backend.
166
167   R1109
168        The value of the SOAPAction HTTP header field in a HTTP request
169        MESSAGE MUST be a quoted string.
170
171       SOAP::WSDL::Client always quotes the SOAPAction header.
172
173   R1119
174        A RECEIVER MAY respond with a Fault if the value of the SOAPAction
175        HTTP header field is not quoted.
176
177       SOAP::WSDL does not apply any processing on the SOAPAction header
178       field.
179
180   R1131
181        A CONSUMER MAY automatically redirect a request when it encounters a
182        "307 Temporary Redirect" HTTP status code in a response.
183
184       LWP::UserAgent (used by SOAP::WSDL::Transport::HTTP and
185       SOAP::Transport::HTTP) accepts up to 7 levels of redirect by default.
186
187   R2113
188        A MESSAGE containing serialized arrays MUST NOT include the
189        soapenc:arrayType attribute.
190
191       SOAP::WSDL does not natively support soapenc::arrayType.
192
193   R2114
194        The target namespace for WSDL definitions and the target namespace for
195        schema definitions in a DESCRIPTION MAY be the same.
196
197       SOAP::WSDL does not impose any constraints on the target namespace for
198       WSDL definitions or schema definitions.
199
200   R2301
201        The order of the elements in the soap:body of a MESSAGE MUST be the same
202        as that of the wsdl:parts in the wsdl:message that describes it.
203
204       SOAP::WSDL obeys the part order.
205
206   R2712
207        A document-literal binding MUST be represented on the wire as a
208        MESSAGE with a soap:Body whose child element is an instance of the
209        global element declaration referenced by the corresponding wsdl:message
210        part.
211
212       If defined accordingly in the DESCRIPTION, SOAP::WSDL issues document-
213       literal binding operation MESSAGES conforming to this rule.
214
215   R2748
216        A CONSUMER MUST NOT interpret the presence of the wsdl:required attribute
217        on a soapbind extension element with a value of "false" to mean the extension
218        element is optional in the messages generated from the WSDL description.
219
220       SOAP::WSDL does not imterpret the wsdl:required attribute at all.
221
222   R5000
223        An INSTANCE MAY require the use of HTTPS.
224
225       SOAP::WSDL supports https.
226
227   R5010
228        An INSTANCE MAY require the use of HTTPS with mutual authentication.
229
230       SOAP::WSDL supports all kinds of authentication known to LWP::UserAgent
231
232   R2742
233        A MESSAGE MAY contain a fault detail entry in a SOAP fault that is not
234        described by a wsdl:fault element in the corresponding WSDL description.
235
236       SOAP::WSDL does not emit such faults. Such faults can be processed by
237       adding custom maps to the type maps for
238       SOAP::WSDL::Expat::MessageParser.
239
240   R2744
241        A HTTP request MESSAGE MUST contain a SOAPAction HTTP header field with a
242        quoted value equal to the value of the soapAction attribute of
243        soapbind:operation, if present in the corresponding WSDL description.
244
245       SOAP::WSDL uses the soapAction attribute from soapbind:operation as
246       SOAPAction header in generated code.
247
248       Alternative WSDL parsers / code generator have to assure they pass the
249       correct soap_action to SOAP::WSDL::Client.
250
251       The interpreting SOAP::WSDL client does not conform to this rule, but
252       "guesses" the SOAPAction header from the operation name and the top
253       node's namespace.
254
255   R2745
256        A HTTP request MESSAGE MUST contain a SOAPAction HTTP header field with a
257        quoted empty string value, if in the corresponding WSDL description, the
258        soapAction of soapbind:operation is either not present, or present with an
259        empty string as its value.
260
261       SOAP::WSDL::Client always assures the SOAPaction header is quoted, thus
262       automatically inserts the empty string if no SOAPAction header is
263       defined.
264
265   R1015
266        A RECEIVER MUST generate a fault if they encounter a message whose document
267        element has a local name of "Envelope" but a namespace name that is not
268        "http://schemas.xmlsoap.org/soap/envelope/".
269
270       SOAP::WSDL::Expat::MessageParser checks the namespace of the SOAP
271       envelope.
272
273       SOAP::WSDL::Expat::MessageParser does not check that Envelope is the
274       root element, yet.
275
276   R1110
277        An INSTANCE MAY accept connections on TCP port 80 (HTTP)
278
279       SOAP::WSDL::Server::CGI may be used in a web server listening at port
280       80.
281
282   R1124
283        An INSTANCE MUST use a 2xx HTTP status code for responses that
284        indicate a successful outcome of a request.
285
286       SOAP::WSDL::Server::CGI sends a 2xx HTTP status code for successful
287       requests.
288
289   R1111
290        An INSTANCE SHOULD use a "200 OK" HTTP status code for responses
291        that contain a SOAP message that is not a SOAP fault.
292
293       SOAP::WSDL::Server::CGI does this.
294
295   R1112
296        An INSTANCE SHOULD use either a "200 OK" or "202 Accepted" HTTP
297        status code for a response that does do not contain a SOAP message
298        but indicates successful HTTP outcome of a request.
299
300       SOAP::WSDL::Server::CGI does this.
301
302   R1130
303        An INSTANCE MUST use HTTP status code "307 Temporary Redirect"
304        when redirecting a request to a different endpoint.
305
306       SOAP::WSDL::Server::CGI has no means of redirecting. The web server
307       running a SOAP::WSDL::Server::CGI script is responsible for redirecting
308       with a 307 HTTP status code.
309
310   R1125
311        An INSTANCE MUST use a 4xx HTTP status code for responses that indicate
312        a problem with the format of the request.
313
314       SOAP::WSDL does this.
315
316   R1113
317        An INSTANCE SHOULD use a "400 Bad Request "HTTP status code, if the
318        request message is a malformed HTTP request, or not well-formed XML.
319
320       SOAP::WSDL does this.
321
322   R1114
323        An INSTANCE SHOULD use a "405 Method not Allowed" HTTP status code if the
324        request method was not "POST".
325
326       SOAP::WSDL does this.
327
328   R1115
329        An INSTANCE SHOULD use a "415 Unsupported Media Type" HTTP status code if
330        the Content-Type HTTP request header did not have a value consistent with
331        the value specified for the corresponding binding of the input message.
332
333       SOAP::WSDL::Server::CGI does not support any content type other than
334       text/xml and application/xml yet.
335

RULES NOT CONFIRMED

337   R4001
338        A RECEIVER MUST accept messages that include the Unicode Byte Order Mark
339        (BOM).
340
341       May automatically work with XML::Parser::Expat, but is not tested yet.
342
343       TODO write test. If not confirmed, add encoding support.
344
345   R1002
346        A RECEIVER MUST accept fault messages that have any number of elements,
347        including zero, appearing as children of the detail element. Such children
348        can be qualified  or unqualified.
349
350       Partially confirmed: This only works when the fault detail elements are
351       added to the deserializer's typemap.
352
353       TODO add processing of arbitrary content of faults to
354       SOAP::WSDL::Expat::MessageParser
355
356   R1003
357        A RECEIVER MUST accept fault messages that have any number of qualified or
358        unqualified attributes, including zero, appearing on the detail element.
359        The namespace of qualified attributes can be anything other than
360        "http://schemas.xmlsoap.org/soap/envelope/".
361
362       TODO add processing of arbitrary attributes to
363       SOAP::WSDL::SOAP::Typelib::Fault11
364
365   R1016
366        A RECEIVER MUST accept fault messages that carry an xml:lang attribute on
367        the faultstring element.
368
369       SOAP::WSDL::Expat::MessageParser currently ignores all attributes.
370
371       TODO add processing of the xml:lang attribute to
372       SOAP::WSDL::SOAP::Typelib::Fault11
373
374   R1007
375        A MESSAGE described in an rpc-literal binding MUST NOT contain soap:encodingStyle
376        attribute on any elements are grandchildren of soap:Body.
377
378       SOAP::WSDL::Serializer::SOAP11 does not add soap:encodingStyle
379       attributes on any element.
380
381       However, rpc-literal bindings are not supported, yet.
382
383       TODO support rpc-literal bindings.
384
385   R2008
386        In a DESCRIPTION the value of the location attribute of a wsdl:import element
387        SHOULD be treated as a hint.
388
389       The wsdl:import element imports the referenced WSDL definition.
390
391       This is rather hard-wired and does not allow one to specify a
392       wsdl:import without a resolvable location in SOAP::WSDL.
393
394   R4002
395        A DESCRIPTION MAY include the Unicode Byte Order Mark (BOM).
396
397       TODO Test.
398
399   R4003
400        A DESCRIPTION MUST use either UTF-8 or UTF-16 encoding.
401
402       TODO Test whether UTF-16 works.
403
404   R2020
405        The wsdl:documentation element MAY occur as a child of the wsdl:import
406        element in a DESCRIPTION.
407
408       Not tested yet.
409
410   R2024
411        The wsdl:documentation element MAY occur as a first child of the
412        wsdl:definitions element in a DESCRIPTION.
413
414       TODO Test.
415
416   R2027
417        If during the processing of an element in the WSDL namespace in a
418        description, a consumer encounters a WSDL extension element amongst
419        its element children, that has a wsdl:required attribute with a boolean
420        value of "true" that the consumer does not understand or cannot process,
421        the CONSUMER MUST fail processing of that element in the WSDL namespace.
422
423       TODO Implement support for wsdl:required
424
425   R2750
426        A CONSUMER MUST ignore a SOAP response carried in a response from a
427        one-way operation.
428
429       SOAP::WSDL does not ignore the SOAP response from a one way operation
430       yet.
431
432       TODO Define operation type signature, and ignore result from one way
433       operations.
434
435   R2747
436        A CONSUMER MUST understand and process all WSDL 1.1 SOAP Binding extension
437        elements, irrespective of the presence or absence of the wsdl:required
438        attribute on an extension element; and irrespective of the value of the
439        wsdl:required attribute, when present.
440
441       SOAP::WSDL does not implement all WSDL 1.1 SOAP Binding extension yet.
442
443       TODO check and implement.
444
445   R2800
446        A DESCRIPTION MAY use any construct from XML Schema 1.0.
447
448       SOAP::WSDL's WSDL parser doen not allow all constructs from XML Schema
449       1.0 to be used.
450
451       TODO become "minimal conformant".
452

RULES NOT APPLICABLE

454   R0004
455        A MESSAGE MAY contain conformance claims, as specified in the conformance claim schema.
456
457       SOAP::WSDL::Serializer::SOAP11 does not add conformance claims.  Other
458       serializers may act different.
459
460   R0005
461        A MESSAGE's conformance claims MUST be carried as SOAP header blocks.
462
463       SOAP::WSDL::Serializer::SOAP11 does not add conformance claims.  Other
464       serializers may act different.
465
466   R0006
467        A MESSAGE MAY contain conformance claims for more than one profile.
468
469       SOAP::WSDL::Serializer::SOAP11 does not add conformance claims.  Other
470       serializers may act different.
471
472   R0007
473        A SENDER MUST NOT use the soap:mustUnderstand attribute when sending a SOAP
474        header block containing a conformance claim.
475
476       SOAP::WSDL::Serializer::SOAP11 does not add conformance claims.  Other
477       serializers may act different.
478
479   R3020
480        REGDATA of type uddi:tModel claiming conformance with a Profile MUST be
481        categorized using the ws-i-org:conformsTo:2002_12 taxonomy.
482
483       SOAP::WSDL does not publish web services yet.
484
485   R3030
486        REGDATA of type uddi:tModel claiming conformance with a Profile MUST use
487        the ws-i-org:conformsTo:2002_12 categorization value corresponding to
488        the conformance claim URI for that Profile.
489
490       SOAP::WSDL does not publish web services yet.
491
492   R3021
493        A REGISTRY MUST support the WS-I Conformance category system by adding
494        the ws-i-org:conformsTo:2002_12 tModel definition to its registry content.
495
496       SOAP::WSDL does not publish web services yet.
497
498   R3005
499        REGDATA other than uddi:tModel elements representing conformant Web service
500        types MUST NOT be categorized using the ws-i-org:conformsTo:2002_12
501        taxonomy and a categorization of "http://ws-i.org/profiles/basic/1.0".
502
503       SOAP::WSDL does not publish web services yet.
504
505   R3004
506        REGDATA of type uddi:tModel MUST be constructed so that the conformance
507        claim it makes is consistent with the conformance claim made by the
508        wsdl:binding to which it refers.
509
510       SOAP::WSDL does not publish web services yet.
511
512   R1000
513        When a MESSAGE contains a soap:Fault element, that element MUST NOT have element
514        children other than faultcode, faultstring, faultactor and detail.
515
516       SOAP::WSDL does not send fault messages. However,
517       SOAP::WSDL::SOAP::Typelib::Fault11 complies to this rule.
518
519   R1001
520        When a MESSAGE contains a soap:Fault element its element children MUST be
521        unqualified.
522
523       SOAP::WSDL does not send fault messages. However,
524       SOAP::WSDL::SOAP::Typelib::Fault11 complies to this rule.
525
526   R1004
527        When a MESSAGE contains a faultcode element the content of that element
528        SHOULD be one of the fault codes defined in SOAP 1.1 or a namespace qualified
529        fault code.
530
531       SOAP::WSDL does not send fault messages. However, the fault issued by
532       SOAP::WSDL::Deserializer comply to this rule.
533
534   R1031
535        When a MESSAGE contains a faultcode element the content of that element SHOULD
536        NOT use of the SOAP 1.1 "dot" notation to refine the meaning of the Fault.
537
538       SOAP::WSDL does not send fault messages. However, the fault issued by
539       SOAP::WSDL::Deserializer comply to this rule.
540
541   R1013
542        A MESSAGE containing a soap:mustUnderstand attribute MUST only use the lexical
543        forms "0" and "1".
544
545       SOAP::WSDL does not add soap:mustUnderstand attributes.
546
547   R1025
548        A RECEIVER MUST handle messages in such a way that it appears that all
549        checking of mandatory header blocks is performed before any actual
550        processing.
551
552       SOAP::WSDL does not check mandatory header blocks yet.
553
554   R1027
555        A RECEIVER MUST generate a "soap:MustUnderstand" fault when a message
556        contains a mandatory header block (i.e., one that has a soap:mustUnderstand
557        attribute with the value "1") targeted at the receiver (via soap:actor)
558        that the receiver does not understand.
559
560       SOAP::WSDL does not check mandatory header blocks yet.
561
562   R1120
563        An INSTANCE MAY use the HTTP state mechanism ("Cookies").
564
565       SOAP::WSDL::Server::CGI does not use cookies. A web server running a
566       SOAP::WSDL::Server::CGI script may use cookies..
567
568   R1122
569        An INSTANCE using Cookies SHOULD conform to RFC2965.
570
571       SOAP::WSDL::Server::CGI does not use cookies. A web server running a
572       SOAP::WSDL::Server::CGI script may use cookies..
573
574   R1121
575        An INSTANCE SHOULD NOT require consumer support for Cookies in order to
576        function correctly
577
578       SOAP::WSDL::Server::CGI does not use cookies. A web server running a
579       SOAP::WSDL::Server::CGI script may use cookies.
580
581   R1123
582        The value of the cookie MUST be considered to be opaque by the CONSUMER.
583
584       SOAP::WSDL::Server::CGI does not use cookies. A web server running a
585       SOAP::WSDL::Server::CGI script may use cookies.
586
587   R2028
588        A DESCRIPTION using the WSDL namespace (prefixed "wsdl" in this Profile)
589        MUST be valid according to the XML Schema found at
590        "http://schemas.xmlsoap.org/wsdl/2003-02-11.xsd".
591
592       See 2029.
593
594   R2029
595        A DESCRIPTION using the WSDL SOAP binding namespace (prefixed "soapbind"
596        in this Profile) MUST be valid according to the XML Schema found at
597        "http://schemas.xmlsoap.org/wsdl/soap/2003-02-11.xsd".
598
599       Although the Profile requires WSDL descriptions to be Schema valid, it
600       does not require consumers to validate WSDL documents.
601
602       It is the responsibility of a WSDL document's author to assure that it
603       is Schema valid.
604
605   R2001
606        A DESCRIPTION MUST only use the WSDL "import" statement to import another
607        WSDL description.
608
609       SOAP::WSDL (partially) supports the wsdl:import statement. The
610       wsdl:include statement is not supported.
611
612       It's the responsibility of the WSDL author to use only the wsdl:import
613       statement for importing WSDL descriptions.
614
615   R2002
616        To import XML Schema Definitions, a DESCRIPTION MUST use the XML Schema
617        "import" statement.
618
619       SOAP::WSDL has no means of generating WSDL definitions.
620
621   R2003
622        A DESCRIPTION MUST use the XML Schema "import" statement only within the
623        xsd:schema element of the types section.
624
625       SOAP::WSDL has no means of generating WSDL definitions.
626
627   R2004
628        A DESCRIPTION MUST NOT use the XML Schema "import" statement to import a
629        Schema from any document whose root element is not "schema" from the
630        namespace "http://www.w3.org/2001/XMLSchema".
631
632       SOAP::WSDL has no means of generating WSDL definitions.
633
634   R2009
635        An XML Schema directly or indirectly imported by a DESCRIPTION MAY include
636        the Unicode Byte Order Mark (BOM).
637
638       SOAP::WSDL has no means of generating WSDL definitions.
639
640   R2010
641        An XML Schema directly or indirectly imported by a DESCRIPTION MUST
642        use either UTF-8 or UTF-16 encoding.
643
644       SOAP::WSDL has no means of generating WSDL definitions.
645
646   R2011
647        An XML Schema directly or indirectly imported by a DESCRIPTION MUST use
648        version 1.0 of the eXtensible Markup Language W3C Recommendation.
649
650       SOAP::WSDL has no means of generating WSDL definitions.
651
652   R2007
653        A DESCRIPTION MUST specify a non-empty location attribute on the wsdl:import
654        element.
655
656       SOAP::WSDL has no means of generating WSDL definitions.
657
658   R2022
659        When they appear in a DESCRIPTION, wsdl:import elements MUST precede all
660        other elements from the WSDL namespace except wsdl:documentation.
661
662       SOAP::WSDL has no means of generating WSDL definitions.
663
664   R2023
665        When they appear in a DESCRIPTION, wsdl:types elements MUST precede all
666        other elements from the WSDL namespace except wsdl:documentation and
667        wsdl:import.
668
669       SOAP::WSDL has no means of generating WSDL definitions.
670
671   R4004
672        A DESCRIPTION MUST use version 1.0 of the eXtensible Markup Language W3C
673        Recommendation.
674
675       SOAP::WSDL has no means of generating WSDL definitions.
676
677   R2005
678        The targetNamespace attribute on the wsdl:definitions element of a
679        description that is being imported MUST have same the value as the
680        namespace attribute on the wsdl:import element in the importing
681        DESCRIPTION.
682
683       SOAP::WSDL has no means of generating WSDL definitions.
684
685   R2021
686        The wsdl:documentation element MAY occur as a child of the wsdl:part
687        element in a DESCRIPTION.
688
689       SOAP::WSDL has no means of generating WSDL definitions.
690
691   R2025
692        A DESCRIPTION containing WSDL extensions MUST NOT use them to
693        contradict other requirements of the Profile.
694
695       SOAP::WSDL has no means of generating WSDL definitions.
696
697   R2026
698        A DESCRIPTION SHOULD NOT include extension elements with a wsdl:required
699        attribute value of "true" on any WSDL construct (wsdl:binding,
700        wsdl:portType, wsdl:message, wsdl:types or wsdl:import) that claims
701        conformance to the Profile.
702
703       SOAP::WSDL has no means of generating WSDL definitions.
704
705   R2101
706        A DESCRIPTION MUST NOT use QName references to elements in namespaces that
707        have been neither imported, nor defined in the referring WSDL document.
708
709       SOAP::WSDL has no means of generating WSDL definitions.
710
711   R2102
712        A QName reference to a Schema component in a DESCRIPTION MUST use the
713        namespace defined in the targetNamespace attribute on the xsd:schema
714        element, or to a namespace defined in the namespace attribute on an
715        xsd:import element within the xsd:schema element.
716
717       SOAP::WSDL has no means of generating WSDL definitions.
718
719   R2105
720        All xsd:schema elements contained in a wsdl:types element of a
721        DESCRIPTION MUST have a targetNamespace attribute with a valid and non-null
722        value, UNLESS the xsd:schema element has xsd:import and/or
723        xsd:annotation as its only child element(s).
724
725       SOAP::WSDL has no means of generating WSDL definitions.
726
727   R2110
728        In a DESCRIPTION, array declarations MUST NOT extend or restrict the
729        soapenc:Array type.
730
731       SOAP::WSDL has no means of generating WSDL definitions.
732
733   R2111
734        In a DESCRIPTION, array declarations MUST NOT use wsdl:arrayType attribute
735        in the type declaration.
736
737       SOAP::WSDL has no means of generating WSDL definitions.
738
739   R2112
740        In a DESCRIPTION, array declaration wrapper elements SHOULD NOT be named
741        using the convention ArrayOfXXX.
742
743       SOAP::WSDL has no means of generating WSDL definitions.
744
745   R2201
746        A document-literal binding in a DESCRIPTION MUST, in each of its
747        soapbind:body element(s), have at most one part listed in the parts
748        attribute, if the parts attribute is specified.
749
750       SOAP::WSDL has no means of generating WSDL definitions.
751
752   R2210
753        If a document-literal binding in a DESCRIPTION does not specify the parts
754        attribute on a soapbind:body element, the corresponding abstract
755        wsdl:message MUST define zero or one wsdl:parts.
756
757       SOAP::WSDL has no means of generating WSDL definitions.
758
759   R2202
760        A wsdl:binding in a DESCRIPTION MAY contain soapbind:body element(s) that
761        specify that zero parts form the soap:Body.
762
763       SOAP::WSDL has no means of generating WSDL definitions.
764
765   R2203
766        An rpc-literal binding in a DESCRIPTION MUST refer, in its soapbind:body
767        element(s), only to wsdl:part element(s) that have been defined using the
768        type attribute.
769
770       SOAP::WSDL has no means of generating WSDL definitions.
771
772   R2211
773        A MESSAGE described with an rpc-literal binding MUST NOT have the xsi:nil
774        attribute with a value of "1" or "true" on the part accessors.
775
776   R2207
777        A wsdl:message in a DESCRIPTION MAY contain wsdl:parts that use the
778        elements attribute provided those wsdl:parts are not referred to by a
779        soapbind:body in an rpc-literal binding.
780
781       SOAP::WSDL has no means of generating WSDL definitions.
782
783   R2204
784        A document-literal binding in a DESCRIPTION MUST refer, in each of its
785        soapbind:body element(s), only to wsdl:part element(s) that have been
786        defined using the element attribute.
787
788       SOAP::WSDL has no means of generating WSDL definitions.
789
790       Note: SOAP::WSDL requires that a DESCRIPTION confirms to these rules.
791
792   R2208
793        A binding in a DESCRIPTION MAY contain soapbind:header element(s) that
794        refer to wsdl:parts in the same wsdl:message that are referred to by its
795        soapbind:body element(s).
796
797   R2205
798        A wsdl:binding in a DESCRIPTION MUST refer, in each of its soapbind:header,
799        soapbind:headerfault and soapbind:fault elements, only to wsdl:part
800        element(s) that have been defined using the element attribute.
801
802       SOAP::WSDL has no means of generating WSDL definitions.
803
804   R2209
805        A wsdl:binding in a DESCRIPTION SHOULD bind every wsdl:part of a
806        wsdl:message in the wsdl:portType to which it refers to one of
807        soapbind:body, soapbind:header, soapbind:fault or soapbind:headerfault.
808
809       SOAP::WSDL has no means of generating WSDL definitions.
810
811   R2206
812        A wsdl:message in a DESCRIPTION containing a wsdl:part that uses the
813        element attribute MUST refer, in that attribute, to a global element
814        declaration.
815
816       SOAP::WSDL has no means of generating WSDL definitions.
817
818   R2302
819        A DESCRIPTION MAY use the parameterOrder attribute of an
820        wsdl:operation element to indicate the return value and method
821        signatures as a hint to code generators.
822
823       SOAP::WSDL has no means of generating WSDL definitions.
824
825   R2303
826        A DESCRIPTION MUST NOT use Solicit-Response and Notification type
827        operations in a wsdl:portType definition.
828
829   R2304
830        A wsdl:portType in a DESCRIPTION MUST have operations with distinct
831        values for their name attributes.
832
833       Note: SOAP::WSDL requires that a DESCRIPTION confirms to these rules.
834
835   R2305
836        A wsdl:portType in a DESCRIPTION MUST be constructed so that the
837        parameterOrder attribute, if present, omits at most 1 wsdl:part
838        from the output message.
839
840   R2306
841        A wsdl:message in a DESCRIPTION MUST NOT specify both type and
842        element attributes on the same wsdl:part.
843
844       SOAP::WSDL has no means of generating WSDL definitions.
845
846   R2401
847        A wsdl:binding element in a DESCRIPTION MUST use WSDL SOAP
848        Binding as defined in WSDL 1.1 Section 3.
849
850       SOAP::WSDL has no means of generating WSDL definitions.
851
852   R2701
853        The wsdl:binding element in a DESCRIPTION MUST be constructed so
854        that its soapbind:binding child element specifies the transport
855        attribute.
856
857       SOAP::WSDL has no means of generating WSDL definitions.
858
859   R2702
860        A wsdl:binding element in a DESCRIPTION MUST specify the HTTP
861        transport protocol with SOAP binding. Specifically, the transport
862        attribute of its soapbind:binding child MUST have the value
863        "http://schemas.xmlsoap.org/soap/http".
864
865       SOAP::WSDL has no means of generating WSDL definitions.
866
867   R2705
868        A wsdl:binding in a DESCRIPTION MUST use either be a rpc-literal
869        binding or a document-literal binding.
870
871       SOAP::WSDL has no means of generating WSDL definitions.
872
873       Note: SOAP::WSDL does not support rpc-literal bindings yet.
874
875   R2706
876        A wsdl:binding in a DESCRIPTION MUST use the value of "literal"
877        for the use attribute in all soapbind:body, soapbind:fault,
878        soapbind:header and soapbind:headerfault elements.
879
880       SOAP::WSDL has no means of generating WSDL definitions.
881
882   R2707
883        A wsdl:binding in a DESCRIPTION that contains one or more
884        soapbind:body, soapbind:fault, soapbind:header or soapbind:headerfault
885        elements that do not specify the use attribute MUST be interpreted as
886        though the value "literal" had been specified in each case.
887
888       SOAP::WSDL has no means of generating WSDL definitions.
889
890   R2709
891        A wsdl:portType in a DESCRIPTION MAY have zero or more wsdl:bindings
892        that refer to it, defined in the same or other WSDL documents.
893
894       SOAP::WSDL has no means of generating WSDL definitions.
895
896   R2710
897        The operations in a wsdl:binding in a DESCRIPTION MUST result in wire
898        signatures that are different from one another.
899
900       SOAP::WSDL has no means of generating WSDL definitions.
901
902   R2711
903        A DESCRIPTION SHOULD NOT have more than one wsdl:port with the same
904        value for the location attribute of the soapbind:address element.
905
906       SOAP::WSDL has no means of generating WSDL definitions.
907
908   R2714
909       For one-way operations, an INSTANCE MUST NOT return a HTTP response
910       that contains a SOAP envelope. Specifically, the HTTP response entity-
911       body must be empty.
912
913       SOAP::WSDL does not act as a server, yet.
914
915   R2727
916        For one-way operations, a CONSUMER MUST NOT interpret a successful
917        HTTP response status code (i.e., 2xx) to mean the message is valid
918        or that the receiver would process it.
919
920       SOAP::WSDL regards a successful HTTP status code for a one-way
921       operation as an acknowledgement of the RECEIVER having receive (not
922       processed!)  the message.
923
924       SOAP::WSDL makes no assumptions about the processing of SOAP messages,
925       but higher level clients may do.
926
927   R2716
928        A document-literal binding in a DESCRIPTION MUST NOT have the
929        namespace attribute specified on contained soapbind:body,
930        soapbind:header, soapbind:headerfault and soapbind:fault elements.
931
932       SOAP::WSDL has no means of generating WSDL definitions.
933
934   R2717
935        An rpc-literal binding in a DESCRIPTION MUST have the namespace attribute
936        specified, the value of which MUST be an absolute URI, on
937        contained soapbind:body elements.
938
939       SOAP::WSDL has no means of generating WSDL definitions.
940
941   R2726
942        An rpc-literal binding in a DESCRIPTION MUST NOT have the namespace
943        attribute specified on contained soapbind:header, soapbind:headerfault
944        and soapbind:fault elements.
945
946       SOAP::WSDL has no means of generating WSDL definitions.
947
948   R2718
949        A wsdl:binding in a DESCRIPTION MUST have the same set of
950        wsdl:operations as the wsdl:portType to which it refers
951
952       SOAP::WSDL has no means of generating WSDL definitions.
953
954   R2719
955        A wsdl:binding in a DESCRIPTION MAY contain no soapbind:headerfault
956        elements if there are no known header faults.
957
958       SOAP::WSDL has no means of generating WSDL definitions.
959
960   R2740
961        A wsdl:binding in a DESCRIPTION SHOULD contain a  soapbind:fault describing
962        each known fault.
963
964       SOAP::WSDL has no means of generating WSDL definitions.
965
966   R2741
967        A wsdl:binding in a DESCRIPTION SHOULD contain a soapbind:headerfault
968        describing each known header fault.
969
970       SOAP::WSDL has no means of generating WSDL definitions.
971
972   R2743
973        A MESSAGE MAY contain the details of a header processing related fault in a
974        SOAP header block that is not described by a wsdl:headerfault element in the
975        corresponding WSDL description.
976
977   R2720
978        A wsdl:binding in a DESCRIPTION MUST use the attribute named part with a
979        schema type of "NMTOKEN" on all contained soapbind:header and
980        soapbind:headerfault elements.
981
982   R2749
983        A wsdl:binding in a DESCRIPTION MUST NOT use the attribute named parts on
984        contained soapbind:header and soapbind:headerfault elements.
985
986   R2721
987        A wsdl:binding in a DESCRIPTION MUST have the name attribute specified on all
988        contained soapbind:fault elements.
989
990   R2754
991        In a DESCRIPTION, the value of the name attribute on a soapbind:fault element
992        MUST match the value of the name attribute on its parent wsdl:fault element.
993
994   R2722
995        A wsdl:binding in a DESCRIPTION MAY specify the use attribute on contained
996        soapbind:fault elements.
997
998   R2723
999        If in a wsdl:binding in a DESCRIPTION the use attribute on a contained
1000        soapbind:fault element is present, its value MUST be "literal".
1001
1002   R2728
1003        A wsdl:binding in a DESCRIPTION that omits the use attribute on a contained
1004        soapbind:fault element MUST be interpreted as though use="literal" had been
1005        specified.
1006
1007   R2724
1008        If an INSTANCE receives a message that is inconsistent with its WSDL
1009        description, it SHOULD generate a soap:Fault with a faultcode of "Client",
1010        unless a "MustUnderstand" or "VersionMismatch" fault is generated.
1011
1012   R2725
1013        If an INSTANCE receives a message that is inconsistent with its WSDL
1014        description, it MUST check for "VersionMismatch", "MustUnderstand" and
1015        "Client" fault conditions in that order.
1016
1017   R2729
1018        A MESSAGE described with an rpc-literal binding that is a response message
1019        MUST have a wrapper element whose name is the corresponding wsdl:operation
1020        name suffixed with the string "Response".
1021
1022   R2735
1023        A MESSAGE described with an rpc-literal binding MUST place the part accessor
1024        elements for parameters and return value in no namespace.
1025
1026   R2737
1027        A MESSAGE described with an rpc-literal binding MUST namespace qualify the
1028        children of part accessor elements for the parameters and the return value
1029        with the targetNamespace in which their types are defined.
1030
1031   R2738
1032        A MESSAGE MUST include all soapbind:headers specified on a wsdl:input or
1033        wsdl:output of a wsdl:operation of a wsdl:binding that describes it.
1034
1035   R2739
1036        A MESSAGE MAY contain SOAP header blocks that are not described in the
1037        wsdl:binding that describes it.
1038
1039   R2753
1040        A MESSAGE containing SOAP header blocks that are not described in the
1041        appropriate wsdl:binding MAY have the mustUnderstand attribute on such SOAP
1042        header blocks set to '1'.
1043
1044   R2751
1045        The order of soapbind:header elements in soapbind:binding  sections of a
1046        DESCRIPTION MUST be considered independent of the order of SOAP header blocks
1047        in the message.
1048
1049   R2752
1050        A MESSAGE MAY contain more than one instance of each SOAP header block for
1051        each soapbind:header element in the appropriate child of soapbind:binding in
1052        the corresponding description.
1053
1054   R2801
1055        A DESCRIPTION MUST use XML Schema 1.0 Recommendation as the basis of user
1056        defined datatypes and structures.
1057
1058   R3100
1059        REGDATA of type uddi:bindingTemplate representing a conformant INSTANCE MUST
1060        contain the uddi:accessPoint element.
1061
1062   R3002
1063        REGDATA of type uddi:tModel representing a conformant Web service type MUST
1064        use WSDL as the description language.
1065
1066   R3003
1067        REGDATA of type uddi:tModel representing a conformant Web service type MUST be
1068        categorized using the uddi:types taxonomy and a categorization of "wsdlSpec".
1069
1070   R3010
1071        REGDATA of type uddi:tModel representing a conformant Web service type MUST
1072        follow V1.08 of the UDDI Best Practice for Using WSDL in a UDDI Registry.
1073
1074   R3011
1075        The wsdl:binding that is referenced by REGDATA of type uddi:tModel MUST itself
1076        conform to the Profile.
1077
1078   R5001
1079        If an INSTANCE requires the use of HTTPS, the location attribute of the
1080        soapbind:address element in its wsdl:port description MUST be a URI whose
1081        scheme is "https"; otherwise it MUST be a URI whose scheme is "http".
1082
1083       SOAP::WSDL has no means of generating WSDL definitions.
1084
1086       This file contains quotes from
1087       <http://www.ws-i.org/Profiles/BasicProfile-1.0-2004-04-16.html>. To
1088       these quotes, the legal notice from the document source applies.
1089
1090       Rest of this file: Copyright 2007 Martin Kutter.
1091
1092       This file is part of SOAP-WSDL. You may distribute/modify it under the
1093       same terms as perl itself
1094

AUTHOR

1096       Martin Kutter <martin.kutter fen-net.de>
1097

REPOSITORY INFORMATION

1099        $Rev: 562 $
1100        $LastChangedBy: kutterma $
1101        $Id: WS_I.pod 562 2008-02-22 20:32:17Z kutterma $
1102        $HeadURL: https://soap-wsdl.svn.sourceforge.net/svnroot/soap-wsdl/SOAP-WSDL/trunk/lib/SOAP/WSDL/Manual/WS_I.pod $
1103
1104
1105
1106perl v5.36.0                      2023-01-20       SOAP::WSDL::Manual::WS_I(3)
Impressum