Loading ...
Sorry, an error occurred while loading the content.

Simple Type SOAP Headers

Expand Messages
  • Simon Fell
    I ran into some issues with SOAP Headers that are simple types when using .NET 1.1. I documented the issues here
    Message 1 of 5 , Aug 11 10:33 AM
    • 0 Attachment
      I ran into some issues with SOAP Headers that are simple types when
      using .NET 1.1. I documented the issues here
      http://www.pocketsoap.com/weblog/2005/08/1557.html

      I was wondering how the other stacks handle this situation, there are
      test WSDLs in the blog post if anyone has time to try out their own
      stacks with them.

      Thanks!
      Simon
      www.pocketsoap.com
    • Kirill Gavrylyuk
      Hi Simon, .Net 1.1 behavior aside, this is an interesting issue, that I don t think was discussed a lot (surprisingly). I do not believe that test_1header.wsdl
      Message 2 of 5 , Aug 11 5:58 PM
      • 0 Attachment
        Hi Simon,
        .Net 1.1 behavior aside, this is an interesting issue, that I don't
        think was discussed a lot (surprisingly).

        I do not believe that test_1header.wsdl at [1] is valid.

        The declaration of element tns:ValidFrom does not allow for SOAP
        attributes. Element tns:ValidForm per WSDL spec will be used literally
        in the message.

        I believe if you want to declare a header carrying a primitive type
        values, at minimum you need to open up the attribute content.

        E.g.
        <xs:complexType name="HeaderDateTimeType">
        <xs:simpleContent>
        <xs:extension base="xs:dateTime">
        <xs:anyAttribute namespace="##other" processContents="lax" />
        </xs:extension>
        </xs:simpleContent>
        </xs:complexType>
        <xs:element name="ValidFrom" type="tns:HeaderDateTimeType"/>

        Thoughts?


        -----Original Message-----
        From: soapbuilders@yahoogroups.com [mailto:soapbuilders@yahoogroups.com]
        On Behalf Of Simon Fell
        Sent: Thursday, August 11, 2005 10:33 AM
        To: soapbuilders@yahoogroups.com
        Subject: [soapbuilders] Simple Type SOAP Headers

        I ran into some issues with SOAP Headers that are simple types when
        using .NET 1.1. I documented the issues here
        http://www.pocketsoap.com/weblog/2005/08/1557.html

        I was wondering how the other stacks handle this situation, there are
        test WSDLs in the blog post if anyone has time to try out their own
        stacks with them.

        Thanks!
        Simon
        www.pocketsoap.com





        -----------------------------------------------------------------
        This group is a forum for builders of SOAP implementations to discuss
        implementation and interoperability issues. Please stay on-topic.
        Yahoo! Groups Links
      • Kirill Gavrylyuk
        Meant to add [1] http://www.pocketsoap.com/weblog/2005/08/test_1header.wsdl ... From: soapbuilders@yahoogroups.com [mailto:soapbuilders@yahoogroups.com] On
        Message 3 of 5 , Aug 11 6:00 PM
        • 0 Attachment
          Meant to add

          [1] http://www.pocketsoap.com/weblog/2005/08/test_1header.wsdl

          -----Original Message-----
          From: soapbuilders@yahoogroups.com [mailto:soapbuilders@yahoogroups.com]
          On Behalf Of Kirill Gavrylyuk
          Sent: Thursday, August 11, 2005 5:59 PM
          To: soapbuilders@yahoogroups.com
          Subject: RE: [soapbuilders] Simple Type SOAP Headers

          Hi Simon,
          .Net 1.1 behavior aside, this is an interesting issue, that I don't
          think was discussed a lot (surprisingly).

          I do not believe that test_1header.wsdl at [1] is valid.

          The declaration of element tns:ValidFrom does not allow for SOAP
          attributes. Element tns:ValidForm per WSDL spec will be used literally
          in the message.

          I believe if you want to declare a header carrying a primitive type
          values, at minimum you need to open up the attribute content.

          E.g.
          <xs:complexType name="HeaderDateTimeType">
          <xs:simpleContent>
          <xs:extension base="xs:dateTime">
          <xs:anyAttribute namespace="##other" processContents="lax" />
          </xs:extension>
          </xs:simpleContent>
          </xs:complexType>
          <xs:element name="ValidFrom" type="tns:HeaderDateTimeType"/>

          Thoughts?


          -----Original Message-----
          From: soapbuilders@yahoogroups.com [mailto:soapbuilders@yahoogroups.com]
          On Behalf Of Simon Fell
          Sent: Thursday, August 11, 2005 10:33 AM
          To: soapbuilders@yahoogroups.com
          Subject: [soapbuilders] Simple Type SOAP Headers

          I ran into some issues with SOAP Headers that are simple types when
          using .NET 1.1. I documented the issues here
          http://www.pocketsoap.com/weblog/2005/08/1557.html

          I was wondering how the other stacks handle this situation, there are
          test WSDLs in the blog post if anyone has time to try out their own
          stacks with them.

          Thanks!
          Simon
          www.pocketsoap.com





          -----------------------------------------------------------------
          This group is a forum for builders of SOAP implementations to discuss
          implementation and interoperability issues. Please stay on-topic.
          Yahoo! Groups Links









          -----------------------------------------------------------------
          This group is a forum for builders of SOAP implementations to discuss
          implementation and interoperability issues. Please stay on-topic.
          Yahoo! Groups Links
        • Simon Fell
          That s a good point. I d say its valid, although it doesn t account for everything. (a request which is valid to the schema is a valid request) You could also
          Message 4 of 5 , Aug 11 6:14 PM
          • 0 Attachment
            That's a good point. I'd say its valid, although it doesn't account
            for everything. (a request which is valid to the schema is a valid
            request)

            You could also just allow the specific soap attrbiutes.

            <xs:complexType name="HeaderDateTimeType">
            <xs:simpleContent>
            <xs:extension base="xs:dateTime">
            </xs:simpleContent>
            <xs:attribute ref="soap:actor" />
            <xs:attribute ref="soap:mustUnderstand" />
            </xs:complexType>
            <xs:element name="ValidFrom" type="tns:HeaderDateTimeType"/>

            I remeber doing this a couple of years ago, and it caused havoc with
            every toolkit that tried to process it.

            or this, which is essentially the same as above, but probably less
            likely to trip up the tools.

            <xs:complexType name="HeaderDateTimeType">
            <xs:simpleContent>
            <xs:extension base="xs:dateTime">
            <xs:anyAttribute
            namespace="http://schemas.xmlsoap.org/soap/envelope/"
            processContents="strict" />
            </xs:extension>
            </xs:simpleContent>
            </xs:complexType>
            <xs:element name="ValidFrom" type="tns:HeaderDateTimeType"/>


            Do any of the tools that generate WSDL do this?

            Cheers
            Simon

            --- In soapbuilders@yahoogroups.com, "Kirill Gavrylyuk" <kirillg@m...>
            wrote:
            > Hi Simon,
            > .Net 1.1 behavior aside, this is an interesting issue, that I don't
            > think was discussed a lot (surprisingly).
            >
            > I do not believe that test_1header.wsdl at [1] is valid.
            >
            > The declaration of element tns:ValidFrom does not allow for SOAP
            > attributes. Element tns:ValidForm per WSDL spec will be used literally
            > in the message.
            >
            > I believe if you want to declare a header carrying a primitive type
            > values, at minimum you need to open up the attribute content.
            >
            > E.g.
            > <xs:complexType name="HeaderDateTimeType">
            > <xs:simpleContent>
            > <xs:extension base="xs:dateTime">
            > <xs:anyAttribute namespace="##other" processContents="lax" />
            > </xs:extension>
            > </xs:simpleContent>
            > </xs:complexType>
            > <xs:element name="ValidFrom" type="tns:HeaderDateTimeType"/>
            >
            > Thoughts?
            >
            >
            > -----Original Message-----
            > From: soapbuilders@yahoogroups.com [mailto:soapbuilders@yahoogroups.com]
            > On Behalf Of Simon Fell
            > Sent: Thursday, August 11, 2005 10:33 AM
            > To: soapbuilders@yahoogroups.com
            > Subject: [soapbuilders] Simple Type SOAP Headers
            >
            > I ran into some issues with SOAP Headers that are simple types when
            > using .NET 1.1. I documented the issues here
            > http://www.pocketsoap.com/weblog/2005/08/1557.html
            >
            > I was wondering how the other stacks handle this situation, there are
            > test WSDLs in the blog post if anyone has time to try out their own
            > stacks with them.
            >
            > Thanks!
            > Simon
            > www.pocketsoap.com
            >
            >
            >
            >
            >
            > -----------------------------------------------------------------
            > This group is a forum for builders of SOAP implementations to discuss
            > implementation and interoperability issues. Please stay on-topic.
            > Yahoo! Groups Links
          • Simon Fell
            ahhh, here s the pointer to when i last tried this http://www.dotnet247.com/247reference/msgs/7/36948.aspx cheers Simon
            Message 5 of 5 , Aug 11 8:48 PM
            • 0 Attachment
              ahhh, here's the pointer to when i last tried this
              http://www.dotnet247.com/247reference/msgs/7/36948.aspx

              cheers
              Simon

              On Fri, 12 Aug 2005 01:14:59 -0000, in ws you wrote:

              >That's a good point. I'd say its valid, although it doesn't account
              >for everything. (a request which is valid to the schema is a valid
              >request)
              >
              >You could also just allow the specific soap attrbiutes.
              >
              ><xs:complexType name="HeaderDateTimeType">
              > <xs:simpleContent>
              > <xs:extension base="xs:dateTime">
              > </xs:simpleContent>
              > <xs:attribute ref="soap:actor" />
              > <xs:attribute ref="soap:mustUnderstand" />
              ></xs:complexType>
              ><xs:element name="ValidFrom" type="tns:HeaderDateTimeType"/>
              >
              >I remeber doing this a couple of years ago, and it caused havoc with
              >every toolkit that tried to process it.
              >
              >or this, which is essentially the same as above, but probably less
              >likely to trip up the tools.
              >
              ><xs:complexType name="HeaderDateTimeType">
              > <xs:simpleContent>
              > <xs:extension base="xs:dateTime">
              > <xs:anyAttribute
              >namespace="http://schemas.xmlsoap.org/soap/envelope/"
              >processContents="strict" />
              > </xs:extension>
              > </xs:simpleContent>
              > </xs:complexType>
              ><xs:element name="ValidFrom" type="tns:HeaderDateTimeType"/>
              >
              >
              >Do any of the tools that generate WSDL do this?
              >
              >Cheers
              >Simon
              >
              >--- In soapbuilders@yahoogroups.com, "Kirill Gavrylyuk" <kirillg@m...>
              >wrote:
              >> Hi Simon,
              >> .Net 1.1 behavior aside, this is an interesting issue, that I don't
              >> think was discussed a lot (surprisingly).
              >>
              >> I do not believe that test_1header.wsdl at [1] is valid.
              >>
              >> The declaration of element tns:ValidFrom does not allow for SOAP
              >> attributes. Element tns:ValidForm per WSDL spec will be used literally
              >> in the message.
              >>
              >> I believe if you want to declare a header carrying a primitive type
              >> values, at minimum you need to open up the attribute content.
              >>
              >> E.g.
              >> <xs:complexType name="HeaderDateTimeType">
              >> <xs:simpleContent>
              >> <xs:extension base="xs:dateTime">
              >> <xs:anyAttribute namespace="##other" processContents="lax" />
              >> </xs:extension>
              >> </xs:simpleContent>
              >> </xs:complexType>
              >> <xs:element name="ValidFrom" type="tns:HeaderDateTimeType"/>
              >>
              >> Thoughts?
              >>
              >>
              >> -----Original Message-----
              >> From: soapbuilders@yahoogroups.com [mailto:soapbuilders@yahoogroups.com]
              >> On Behalf Of Simon Fell
              >> Sent: Thursday, August 11, 2005 10:33 AM
              >> To: soapbuilders@yahoogroups.com
              >> Subject: [soapbuilders] Simple Type SOAP Headers
              >>
              >> I ran into some issues with SOAP Headers that are simple types when
              >> using .NET 1.1. I documented the issues here
              >> http://www.pocketsoap.com/weblog/2005/08/1557.html
              >>
              >> I was wondering how the other stacks handle this situation, there are
              >> test WSDLs in the blog post if anyone has time to try out their own
              >> stacks with them.
              >>
              >> Thanks!
              >> Simon
              >> www.pocketsoap.com
              >>
              >>
              >>
              >>
              >>
              >> -----------------------------------------------------------------
              >> This group is a forum for builders of SOAP implementations to discuss
              >> implementation and interoperability issues. Please stay on-topic.
              >> Yahoo! Groups Links
              >
              >
              >
              >
              >
              >-----------------------------------------------------------------
              >This group is a forum for builders of SOAP implementations to discuss implementation and interoperability issues. Please stay on-topic.
              >Yahoo! Groups Links
              >
              >
              >
              >
              >
            Your message has been successfully submitted and would be delivered to recipients shortly.