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

RE: [soapbuilders] Suggestion?

Expand Messages
  • Wes Moulder
    Rich, I know Apache has had a schema for hashtables for what seems like eons. Is there something wrong with this? (I doubt you think there’s anything wrong
    Message 1 of 17 , Apr 25, 2002
    • 0 Attachment
      Rich,
      I know Apache has had a schema for hashtables for what seems like eons.
      Is there something wrong with this? (I doubt you think there’s anything
      wrong with it, other than that not everyone supports it.) Does anyone
      here have an issue with it? I know .NET doesn’t support it currently,
      and we’ve been around that block a few times.

      Since .NET has a problem with the Apache schema, here’s the workaround
      TME’s been using for a while. Basically, it is two arrays of anyType
      one for keys one for values which are the same length. For any key in
      the first, the corresponding object in the second is the mapped value.

      .NET doesn't blow up when it sees this. It means creating fewer objects
      on .NET's side. (We were thinking about a single array of a "pair"
      object at first) No fidelity is lost. (As compared to turning
      everything into arrays, and getting back a two dimensional array after
      round-trip)

      Does anyone have any issues with either this schema, or the apache:Map
      schema? It seems like we have many people complaining that
      map/hashtable/hash/whatever-you-call-em don't interop, so perhaps now is
      as good a time as any to discuss this.

      --Wes

      [1]
      <schema xmlns="http://www.w3.org/2001/XMLSchema"
      targetNamespace="http://www.themindelectric.com/collections/">
      <complexType name="HashMap">
      <sequence>
        <element name="keys" type="ns11:ArrayOfanyType" />
        <element name="values" type="ns11:ArrayOfanyType" />
        </sequence>
        </complexType>
        </schema>


      -----Original Message-----
      From: Rich Salz [mailto:r.salz@...]
      Sent: Thursday, April 25, 2002 5:11 PM
      To: soapbuilders@yahoogroups.com
      Subject: Re: [soapbuilders] Suggestion?

      > If/when WS-I produces something relevant, I do think we should take a
      look
      > at it and provide feedback as to whether or not the specifications are
      > feasible and useful.

      As individuals. The "soapbuilders" per se should have no opinion on
      WS-I, if only because I suspect that (a) most folks work for companies
      that do have official opinions; and (b) many of the others (myself
      included) have no opinion, and don't wish to be represented as such.

      I agree with doc literal and hashtables -- can someone please just
      propose an encoding, expressed in IDL or something? -- but what is a
      dataset?
            /r$




      Yahoo! Groups Sponsor
      ADVERTISEMENT




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

      To unsubscribe from this group, send an email to:
      soapbuilders-unsubscribe@yahoogroups.com



      Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.
    • Sam Ruby
      ... You can see what Apache does today at http://www-106.ibm.com/developerworks/java/library/ws-soapmap1/?dwzone=java#2.2 ... A very datastructure used by
      Message 2 of 17 , Apr 25, 2002
      • 0 Attachment
        Rich Salz wrote:
        >
        > hashtables -- can someone please just propose an
        > encoding, expressed in IDL or something? --

        You can see what Apache does today at
        http://www-106.ibm.com/developerworks/java/library/ws-soapmap1/?dwzone=java#2.2

        > but what is a dataset?

        A very datastructure used by ADO.NET.

        http://www.vbws.com/book/chapter7/default.aspx

        - Sam Ruby
      • Rich Salz
        I don t have any problem with the Apache map stuff; ZSI has supported it for a while, e.g. What is the .NET problem with it? If I create a WSDL file and
        Message 3 of 17 , Apr 25, 2002
        • 0 Attachment
          I don't have any problem with the Apache map stuff; ZSI has supported it
          for a while, e.g.

          What is the .NET problem with it? If I create a WSDL file and define
          something analogous will the tool blow up? Or is it just that it's not
          supported as a native datatype?
          /r$
        • Wes Moulder
          Rich, .NET has a problem with the form of the schema. I believe it falls under Anything that looks like an Array must extend SOAPENC:Array for RPC/encoded .
          Message 4 of 17 , Apr 25, 2002
          • 0 Attachment

            Rich,

            .NET has a problem with the form of the schema.  I believe it falls under “Anything that looks like an Array must extend SOAPENC:Array for RPC/encoded”.  This is something that Jacek has stated previously, as well as the Microsoft guys.  I can vaguely understand the rationale, but to me, it just convolutes the issue.  Anyway, since the schema they use has two elements in an anonymous complexType that has unbounded maxOccurs, .NET’s wsdl.exe won’t parse the WSDL at all. 

            We were doing the same type of schema for Vectors and ArrayLists, and .NET parses the wsdl, creates the objects, and then serializes out data that doesn’t match the schema. Even with the TME workaround, it isn’t treated as a native datatype; that conversion has to be done by the user.  (Less than desirable.)

             

            Previous discussion on hashtable support starts at

             

            http://groups.yahoo.com/group/soapbuilders/message/6735

             

            and

             

            http://groups.yahoo.com/group/soapbuilders/message/1331

             

             

            Hope that doesn’t sound like one huge bash on .NET…

            --Wes

             

             

            -----Original Message-----
            From: Rich Salz [mailto:r.salz@...]
            Sent
            :
            Thursday, April 25, 2002 8:35 PM
            To: soapbuilders@yahoogroups.com
            Subject: Re: [soapbuilders] Suggestion?

             

            I don't have any problem with the Apache map stuff; ZSI has supported it
            for a while, e.g.

            What is the .NET problem with it?  If I create a WSDL file and define
            something analogous will the tool blow up?  Or is it just that it's not
            supported as a native datatype?
                  /r$



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

            To unsubscribe from this group, send an email to:
            soapbuilders-unsubscribe@yahoogroups.com



            Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.
          • Sam Ruby
            ... You can find an Apache Axis generated WSDL at http://nagoya.apache.org:5049/axis/services/echo?wsdl It contains a schema definition for a Map. When you
            Message 5 of 17 , Apr 25, 2002
            • 0 Attachment
              Rich Saltz wrote:
              >
              > I don't have any problem with the Apache map stuff; ZSI has supported it
              > for a while, e.g.
              >
              > What is the .NET problem with it? If I create a WSDL file and define
              > something analogous will the tool blow up? Or is it just that it's not
              > supported as a native datatype?

              You can find an Apache Axis generated WSDL at
              http://nagoya.apache.org:5049/axis/services/echo?wsdl

              It contains a schema definition for a Map. When you attempt to generate a
              proxy from this using the .NET WSDL utility, you get the following:

              Error: Unable to import binding 'echoSoapBinding' from namespace
              'http://nagoya.apache.org/axis/services/echo'.
              - Unable to import operation 'echoMap'.
              - Object reference not set to an instance of an object.

              Note: it is not my intent to rathole on this one issue, but I do think that
              attempting to capture and discuss actual experiences would be a worthwhile
              exercise.

              - Sam Ruby
            • Alex DeJarnatt
              I see two reasons our tools have a problem with the apache map encoded schema definition: * It uses an unnamed complexType, which is something our tools don t
              Message 6 of 17 , Apr 25, 2002
              • 0 Attachment

                I see two reasons our tools have a problem with the apache map encoded schema definition:

                 

                * It uses an unnamed complexType, which is something our tools don’t support for encoded schema.  This is where the actual error you get when you run wsdl.exe comes from.

                 

                * The second is what Wes is referring to… we don’t support soap “generic” types, either.  

                 

                From our perspective it’d work much better if instead of the “item” element’s type being an anonymous complexType it was a top-level, named one, and instead of describing a generic type it described an array.  It still wouldn’t map to a .net Hashtable, though…

                 

                Thanks

                alex

                 

                -----Original Message-----
                From: Wes Moulder [mailto:wes@...]
                Sent:
                Thursday, April 25, 2002 6:42 PM
                To: soapbuilders@yahoogroups.com
                Subject: RE: [soapbuilders] Suggestion?

                 

                Rich,

                .NET has a problem with the form of the schema.  I believe it falls under “Anything that looks like an Array must extend SOAPENC:Array for RPC/encoded”.  This is something that Jacek has stated previously, as well as the Microsoft guys.  I can vaguely understand the rationale, but to me, it just convolutes the issue.  Anyway, since the schema they use has two elements in an anonymous complexType that has unbounded maxOccurs, .NET’s wsdl.exe won’t parse the WSDL at all. 

                We were doing the same type of schema for Vectors and ArrayLists, and .NET parses the wsdl, creates the objects, and then serializes out data that doesn’t match the schema. Even with the TME workaround, it isn’t treated as a native datatype; that conversion has to be done by the user.  (Less than desirable.)

                 

                Previous discussion on hashtable support starts at

                 

                http://groups.yahoo.com/group/soapbuilders/message/6735

                 

                and

                 

                http://groups.yahoo.com/group/soapbuilders/message/1331

                 

                 

                Hope that doesn’t sound like one huge bash on .NET…

                --Wes

                 

                 

                -----Original Message-----
                From: Rich Salz [mailto:r.salz@...]
                Sent:
                Thursday, April 25, 2002 8:35 PM
                To: soapbuilders@yahoogroups.com
                Subject: Re: [soapbuilders] Suggestion?

                 

                I don't have any problem with the Apache map stuff; ZSI has supported it
                for a while, e.g.

                What is the .NET problem with it?  If I create a WSDL file and define
                something analogous will the tool blow up?  Or is it just that it's not
                supported as a native datatype?
                      /r$



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

                To unsubscribe from this group, send an email to:
                soapbuilders-unsubscribe@yahoogroups.com



                Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.



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

                To unsubscribe from this group, send an email to:
                soapbuilders-unsubscribe@yahoogroups.com



                Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.
              • Robert van Engelen
                Hi, ... Please let s not forget p.t.a and sparse arrays. Or are they completely removed from the agenda? SOAP 1.2 may not support them (which violates
                Message 7 of 17 , Apr 26, 2002
                • 0 Attachment
                  Hi,

                  > Meanwhile, the interop problems I hear most about are:
                  > * doc literal
                  > * hash tables
                  > * datasets

                  Please let's not forget p.t.a and sparse arrays. Or are they completely
                  removed from the agenda? SOAP 1.2 may not support them (which violates
                  orthogonality, but that's besides the point), but SOAP 1.1 does and some
                  users may want to use this feature.

                  Second, I have had complaints about the absence of bitmasks (C# flags).

                  Third, primitive polymorphic type tests would be nice (e.g. array of
                  xsd:anyType filled with primitive XSD types).

                  > And the most important unfulfilled requirement
                  > * security

                  Start with SSL?

                  - Cheers, Robert
                • Rich Salz
                  Okay, so here s my understanding. The Apache map isn t compatible with SOAP RPC Encoding because it isn t derived from the right base type, and because it
                  Message 8 of 17 , Apr 26, 2002
                  • 0 Attachment
                    Okay, so here's my understanding.

                    The Apache map isn't compatible with SOAP RPC Encoding because it isn't
                    derived from the right base type, and because it doesn't have the SOAP
                    array attribute. Therefore, some tools (e.g., some from Microsoft)
                    can't handle it without special-purpose code in their toolkit and/or
                    runtime. Another problem is the use of unnamed complex types.

                    I propose that we define a new map type that fixes those problems:
                    derive from soap, "use anytype[*]" as the arraytype and encourage folks
                    to use that.

                    This seems to be both spec-compliant -- so you can make a reasonable
                    case that "broken" implementations be fixed -- and in the spirit of
                    interop forces everyone to compromise a bit. :) Does .NET have the
                    equivalent of transmit_as? Then developers can at least get inerop
                    hashtables easily, if not "for free."
                    /r$
                  • Simon Fell
                    Its my understanding (from the multiple previous attempts to resolve this), that the apache map is valid as section 5 encoding, as its a generic compound type,
                    Message 9 of 17 , Apr 26, 2002
                    • 0 Attachment
                      Its my understanding (from the multiple previous attempts to resolve
                      this), that the apache map is valid as section 5 encoding, as its a
                      generic compound type, see the example in 5.4.3[1] of the SOAP 1.1
                      spec.

                      Cheers
                      Simon
                      [1] http://www.w3.org/TR/SOAP/#_Toc478383521

                      On Fri, 26 Apr 2002 14:02:40 -0400, in soap you wrote:

                      >Okay, so here's my understanding.
                      >
                      >The Apache map isn't compatible with SOAP RPC Encoding because it isn't
                      >derived from the right base type, and because it doesn't have the SOAP
                      >array attribute. Therefore, some tools (e.g., some from Microsoft)
                      >can't handle it without special-purpose code in their toolkit and/or
                      >runtime. Another problem is the use of unnamed complex types.
                      >
                      >I propose that we define a new map type that fixes those problems:
                      >derive from soap, "use anytype[*]" as the arraytype and encourage folks
                      >to use that.
                      >
                      >This seems to be both spec-compliant -- so you can make a reasonable
                      >case that "broken" implementations be fixed -- and in the spirit of
                      >interop forces everyone to compromise a bit. :) Does .NET have the
                      >equivalent of transmit_as? Then developers can at least get inerop
                      >hashtables easily, if not "for free."
                      > /r$
                      >
                      >
                      >
                      >-----------------------------------------------------------------
                      >This group is a forum for builders of SOAP implementations to discuss implementation and interoperability issues. Please stay on-topic.
                      >
                      >To unsubscribe from this group, send an email to:
                      >soapbuilders-unsubscribe@yahoogroups.com
                      >
                      >
                      >
                      >Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
                      >
                    • wes_moulder
                      Rich, anyType[*]? Should that not be anyType[][] or anyType[,]? Did you see the schema that I posted earlier (the way TME currently handles hashtables so
                      Message 10 of 17 , Apr 27, 2002
                      • 0 Attachment
                        Rich,
                        anyType[*]? Should that not be anyType[][] or anyType[,]? Did you
                        see the schema that I posted earlier (the way TME currently handles
                        hashtables so that .NET can parse them? I don't really like turning
                        hash like objects into arrays, as then, when you're processing arrays,
                        you have to determine if it's a hash first.
                        I could see redefining hashes a few different ways. First, a two
                        dimensional array containing two arrays, keys and values. Second, a
                        two dimensional array containing any number of two item arrays, first
                        item is a key, second item is a value. Third, two seperate one
                        dimensional arrays. When we implemented our current design, we went
                        with the last approach, for clarity, as it comes out on the client
                        side as two one dimensional arrays labeled "keys" and "values".

                        --Wes
                        PS: I'm with Simon on the validity of the Apache map. It's valid
                        soap, just not terribly interoperable.

                        --- In soapbuilders@y..., Rich Salz <r.salz@v...> wrote:
                        > Okay, so here's my understanding.
                        >
                        > The Apache map isn't compatible with SOAP RPC Encoding because it
                        isn't
                        > derived from the right base type, and because it doesn't have the
                        SOAP
                        > array attribute. Therefore, some tools (e.g., some from Microsoft)
                        > can't handle it without special-purpose code in their toolkit and/or
                        > runtime. Another problem is the use of unnamed complex types.
                        >
                        > I propose that we define a new map type that fixes those problems:
                        > derive from soap, "use anytype[*]" as the arraytype and encourage
                        folks
                        > to use that.
                        >
                        > This seems to be both spec-compliant -- so you can make a reasonable
                        > case that "broken" implementations be fixed -- and in the spirit of
                        > interop forces everyone to compromise a bit. :) Does .NET have the
                        > equivalent of transmit_as? Then developers can at least get inerop
                        > hashtables easily, if not "for free."
                        > /r$
                      Your message has been successfully submitted and would be delivered to recipients shortly.