.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.42) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "SOAP::WSDL::Manual::WS_I 3pm" .TH SOAP::WSDL::Manual::WS_I 3pm "2022-10-14" "perl v5.34.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" SOAP::WSDL::Manual::WS_I \- How SOAP::WSDL complies to WS\-I Basic Profile 1.0 .SH "DESCRIPTION" .IX Header "DESCRIPTION" This document gives an overview about how \s-1SOAP::WSDL\s0 confirms to the rules of the WS-I Basic Profile 1.0 found at .PP Errata are not yet worked in. .PP You may find rules mis-categorized, especially in the \*(L"not applicable\*(R" section. .PP Such mis-categorizations are documentation bugs, please feel free to report them. .PP Rules are categorized into the following sections: .IP "\(bu" 4 \&\s-1RULES CONFIRMED\s0 .Sp This section contains rules \s-1SOAP::WSDL\s0 follows. Conformance to these rules may be assured by a test. .IP "\(bu" 4 \&\s-1RULES NOT CONFIRMED\s0 .Sp This section contains rules \s-1SOAP::WSDL\s0 does not follow yet. These may be considered as bugs. .IP "\(bu" 4 \&\s-1RULES NOT APPLICABLE\s0 .Sp WS-I Basic Profile contains rules for web services as a whole. \s-1SOAP::WSDL\s0 only plays the part of one layer in a Web Service \s-1CONSUMER / RECEIVER,\s0 thus does not implement some parts the WS-I Basic Profile references. .Sp This section contains rules not applicable for \s-1SOAP::WSDL,\s0 because they refer to parts \s-1SOAP::WSDL\s0 does not implement. .SH "RULES CONFIRMED" .IX Header "RULES CONFIRMED" .SS "R1005" .IX Subsection "R1005" .Vb 2 \& A MESSAGE MUST NOT contain soap:encodingStyle attributes on any of the elements \& whose namespace name is "http://schemas.xmlsoap.org/soap/envelope/". .Ve .PP SOAP::WSDL::Serializer::SOAP11 does not add soap:encodingStyle attributes on any element. .SS "R1006" .IX Subsection "R1006" .Vb 2 \& A MESSAGE MUST NOT contain soap:encodingStyle attributes on any element that is \& a child of soap:Body. .Ve .PP SOAP::WSDL::Serializer::SOAP11 does not add soap:encodingStyle attributes on any element. .SS "R1008" .IX Subsection "R1008" .Vb 1 \& A MESSAGE MUST NOT contain a Document Type Declaration. .Ve .PP SOAP::WSDL::Serializer::SOAP11 does not add DTDs. .SS "R1009" .IX Subsection "R1009" .Vb 1 \& A MESSAGE MUST NOT contain Processing Instructions. .Ve .PP SOAP::WSDL::Serializer::SOAP11 does not add Processing Instructions .SS "R1010" .IX Subsection "R1010" .Vb 1 \& A RECEIVER MUST accept messages that contain an XML Declaration. .Ve .PP SOAP::WSDL::Expat::MessageParser allows the use of \s-1XML\s0 Declarations. .SS "R1011" .IX Subsection "R1011" .Vb 2 \& A MESSAGE MUST NOT have any element children of soap:Envelope following \& the soap:Body element. .Ve .PP SOAP::WSDL::Serializer::SOAP11 does not emit children of soap:Envelope following the soap:Body element. Other serializers may behave different. .SS "R1012" .IX Subsection "R1012" .Vb 1 \& A MESSAGE MUST be serialized as either UTF\-8 or UTF\-16. .Ve .PP SOAP::WSDL::Serializer::SOAP11 serializes messages as \s-1UTF\-8.\s0 .SS "R1018" .IX Subsection "R1018" .Vb 2 \& The media type of a MESSAGE\*(Aqs envelope MUST indicate the correct character \& encoding, using the charset parameter. .Ve .PP SOAP::WSDL::Transport::HTTP sets the Content-type header to \&\*(L"text/xml; charset=utf8\*(R". SOAP::Transport does, too. Other transport backends may behave different. .SS "R1014" .IX Subsection "R1014" .Vb 2 \& The children of the soap:Body element in a MESSAGE MUST be namespace \& qualified. .Ve .PP SOAP::WSDL::Serializer::SOAP11 emits namespace-qualified child elements of the soap:Body element. .SS "R1017" .IX Subsection "R1017" .Vb 3 \& A RECEIVER MUST NOT mandate the use of the xsi:type attribute in messages \& except as required in order to indicate a derived type (see XML Schema \& Part 1: Structures, Section 2.6.1). .Ve .PP SOAP::WSDL::Expat::MessageParser does not require the use of xsi:type attributes, but uses typemaps instead. .PP Other deserializers may not comply to this rule. .SS "R1028" .IX Subsection "R1028" .Vb 4 \& When a Fault is generated by a RECEIVER, further processing SHOULD NOT be \& performed on the SOAP message aside from that which is necessary to rollback, \& or compensate for, any effects of processing the message prior to the \& generation of the Fault. .Ve .PP A fault is generated when an error occurs processing the message. SOAP::WSDL::Deserializer::SOAP11 does not perform any additional processing after an error occurred. .SS "R1029" .IX Subsection "R1029" .Vb 4 \& Where the normal outcome of processing a SOAP message would have resulted \& in the transmission of a SOAP response, but rather a SOAP Fault is generated \& instead, a RECEIVER MUST transmit a SOAP Fault message in place of the \& response. .Ve .PP A fault is generated when an error occurs processing the message. .SS "R1030" .IX Subsection "R1030" .Vb 3 \& A RECEIVER that generates a SOAP Fault SHOULD notify the end user that a \& SOAP Fault has been generated when practical, by whatever means is deemed \& appropriate to the circumstance. .Ve .PP Via return value. .SS "R1140" .IX Subsection "R1140" .Vb 1 \& A MESSAGE SHOULD be sent using HTTP/1.1. .Ve .PP SOAP::WSDL::Transport::HTTP uses \s-1HTTP/1.1\s0 .SS "R1141" .IX Subsection "R1141" .Vb 1 \& A MESSAGE MUST be sent using either HTTP/1.1 or HTTP/1.0. .Ve .PP SOAP::WSDL::Transport::HTTP uses \s-1HTTP/1.1\s0 .SS "R1107" .IX Subsection "R1107" .Vb 2 \& A RECEIVER MUST interpret SOAP messages containing only a soap:Fault element \& as a Fault. .Ve .PP SOAP::WSDL::Deserializer::SOAP11 does this. .SS "R1132" .IX Subsection "R1132" .Vb 1 \& A HTTP request MESSAGE MUST use the HTTP POST method. .Ve .PP Both SOAP::WSDL::Transport::HTTP and SOAP::Transport::HTTP use \s-1POST.\s0 .SS "R1108" .IX Subsection "R1108" .Vb 1 \& A MESSAGE MUST NOT use the HTTP Extension Framework (RFC2774). .Ve .PP SOAP::WSDL::Transport::HTTP does not use the \s-1HTTP\s0 Extension framework, however SOAP::Transport::HTTP use M\-POST if \s-1POST\s0 was not successful. .PP To be sure you comply to this rule, use SOAP::WSDL::Transport::HTTP as transport backend. .SS "R1109" .IX Subsection "R1109" .Vb 2 \& The value of the SOAPAction HTTP header field in a HTTP request \& MESSAGE MUST be a quoted string. .Ve .PP SOAP::WSDL::Client always quotes the SOAPAction header. .SS "R1119" .IX Subsection "R1119" .Vb 2 \& A RECEIVER MAY respond with a Fault if the value of the SOAPAction \& HTTP header field is not quoted. .Ve .PP \&\s-1SOAP::WSDL\s0 does not apply any processing on the SOAPAction header field. .SS "R1131" .IX Subsection "R1131" .Vb 2 \& A CONSUMER MAY automatically redirect a request when it encounters a \& "307 Temporary Redirect" HTTP status code in a response. .Ve .PP LWP::UserAgent (used by SOAP::WSDL::Transport::HTTP and SOAP::Transport::HTTP) accepts up to 7 levels of redirect by default. .SS "R2113" .IX Subsection "R2113" .Vb 2 \& A MESSAGE containing serialized arrays MUST NOT include the \& soapenc:arrayType attribute. .Ve .PP \&\s-1SOAP::WSDL\s0 does not natively support soapenc::arrayType. .SS "R2114" .IX Subsection "R2114" .Vb 2 \& The target namespace for WSDL definitions and the target namespace for \& schema definitions in a DESCRIPTION MAY be the same. .Ve .PP \&\s-1SOAP::WSDL\s0 does not impose any constraints on the target namespace for \&\s-1WSDL\s0 definitions or schema definitions. .SS "R2301" .IX Subsection "R2301" .Vb 2 \& The order of the elements in the soap:body of a MESSAGE MUST be the same \& as that of the wsdl:parts in the wsdl:message that describes it. .Ve .PP \&\s-1SOAP::WSDL\s0 obeys the part order. .SS "R2712" .IX Subsection "R2712" .Vb 4 \& A document\-literal binding MUST be represented on the wire as a \& MESSAGE with a soap:Body whose child element is an instance of the \& global element declaration referenced by the corresponding wsdl:message \& part. .Ve .PP If defined accordingly in the \s-1DESCRIPTION, SOAP::WSDL\s0 issues document-literal binding operation \s-1MESSAGES\s0 conforming to this rule. .SS "R2748" .IX Subsection "R2748" .Vb 3 \& A CONSUMER MUST NOT interpret the presence of the wsdl:required attribute \& on a soapbind extension element with a value of "false" to mean the extension \& element is optional in the messages generated from the WSDL description. .Ve .PP \&\s-1SOAP::WSDL\s0 does not imterpret the wsdl:required attribute at all. .SS "R5000" .IX Subsection "R5000" .Vb 1 \& An INSTANCE MAY require the use of HTTPS. .Ve .PP \&\s-1SOAP::WSDL\s0 supports https. .SS "R5010" .IX Subsection "R5010" .Vb 1 \& An INSTANCE MAY require the use of HTTPS with mutual authentication. .Ve .PP \&\s-1SOAP::WSDL\s0 supports all kinds of authentication known to LWP::UserAgent .SS "R2742" .IX Subsection "R2742" .Vb 2 \& A MESSAGE MAY contain a fault detail entry in a SOAP fault that is not \& described by a wsdl:fault element in the corresponding WSDL description. .Ve .PP \&\s-1SOAP::WSDL\s0 does not emit such faults. Such faults can be processed by adding custom maps to the type maps for SOAP::WSDL::Expat::MessageParser. .SS "R2744" .IX Subsection "R2744" .Vb 3 \& A HTTP request MESSAGE MUST contain a SOAPAction HTTP header field with a \& quoted value equal to the value of the soapAction attribute of \& soapbind:operation, if present in the corresponding WSDL description. .Ve .PP \&\s-1SOAP::WSDL\s0 uses the soapAction attribute from soapbind:operation as SOAPAction header in generated code. .PP Alternative \s-1WSDL\s0 parsers / code generator have to assure they pass the correct soap_action to SOAP::WSDL::Client. .PP The interpreting \s-1SOAP::WSDL\s0 client does not conform to this rule, but \*(L"guesses\*(R" the SOAPAction header from the operation name and the top node's namespace. .SS "R2745" .IX Subsection "R2745" .Vb 4 \& A HTTP request MESSAGE MUST contain a SOAPAction HTTP header field with a \& quoted empty string value, if in the corresponding WSDL description, the \& soapAction of soapbind:operation is either not present, or present with an \& empty string as its value. .Ve .PP SOAP::WSDL::Client always assures the SOAPaction header is quoted, thus automatically inserts the empty string if no SOAPAction header is defined. .SS "R1015" .IX Subsection "R1015" .Vb 3 \& A RECEIVER MUST generate a fault if they encounter a message whose document \& element has a local name of "Envelope" but a namespace name that is not \& "http://schemas.xmlsoap.org/soap/envelope/". .Ve .PP SOAP::WSDL::Expat::MessageParser checks the namespace of the \s-1SOAP\s0 envelope. .PP SOAP::WSDL::Expat::MessageParser does not check that Envelope is the root element, yet. .SS "R1110" .IX Subsection "R1110" .Vb 1 \& An INSTANCE MAY accept connections on TCP port 80 (HTTP) .Ve .PP SOAP::WSDL::Server::CGI may be used in a web server listening at port 80. .SS "R1124" .IX Subsection "R1124" .Vb 2 \& An INSTANCE MUST use a 2xx HTTP status code for responses that \& indicate a successful outcome of a request. .Ve .PP SOAP::WSDL::Server::CGI sends a 2xx \s-1HTTP\s0 status code for successful requests. .SS "R1111" .IX Subsection "R1111" .Vb 2 \& An INSTANCE SHOULD use a "200 OK" HTTP status code for responses \& that contain a SOAP message that is not a SOAP fault. .Ve .PP SOAP::WSDL::Server::CGI does this. .SS "R1112" .IX Subsection "R1112" .Vb 3 \& An INSTANCE SHOULD use either a "200 OK" or "202 Accepted" HTTP \& status code for a response that does do not contain a SOAP message \& but indicates successful HTTP outcome of a request. .Ve .PP SOAP::WSDL::Server::CGI does this. .SS "R1130" .IX Subsection "R1130" .Vb 2 \& An INSTANCE MUST use HTTP status code "307 Temporary Redirect" \& when redirecting a request to a different endpoint. .Ve .PP SOAP::WSDL::Server::CGI has no means of redirecting. The web server running a SOAP::WSDL::Server::CGI script is responsible for redirecting with a 307 \&\s-1HTTP\s0 status code. .SS "R1125" .IX Subsection "R1125" .Vb 2 \& An INSTANCE MUST use a 4xx HTTP status code for responses that indicate \& a problem with the format of the request. .Ve .PP \&\s-1SOAP::WSDL\s0 does this. .SS "R1113" .IX Subsection "R1113" .Vb 2 \& An INSTANCE SHOULD use a "400 Bad Request "HTTP status code, if the \& request message is a malformed HTTP request, or not well\-formed XML. .Ve .PP \&\s-1SOAP::WSDL\s0 does this. .SS "R1114" .IX Subsection "R1114" .Vb 2 \& An INSTANCE SHOULD use a "405 Method not Allowed" HTTP status code if the \& request method was not "POST". .Ve .PP \&\s-1SOAP::WSDL\s0 does this. .SS "R1115" .IX Subsection "R1115" .Vb 3 \& An INSTANCE SHOULD use a "415 Unsupported Media Type" HTTP status code if \& the Content\-Type HTTP request header did not have a value consistent with \& the value specified for the corresponding binding of the input message. .Ve .PP SOAP::WSDL::Server::CGI does not support any content type other than text/xml and application/xml yet. .SH "RULES NOT CONFIRMED" .IX Header "RULES NOT CONFIRMED" .SS "R4001" .IX Subsection "R4001" .Vb 2 \& A RECEIVER MUST accept messages that include the Unicode Byte Order Mark \& (BOM). .Ve .PP May automatically work with XML::Parser::Expat, but is not tested yet. .PP \&\s-1TODO\s0 write test. If not confirmed, add encoding support. .SS "R1002" .IX Subsection "R1002" .Vb 3 \& A RECEIVER MUST accept fault messages that have any number of elements, \& including zero, appearing as children of the detail element. Such children \& can be qualified or unqualified. .Ve .PP Partially confirmed: This only works when the fault detail elements are added to the deserializer's typemap. .PP \&\s-1TODO\s0 add processing of arbitrary content of faults to SOAP::WSDL::Expat::MessageParser .SS "R1003" .IX Subsection "R1003" .Vb 4 \& A RECEIVER MUST accept fault messages that have any number of qualified or \& unqualified attributes, including zero, appearing on the detail element. \& The namespace of qualified attributes can be anything other than \& "http://schemas.xmlsoap.org/soap/envelope/". .Ve .PP \&\s-1TODO\s0 add processing of arbitrary attributes to SOAP::WSDL::SOAP::Typelib::Fault11 .SS "R1016" .IX Subsection "R1016" .Vb 2 \& A RECEIVER MUST accept fault messages that carry an xml:lang attribute on \& the faultstring element. .Ve .PP SOAP::WSDL::Expat::MessageParser currently ignores all attributes. .PP \&\s-1TODO\s0 add processing of the xml:lang attribute to SOAP::WSDL::SOAP::Typelib::Fault11 .SS "R1007" .IX Subsection "R1007" .Vb 2 \& A MESSAGE described in an rpc\-literal binding MUST NOT contain soap:encodingStyle \& attribute on any elements are grandchildren of soap:Body. .Ve .PP SOAP::WSDL::Serializer::SOAP11 does not add soap:encodingStyle attributes on any element. .PP However, rpc-literal bindings are not supported, yet. .PP \&\s-1TODO\s0 support rpc-literal bindings. .SS "R2008" .IX Subsection "R2008" .Vb 2 \& In a DESCRIPTION the value of the location attribute of a wsdl:import element \& SHOULD be treated as a hint. .Ve .PP The wsdl:import element imports the referenced \s-1WSDL\s0 definition. .PP This is rather hard-wired and does not allow one to specify a wsdl:import without a resolvable location in \s-1SOAP::WSDL.\s0 .SS "R4002" .IX Subsection "R4002" .Vb 1 \& A DESCRIPTION MAY include the Unicode Byte Order Mark (BOM). .Ve .PP \&\s-1TODO\s0 Test. .SS "R4003" .IX Subsection "R4003" .Vb 1 \& A DESCRIPTION MUST use either UTF\-8 or UTF\-16 encoding. .Ve .PP \&\s-1TODO\s0 Test whether \s-1UTF\-16\s0 works. .SS "R2020" .IX Subsection "R2020" .Vb 2 \& The wsdl:documentation element MAY occur as a child of the wsdl:import \& element in a DESCRIPTION. .Ve .PP Not tested yet. .SS "R2024" .IX Subsection "R2024" .Vb 2 \& The wsdl:documentation element MAY occur as a first child of the \& wsdl:definitions element in a DESCRIPTION. .Ve .PP \&\s-1TODO\s0 Test. .SS "R2027" .IX Subsection "R2027" .Vb 5 \& If during the processing of an element in the WSDL namespace in a \& description, a consumer encounters a WSDL extension element amongst \& its element children, that has a wsdl:required attribute with a boolean \& value of "true" that the consumer does not understand or cannot process, \& the CONSUMER MUST fail processing of that element in the WSDL namespace. .Ve .PP \&\s-1TODO\s0 Implement support for wsdl:required .SS "R2750" .IX Subsection "R2750" .Vb 2 \& A CONSUMER MUST ignore a SOAP response carried in a response from a \& one\-way operation. .Ve .PP \&\s-1SOAP::WSDL\s0 does not ignore the \s-1SOAP\s0 response from a one way operation yet. .PP \&\s-1TODO\s0 Define operation type signature, and ignore result from one way operations. .SS "R2747" .IX Subsection "R2747" .Vb 4 \& A CONSUMER MUST understand and process all WSDL 1.1 SOAP Binding extension \& elements, irrespective of the presence or absence of the wsdl:required \& attribute on an extension element; and irrespective of the value of the \& wsdl:required attribute, when present. .Ve .PP \&\s-1SOAP::WSDL\s0 does not implement all \s-1WSDL 1.1 SOAP\s0 Binding extension yet. .PP \&\s-1TODO\s0 check and implement. .SS "R2800" .IX Subsection "R2800" .Vb 1 \& A DESCRIPTION MAY use any construct from XML Schema 1.0. .Ve .PP \&\s-1SOAP::WSDL\s0's \s-1WSDL\s0 parser doen not allow all constructs from \s-1XML\s0 Schema 1.0 to be used. .PP \&\s-1TODO\s0 become \*(L"minimal conformant\*(R". .SH "RULES NOT APPLICABLE" .IX Header "RULES NOT APPLICABLE" .SS "R0004" .IX Subsection "R0004" .Vb 1 \& A MESSAGE MAY contain conformance claims, as specified in the conformance claim schema. .Ve .PP SOAP::WSDL::Serializer::SOAP11 does not add conformance claims. Other serializers may act different. .SS "R0005" .IX Subsection "R0005" .Vb 1 \& A MESSAGE\*(Aqs conformance claims MUST be carried as SOAP header blocks. .Ve .PP SOAP::WSDL::Serializer::SOAP11 does not add conformance claims. Other serializers may act different. .SS "R0006" .IX Subsection "R0006" .Vb 1 \& A MESSAGE MAY contain conformance claims for more than one profile. .Ve .PP SOAP::WSDL::Serializer::SOAP11 does not add conformance claims. Other serializers may act different. .SS "R0007" .IX Subsection "R0007" .Vb 2 \& A SENDER MUST NOT use the soap:mustUnderstand attribute when sending a SOAP \& header block containing a conformance claim. .Ve .PP SOAP::WSDL::Serializer::SOAP11 does not add conformance claims. Other serializers may act different. .SS "R3020" .IX Subsection "R3020" .Vb 2 \& REGDATA of type uddi:tModel claiming conformance with a Profile MUST be \& categorized using the ws\-i\-org:conformsTo:2002_12 taxonomy. .Ve .PP \&\s-1SOAP::WSDL\s0 does not publish web services yet. .SS "R3030" .IX Subsection "R3030" .Vb 3 \& REGDATA of type uddi:tModel claiming conformance with a Profile MUST use \& the ws\-i\-org:conformsTo:2002_12 categorization value corresponding to \& the conformance claim URI for that Profile. .Ve .PP \&\s-1SOAP::WSDL\s0 does not publish web services yet. .SS "R3021" .IX Subsection "R3021" .Vb 2 \& A REGISTRY MUST support the WS\-I Conformance category system by adding \& the ws\-i\-org:conformsTo:2002_12 tModel definition to its registry content. .Ve .PP \&\s-1SOAP::WSDL\s0 does not publish web services yet. .SS "R3005" .IX Subsection "R3005" .Vb 3 \& REGDATA other than uddi:tModel elements representing conformant Web service \& types MUST NOT be categorized using the ws\-i\-org:conformsTo:2002_12 \& taxonomy and a categorization of "http://ws\-i.org/profiles/basic/1.0". .Ve .PP \&\s-1SOAP::WSDL\s0 does not publish web services yet. .SS "R3004" .IX Subsection "R3004" .Vb 3 \& REGDATA of type uddi:tModel MUST be constructed so that the conformance \& claim it makes is consistent with the conformance claim made by the \& wsdl:binding to which it refers. .Ve .PP \&\s-1SOAP::WSDL\s0 does not publish web services yet. .SS "R1000" .IX Subsection "R1000" .Vb 2 \& When a MESSAGE contains a soap:Fault element, that element MUST NOT have element \& children other than faultcode, faultstring, faultactor and detail. .Ve .PP \&\s-1SOAP::WSDL\s0 does not send fault messages. However, SOAP::WSDL::SOAP::Typelib::Fault11 complies to this rule. .SS "R1001" .IX Subsection "R1001" .Vb 2 \& When a MESSAGE contains a soap:Fault element its element children MUST be \& unqualified. .Ve .PP \&\s-1SOAP::WSDL\s0 does not send fault messages. However, SOAP::WSDL::SOAP::Typelib::Fault11 complies to this rule. .SS "R1004" .IX Subsection "R1004" .Vb 3 \& When a MESSAGE contains a faultcode element the content of that element \& SHOULD be one of the fault codes defined in SOAP 1.1 or a namespace qualified \& fault code. .Ve .PP \&\s-1SOAP::WSDL\s0 does not send fault messages. However, the fault issued by SOAP::WSDL::Deserializer comply to this rule. .SS "R1031" .IX Subsection "R1031" .Vb 2 \& When a MESSAGE contains a faultcode element the content of that element SHOULD \& NOT use of the SOAP 1.1 "dot" notation to refine the meaning of the Fault. .Ve .PP \&\s-1SOAP::WSDL\s0 does not send fault messages. However, the fault issued by SOAP::WSDL::Deserializer comply to this rule. .SS "R1013" .IX Subsection "R1013" .Vb 2 \& A MESSAGE containing a soap:mustUnderstand attribute MUST only use the lexical \& forms "0" and "1". .Ve .PP \&\s-1SOAP::WSDL\s0 does not add soap:mustUnderstand attributes. .SS "R1025" .IX Subsection "R1025" .Vb 3 \& A RECEIVER MUST handle messages in such a way that it appears that all \& checking of mandatory header blocks is performed before any actual \& processing. .Ve .PP \&\s-1SOAP::WSDL\s0 does not check mandatory header blocks yet. .SS "R1027" .IX Subsection "R1027" .Vb 4 \& A RECEIVER MUST generate a "soap:MustUnderstand" fault when a message \& contains a mandatory header block (i.e., one that has a soap:mustUnderstand \& attribute with the value "1") targeted at the receiver (via soap:actor) \& that the receiver does not understand. .Ve .PP \&\s-1SOAP::WSDL\s0 does not check mandatory header blocks yet. .SS "R1120" .IX Subsection "R1120" .Vb 1 \& An INSTANCE MAY use the HTTP state mechanism ("Cookies"). .Ve .PP SOAP::WSDL::Server::CGI does not use cookies. A web server running a SOAP::WSDL::Server::CGI script may use cookies.. .SS "R1122" .IX Subsection "R1122" .Vb 1 \& An INSTANCE using Cookies SHOULD conform to RFC2965. .Ve .PP SOAP::WSDL::Server::CGI does not use cookies. A web server running a SOAP::WSDL::Server::CGI script may use cookies.. .SS "R1121" .IX Subsection "R1121" .Vb 2 \& An INSTANCE SHOULD NOT require consumer support for Cookies in order to \& function correctly .Ve .PP SOAP::WSDL::Server::CGI does not use cookies. A web server running a SOAP::WSDL::Server::CGI script may use cookies. .SS "R1123" .IX Subsection "R1123" .Vb 1 \& The value of the cookie MUST be considered to be opaque by the CONSUMER. .Ve .PP SOAP::WSDL::Server::CGI does not use cookies. A web server running a SOAP::WSDL::Server::CGI script may use cookies. .SS "R2028" .IX Subsection "R2028" .Vb 3 \& A DESCRIPTION using the WSDL namespace (prefixed "wsdl" in this Profile) \& MUST be valid according to the XML Schema found at \& "http://schemas.xmlsoap.org/wsdl/2003\-02\-11.xsd". .Ve .PP See 2029. .SS "R2029" .IX Subsection "R2029" .Vb 3 \& A DESCRIPTION using the WSDL SOAP binding namespace (prefixed "soapbind" \& in this Profile) MUST be valid according to the XML Schema found at \& "http://schemas.xmlsoap.org/wsdl/soap/2003\-02\-11.xsd". .Ve .PP Although the Profile requires \s-1WSDL\s0 descriptions to be Schema valid, it does not require consumers to validate \s-1WSDL\s0 documents. .PP It is the responsibility of a \s-1WSDL\s0 document's author to assure that it is Schema valid. .SS "R2001" .IX Subsection "R2001" .Vb 2 \& A DESCRIPTION MUST only use the WSDL "import" statement to import another \& WSDL description. .Ve .PP \&\s-1SOAP::WSDL\s0 (partially) supports the wsdl:import statement. The wsdl:include statement is not supported. .PP It's the responsibility of the \s-1WSDL\s0 author to use only the wsdl:import statement for importing \s-1WSDL\s0 descriptions. .SS "R2002" .IX Subsection "R2002" .Vb 2 \& To import XML Schema Definitions, a DESCRIPTION MUST use the XML Schema \& "import" statement. .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .SS "R2003" .IX Subsection "R2003" .Vb 2 \& A DESCRIPTION MUST use the XML Schema "import" statement only within the \& xsd:schema element of the types section. .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .SS "R2004" .IX Subsection "R2004" .Vb 3 \& A DESCRIPTION MUST NOT use the XML Schema "import" statement to import a \& Schema from any document whose root element is not "schema" from the \& namespace "http://www.w3.org/2001/XMLSchema". .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .SS "R2009" .IX Subsection "R2009" .Vb 2 \& An XML Schema directly or indirectly imported by a DESCRIPTION MAY include \& the Unicode Byte Order Mark (BOM). .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .SS "R2010" .IX Subsection "R2010" .Vb 2 \& An XML Schema directly or indirectly imported by a DESCRIPTION MUST \& use either UTF\-8 or UTF\-16 encoding. .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .SS "R2011" .IX Subsection "R2011" .Vb 2 \& An XML Schema directly or indirectly imported by a DESCRIPTION MUST use \& version 1.0 of the eXtensible Markup Language W3C Recommendation. .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .SS "R2007" .IX Subsection "R2007" .Vb 2 \& A DESCRIPTION MUST specify a non\-empty location attribute on the wsdl:import \& element. .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .SS "R2022" .IX Subsection "R2022" .Vb 2 \& When they appear in a DESCRIPTION, wsdl:import elements MUST precede all \& other elements from the WSDL namespace except wsdl:documentation. .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .SS "R2023" .IX Subsection "R2023" .Vb 3 \& When they appear in a DESCRIPTION, wsdl:types elements MUST precede all \& other elements from the WSDL namespace except wsdl:documentation and \& wsdl:import. .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .SS "R4004" .IX Subsection "R4004" .Vb 2 \& A DESCRIPTION MUST use version 1.0 of the eXtensible Markup Language W3C \& Recommendation. .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .SS "R2005" .IX Subsection "R2005" .Vb 4 \& The targetNamespace attribute on the wsdl:definitions element of a \& description that is being imported MUST have same the value as the \& namespace attribute on the wsdl:import element in the importing \& DESCRIPTION. .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .SS "R2021" .IX Subsection "R2021" .Vb 2 \& The wsdl:documentation element MAY occur as a child of the wsdl:part \& element in a DESCRIPTION. .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .SS "R2025" .IX Subsection "R2025" .Vb 2 \& A DESCRIPTION containing WSDL extensions MUST NOT use them to \& contradict other requirements of the Profile. .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .SS "R2026" .IX Subsection "R2026" .Vb 4 \& A DESCRIPTION SHOULD NOT include extension elements with a wsdl:required \& attribute value of "true" on any WSDL construct (wsdl:binding, \& wsdl:portType, wsdl:message, wsdl:types or wsdl:import) that claims \& conformance to the Profile. .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .SS "R2101" .IX Subsection "R2101" .Vb 2 \& A DESCRIPTION MUST NOT use QName references to elements in namespaces that \& have been neither imported, nor defined in the referring WSDL document. .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .SS "R2102" .IX Subsection "R2102" .Vb 4 \& A QName reference to a Schema component in a DESCRIPTION MUST use the \& namespace defined in the targetNamespace attribute on the xsd:schema \& element, or to a namespace defined in the namespace attribute on an \& xsd:import element within the xsd:schema element. .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .SS "R2105" .IX Subsection "R2105" .Vb 4 \& All xsd:schema elements contained in a wsdl:types element of a \& DESCRIPTION MUST have a targetNamespace attribute with a valid and non\-null \& value, UNLESS the xsd:schema element has xsd:import and/or \& xsd:annotation as its only child element(s). .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .SS "R2110" .IX Subsection "R2110" .Vb 2 \& In a DESCRIPTION, array declarations MUST NOT extend or restrict the \& soapenc:Array type. .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .SS "R2111" .IX Subsection "R2111" .Vb 2 \& In a DESCRIPTION, array declarations MUST NOT use wsdl:arrayType attribute \& in the type declaration. .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .SS "R2112" .IX Subsection "R2112" .Vb 2 \& In a DESCRIPTION, array declaration wrapper elements SHOULD NOT be named \& using the convention ArrayOfXXX. .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .SS "R2201" .IX Subsection "R2201" .Vb 3 \& A document\-literal binding in a DESCRIPTION MUST, in each of its \& soapbind:body element(s), have at most one part listed in the parts \& attribute, if the parts attribute is specified. .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .SS "R2210" .IX Subsection "R2210" .Vb 3 \& If a document\-literal binding in a DESCRIPTION does not specify the parts \& attribute on a soapbind:body element, the corresponding abstract \& wsdl:message MUST define zero or one wsdl:parts. .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .SS "R2202" .IX Subsection "R2202" .Vb 2 \& A wsdl:binding in a DESCRIPTION MAY contain soapbind:body element(s) that \& specify that zero parts form the soap:Body. .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .SS "R2203" .IX Subsection "R2203" .Vb 3 \& An rpc\-literal binding in a DESCRIPTION MUST refer, in its soapbind:body \& element(s), only to wsdl:part element(s) that have been defined using the \& type attribute. .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .SS "R2211" .IX Subsection "R2211" .Vb 2 \& A MESSAGE described with an rpc\-literal binding MUST NOT have the xsi:nil \& attribute with a value of "1" or "true" on the part accessors. .Ve .SS "R2207" .IX Subsection "R2207" .Vb 3 \& A wsdl:message in a DESCRIPTION MAY contain wsdl:parts that use the \& elements attribute provided those wsdl:parts are not referred to by a \& soapbind:body in an rpc\-literal binding. .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .SS "R2204" .IX Subsection "R2204" .Vb 3 \& A document\-literal binding in a DESCRIPTION MUST refer, in each of its \& soapbind:body element(s), only to wsdl:part element(s) that have been \& defined using the element attribute. .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .PP Note: \s-1SOAP::WSDL\s0 requires that a \s-1DESCRIPTION\s0 confirms to these rules. .SS "R2208" .IX Subsection "R2208" .Vb 3 \& A binding in a DESCRIPTION MAY contain soapbind:header element(s) that \& refer to wsdl:parts in the same wsdl:message that are referred to by its \& soapbind:body element(s). .Ve .SS "R2205" .IX Subsection "R2205" .Vb 3 \& A wsdl:binding in a DESCRIPTION MUST refer, in each of its soapbind:header, \& soapbind:headerfault and soapbind:fault elements, only to wsdl:part \& element(s) that have been defined using the element attribute. .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .SS "R2209" .IX Subsection "R2209" .Vb 3 \& A wsdl:binding in a DESCRIPTION SHOULD bind every wsdl:part of a \& wsdl:message in the wsdl:portType to which it refers to one of \& soapbind:body, soapbind:header, soapbind:fault or soapbind:headerfault. .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .SS "R2206" .IX Subsection "R2206" .Vb 3 \& A wsdl:message in a DESCRIPTION containing a wsdl:part that uses the \& element attribute MUST refer, in that attribute, to a global element \& declaration. .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .SS "R2302" .IX Subsection "R2302" .Vb 3 \& A DESCRIPTION MAY use the parameterOrder attribute of an \& wsdl:operation element to indicate the return value and method \& signatures as a hint to code generators. .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .SS "R2303" .IX Subsection "R2303" .Vb 2 \& A DESCRIPTION MUST NOT use Solicit\-Response and Notification type \& operations in a wsdl:portType definition. .Ve .SS "R2304" .IX Subsection "R2304" .Vb 2 \& A wsdl:portType in a DESCRIPTION MUST have operations with distinct \& values for their name attributes. .Ve .PP Note: \s-1SOAP::WSDL\s0 requires that a \s-1DESCRIPTION\s0 confirms to these rules. .SS "R2305" .IX Subsection "R2305" .Vb 3 \& A wsdl:portType in a DESCRIPTION MUST be constructed so that the \& parameterOrder attribute, if present, omits at most 1 wsdl:part \& from the output message. .Ve .SS "R2306" .IX Subsection "R2306" .Vb 2 \& A wsdl:message in a DESCRIPTION MUST NOT specify both type and \& element attributes on the same wsdl:part. .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .SS "R2401" .IX Subsection "R2401" .Vb 2 \& A wsdl:binding element in a DESCRIPTION MUST use WSDL SOAP \& Binding as defined in WSDL 1.1 Section 3. .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .SS "R2701" .IX Subsection "R2701" .Vb 3 \& The wsdl:binding element in a DESCRIPTION MUST be constructed so \& that its soapbind:binding child element specifies the transport \& attribute. .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .SS "R2702" .IX Subsection "R2702" .Vb 4 \& A wsdl:binding element in a DESCRIPTION MUST specify the HTTP \& transport protocol with SOAP binding. Specifically, the transport \& attribute of its soapbind:binding child MUST have the value \& "http://schemas.xmlsoap.org/soap/http". .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .SS "R2705" .IX Subsection "R2705" .Vb 2 \& A wsdl:binding in a DESCRIPTION MUST use either be a rpc\-literal \& binding or a document\-literal binding. .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .PP Note: \s-1SOAP::WSDL\s0 does not support rpc-literal bindings yet. .SS "R2706" .IX Subsection "R2706" .Vb 3 \& A wsdl:binding in a DESCRIPTION MUST use the value of "literal" \& for the use attribute in all soapbind:body, soapbind:fault, \& soapbind:header and soapbind:headerfault elements. .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .SS "R2707" .IX Subsection "R2707" .Vb 4 \& A wsdl:binding in a DESCRIPTION that contains one or more \& soapbind:body, soapbind:fault, soapbind:header or soapbind:headerfault \& elements that do not specify the use attribute MUST be interpreted as \& though the value "literal" had been specified in each case. .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .SS "R2709" .IX Subsection "R2709" .Vb 2 \& A wsdl:portType in a DESCRIPTION MAY have zero or more wsdl:bindings \& that refer to it, defined in the same or other WSDL documents. .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .SS "R2710" .IX Subsection "R2710" .Vb 2 \& The operations in a wsdl:binding in a DESCRIPTION MUST result in wire \& signatures that are different from one another. .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .SS "R2711" .IX Subsection "R2711" .Vb 2 \& A DESCRIPTION SHOULD NOT have more than one wsdl:port with the same \& value for the location attribute of the soapbind:address element. .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .SS "R2714" .IX Subsection "R2714" For one-way operations, an \s-1INSTANCE MUST NOT\s0 return a \s-1HTTP\s0 response that contains a \s-1SOAP\s0 envelope. Specifically, the \s-1HTTP\s0 response entity-body must be empty. .PP \&\s-1SOAP::WSDL\s0 does not act as a server, yet. .SS "R2727" .IX Subsection "R2727" .Vb 3 \& For one\-way operations, a CONSUMER MUST NOT interpret a successful \& HTTP response status code (i.e., 2xx) to mean the message is valid \& or that the receiver would process it. .Ve .PP \&\s-1SOAP::WSDL\s0 regards a successful \s-1HTTP\s0 status code for a one-way operation as an acknowledgement of the \s-1RECEIVER\s0 having receive (not processed!) the message. .PP \&\s-1SOAP::WSDL\s0 makes no assumptions about the processing of \s-1SOAP\s0 messages, but higher level clients may do. .SS "R2716" .IX Subsection "R2716" .Vb 3 \& A document\-literal binding in a DESCRIPTION MUST NOT have the \& namespace attribute specified on contained soapbind:body, \& soapbind:header, soapbind:headerfault and soapbind:fault elements. .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .SS "R2717" .IX Subsection "R2717" .Vb 3 \& An rpc\-literal binding in a DESCRIPTION MUST have the namespace attribute \& specified, the value of which MUST be an absolute URI, on \& contained soapbind:body elements. .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .SS "R2726" .IX Subsection "R2726" .Vb 3 \& An rpc\-literal binding in a DESCRIPTION MUST NOT have the namespace \& attribute specified on contained soapbind:header, soapbind:headerfault \& and soapbind:fault elements. .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .SS "R2718" .IX Subsection "R2718" .Vb 2 \& A wsdl:binding in a DESCRIPTION MUST have the same set of \& wsdl:operations as the wsdl:portType to which it refers .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .SS "R2719" .IX Subsection "R2719" .Vb 2 \& A wsdl:binding in a DESCRIPTION MAY contain no soapbind:headerfault \& elements if there are no known header faults. .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .SS "R2740" .IX Subsection "R2740" .Vb 2 \& A wsdl:binding in a DESCRIPTION SHOULD contain a soapbind:fault describing \& each known fault. .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .SS "R2741" .IX Subsection "R2741" .Vb 2 \& A wsdl:binding in a DESCRIPTION SHOULD contain a soapbind:headerfault \& describing each known header fault. .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .SS "R2743" .IX Subsection "R2743" .Vb 3 \& A MESSAGE MAY contain the details of a header processing related fault in a \& SOAP header block that is not described by a wsdl:headerfault element in the \& corresponding WSDL description. .Ve .SS "R2720" .IX Subsection "R2720" .Vb 3 \& A wsdl:binding in a DESCRIPTION MUST use the attribute named part with a \& schema type of "NMTOKEN" on all contained soapbind:header and \& soapbind:headerfault elements. .Ve .SS "R2749" .IX Subsection "R2749" .Vb 2 \& A wsdl:binding in a DESCRIPTION MUST NOT use the attribute named parts on \& contained soapbind:header and soapbind:headerfault elements. .Ve .SS "R2721" .IX Subsection "R2721" .Vb 2 \& A wsdl:binding in a DESCRIPTION MUST have the name attribute specified on all \& contained soapbind:fault elements. .Ve .SS "R2754" .IX Subsection "R2754" .Vb 2 \& In a DESCRIPTION, the value of the name attribute on a soapbind:fault element \& MUST match the value of the name attribute on its parent wsdl:fault element. .Ve .SS "R2722" .IX Subsection "R2722" .Vb 2 \& A wsdl:binding in a DESCRIPTION MAY specify the use attribute on contained \& soapbind:fault elements. .Ve .SS "R2723" .IX Subsection "R2723" .Vb 2 \& If in a wsdl:binding in a DESCRIPTION the use attribute on a contained \& soapbind:fault element is present, its value MUST be "literal". .Ve .SS "R2728" .IX Subsection "R2728" .Vb 3 \& A wsdl:binding in a DESCRIPTION that omits the use attribute on a contained \& soapbind:fault element MUST be interpreted as though use="literal" had been \& specified. .Ve .SS "R2724" .IX Subsection "R2724" .Vb 3 \& If an INSTANCE receives a message that is inconsistent with its WSDL \& description, it SHOULD generate a soap:Fault with a faultcode of "Client", \& unless a "MustUnderstand" or "VersionMismatch" fault is generated. .Ve .SS "R2725" .IX Subsection "R2725" .Vb 3 \& If an INSTANCE receives a message that is inconsistent with its WSDL \& description, it MUST check for "VersionMismatch", "MustUnderstand" and \& "Client" fault conditions in that order. .Ve .SS "R2729" .IX Subsection "R2729" .Vb 3 \& A MESSAGE described with an rpc\-literal binding that is a response message \& MUST have a wrapper element whose name is the corresponding wsdl:operation \& name suffixed with the string "Response". .Ve .SS "R2735" .IX Subsection "R2735" .Vb 2 \& A MESSAGE described with an rpc\-literal binding MUST place the part accessor \& elements for parameters and return value in no namespace. .Ve .SS "R2737" .IX Subsection "R2737" .Vb 3 \& A MESSAGE described with an rpc\-literal binding MUST namespace qualify the \& children of part accessor elements for the parameters and the return value \& with the targetNamespace in which their types are defined. .Ve .SS "R2738" .IX Subsection "R2738" .Vb 2 \& A MESSAGE MUST include all soapbind:headers specified on a wsdl:input or \& wsdl:output of a wsdl:operation of a wsdl:binding that describes it. .Ve .SS "R2739" .IX Subsection "R2739" .Vb 2 \& A MESSAGE MAY contain SOAP header blocks that are not described in the \& wsdl:binding that describes it. .Ve .SS "R2753" .IX Subsection "R2753" .Vb 3 \& A MESSAGE containing SOAP header blocks that are not described in the \& appropriate wsdl:binding MAY have the mustUnderstand attribute on such SOAP \& header blocks set to \*(Aq1\*(Aq. .Ve .SS "R2751" .IX Subsection "R2751" .Vb 3 \& The order of soapbind:header elements in soapbind:binding sections of a \& DESCRIPTION MUST be considered independent of the order of SOAP header blocks \& in the message. .Ve .SS "R2752" .IX Subsection "R2752" .Vb 3 \& A MESSAGE MAY contain more than one instance of each SOAP header block for \& each soapbind:header element in the appropriate child of soapbind:binding in \& the corresponding description. .Ve .SS "R2801" .IX Subsection "R2801" .Vb 2 \& A DESCRIPTION MUST use XML Schema 1.0 Recommendation as the basis of user \& defined datatypes and structures. .Ve .SS "R3100" .IX Subsection "R3100" .Vb 2 \& REGDATA of type uddi:bindingTemplate representing a conformant INSTANCE MUST \& contain the uddi:accessPoint element. .Ve .SS "R3002" .IX Subsection "R3002" .Vb 2 \& REGDATA of type uddi:tModel representing a conformant Web service type MUST \& use WSDL as the description language. .Ve .SS "R3003" .IX Subsection "R3003" .Vb 2 \& REGDATA of type uddi:tModel representing a conformant Web service type MUST be \& categorized using the uddi:types taxonomy and a categorization of "wsdlSpec". .Ve .SS "R3010" .IX Subsection "R3010" .Vb 2 \& REGDATA of type uddi:tModel representing a conformant Web service type MUST \& follow V1.08 of the UDDI Best Practice for Using WSDL in a UDDI Registry. .Ve .SS "R3011" .IX Subsection "R3011" .Vb 2 \& The wsdl:binding that is referenced by REGDATA of type uddi:tModel MUST itself \& conform to the Profile. .Ve .SS "R5001" .IX Subsection "R5001" .Vb 3 \& If an INSTANCE requires the use of HTTPS, the location attribute of the \& soapbind:address element in its wsdl:port description MUST be a URI whose \& scheme is "https"; otherwise it MUST be a URI whose scheme is "http". .Ve .PP \&\s-1SOAP::WSDL\s0 has no means of generating \s-1WSDL\s0 definitions. .SH "LICENSE AND COPYRIGHT" .IX Header "LICENSE AND COPYRIGHT" This file contains quotes from . To these quotes, the legal notice from the document source applies. .PP Rest of this file: Copyright 2007 Martin Kutter. .PP This file is part of SOAP-WSDL. You may distribute/modify it under the same terms as perl itself .SH "AUTHOR" .IX Header "AUTHOR" Martin Kutter .SH "REPOSITORY INFORMATION" .IX Header "REPOSITORY INFORMATION" .Vb 4 \& $Rev: 562 $ \& $LastChangedBy: kutterma $ \& $Id: WS_I.pod 562 2008\-02\-22 20:32:17Z kutterma $ \& $HeadURL: https://soap\-wsdl.svn.sourceforge.net/svnroot/soap\-wsdl/SOAP\-WSDL/trunk/lib/SOAP/WSDL/Manual/WS_I.pod $ .Ve