SPROXY Error SDL1021
This documentation is archived and is not being maintained.

SPROXY Error SDL1021

document/literal cannot reference message parts with the 'type' attribute where the referenced type is not a complexType, it results in an invalid SOAP message.

A message part has a type that results in an invalid SOAP message.

SPROXY has encountered an operation that meets these conditions:

  • style="document"

  • use="literal"

  • has a message part with a type attribute that is not a complexType

In this situation, the resulting SOAP <Body> element lacks required wrapper elements and is therefore invalid.

Example

The following example generates SDL1021. Because the type xsd:int is not a complexType, the resulting SOAP message would have the form

<Envelope><Body> someData </Body></Envelope>

which is invalid according the SOAP Envelope schema. (There should be wrapper elements around someData.)

<message name="XSDTypes.Mint">
      <part name="v" type="xsd:int"/>
   </message>
   <message name="XSDTypes.MintResponse">
      <part name="Result" type="xsd:int"/>
   </message>
   <portType name="XSDTypesSoapPort">
      <operation name="Mint" parameterOrder="v">
         <input message="wsdlns:XSDTypes.Mint"/>
         <output message="wsdlns:XSDTypes.MintResponse"/>
      </operation>
   </portType>
   <binding name="XSDTypesSoapBinding" type="wsdlns:XSDTypesSoapPort">
      <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
      <operation name="Mint">
         <soap:operation soapAction="http://tempuri.org/action/XSDTypes.Mint"/>
         <input>
            <soap:body use="literal" namespace="http://tempuri.org/message/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
         </input>
         <output>
            <soap:body use="literal" namespace="http://tempuri.org/message/" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
         </output>
      </operation>
   </binding>

See Also

Show:
© 2016 Microsoft