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

RE: [soaplite] Re: WSDL limitations

Expand Messages
  • Sherzod Ruzmetov
    In the XML Schema whatever is defined as complexType. ... From: soaplite@yahoogroups.com [mailto:soaplite@yahoogroups.com] On Behalf Of Venkatraman S Sent:
    Message 1 of 7 , Sep 6, 2006
    • 0 Attachment
      Message
      In the XML Schema whatever is defined as complexType.
       
       
       
      -----Original Message-----
      From: soaplite@yahoogroups.com [mailto:soaplite@yahoogroups.com] On Behalf Of Venkatraman S
      Sent: Wednesday, September 06, 2006 2:45 AM
      To: soaplite@yahoogroups.com
      Subject: Re: [soaplite] Re: WSDL limitations



      Thomas J Pinkl <thomas.pinkl@ sxc.com> wrote:

      On Tue, Aug 29, 2006 at 05:44:04PM -0000, barry_roomberg wrote:
      > According to the docs:
      > Limited support for WSDL schema.
      >
      > What exactly does this mean?
      >
      > I've got a vendor who provides a SOAP interface into their system, and
      > it is based on the WSDL file they provide. What should I be on the
      > lookout for that won't work?

      >>I haven't used WSDL files as input to a SOAP::Lite client, but from
      past traffic on this list it seems that SOAP::Lite's support for WSDL
      is limited to basic data types.


      And what are the data types that arent supported (WSDL in SOAP::Lite) ? My problem seems to be related to this, as my return data type is a huge file ( kind of CLOB)

      Regards,
      Venkat


      Get your own web address for just $1.99/1st yr. We'll help. Yahoo! Small Business.

    • Scott Seely
      And in this case, that complexType just has to be accessed directly instead of through SOAP::Lite s simpler mechanisms. All the data is available, but you go
      Message 2 of 7 , Sep 6, 2006
      • 0 Attachment
        Message

        And in this case, that complexType just has to be accessed directly instead of through SOAP::Lite’s simpler mechanisms. All the data is available, but you go from the simple use cases to the more advanced ones as soon as complexType is in the picture.

         

         

        From: soaplite@yahoogroups.com [mailto:soaplite@yahoogroups.com] On Behalf Of Sherzod Ruzmetov
        Sent: Wednesday, September 06, 2006 12:37 AM
        To: 'Venkatraman S'; soaplite@yahoogroups.com
        Subject: RE: [soaplite] Re: WSDL limitations

         

        In the XML Schema whatever is defined as complexType.

         

         

         

        -----Original Message-----
        From: soaplite@yahoogroups.com [mailto:soaplite@yahoogroups.com] On Behalf Of Venkatraman S
        Sent: Wednesday, September 06, 2006 2:45 AM
        To: soaplite@yahoogroups.com
        Subject: Re: [soaplite] Re: WSDL limitations



        Thomas J Pinkl <thomas.pinkl@...> wrote:

        On Tue, Aug 29, 2006 at 05:44:04PM -0000, barry_roomberg wrote:
        > According to the docs:
        > Limited support for WSDL schema.
        >
        > What exactly does this mean?
        >
        > I've got a vendor who provides a SOAP interface into their system, and
        > it is based on the WSDL file they provide. What should I be on the
        > lookout for that won't work?

        >>I haven't used WSDL files as input to a SOAP::Lite client, but from
        past traffic on this list it seems that SOAP::Lite's support for WSDL
        is limited to basic data types.




        And what are the data types that arent supported (WSDL in SOAP::Lite) ? My problem seems to be related to this, as my return data type is a huge file ( kind of CLOB)

        Regards,
        Venkat


        Get your own web address for just $1.99/1st yr. We'll help. Yahoo! Small Business.

      • Sherzod Ruzmetov
        Here is a tip for you Venkatraman. Don t rely on SOAP::Lite s WSLD support for reasons some of which you already discovered. Another main reason is, WSLD s
        Message 3 of 7 , Sep 6, 2006
        • 0 Attachment
          Message
          Here is a tip for you Venkatraman. Don't rely on SOAP::Lite's WSLD support for reasons some of which you already discovered. 
           
          Another main reason is, WSLD's aren't really meant to be accessed real-time. They are used for generating stubs for a programming language in  question. Actually, very small WSDLs can be OK to be accessed real-time, but most WSDLs used by commercial services (such as eBay and PayPal) are not small. On an average machine it may take upto 45-60 seconds to parse one.
           
          Before a true WSLD stubmaker is available in Perl here is what you need to do:
           
          Study WSDL
          --------------------
           
          1. If it's relatively small you should be able to peek in and figure everything out in minutes, and start using SOAP::Lite without giving it WSDL.
          2. If it's relatively large and doesn't contain any "complexType"s you should be able to use stubmaker.pl to generate a stub for the methods and use it instead.
          3. If it has few complexTypes defined stubmaker.pl's result will need to be edited.
          4. If it has too many complexTypes you should write a script and parse all the complexTypes and write your own specialized stubmaker. Your XML parser could be just regex based, nothing robust. To help with  writing simpler regexps pass the WSLD through xmllint with its --format option. This will make sure that each complexType element will be in its own line and allows your regexps to be very simple.
           
          The best suited Perl data structure to represent complexTypes is a blessed reference (Class)
           
          I discovered all this when I was developing a Perl SDK for eBay's SOAP API. Just FYI, eBay's WSDL consisted of about 80,000 lines and 560 complex types. Weighed over 3 MBs.
           
          Sherzod Ruzmetov
           
           
           
           
           
           -----Original Message-----
          From: Scott Seely [mailto:scott@...]
          Sent: Wednesday, September 06, 2006 9:59 AM
          To: 'Sherzod Ruzmetov'; 'Venkatraman S'; soaplite@yahoogroups.com
          Subject: RE: [soaplite] Re: WSDL limitations

          And in this case, that complexType just has to be accessed directly instead of through SOAP::Lite’s simpler mechanisms. All the data is available, but you go from the simple use cases to the more advanced ones as soon as complexType is in the picture.

           

           

          From: soaplite@yahoogroups.com [mailto:soaplite@yahoogroups.com] On Behalf Of Sherzod Ruzmetov
          Sent: Wednesday, September 06, 2006 12:37 AM
          To: 'Venkatraman S'; soaplite@yahoogroups.com
          Subject: RE: [soaplite] Re: WSDL limitations

           

          In the XML Schema whatever is defined as complexType.

           

           

           

          -----Original Message-----
          From: soaplite@yahoogroups.com [mailto:soaplite@yahoogroups.com] On Behalf Of Venkatraman S
          Sent: Wednesday, September 06, 2006 2:45 AM
          To: soaplite@yahoogroups.com
          Subject: Re: [soaplite] Re: WSDL limitations



          Thomas J Pinkl <thomas.pinkl@...> wrote:

          On Tue, Aug 29, 2006 at 05:44:04PM -0000, barry_roomberg wrote:
          > According to the docs:
          > Limited support for WSDL schema.
          >
          > What exactly does this mean?
          >
          > I've got a vendor who provides a SOAP interface into their system, and
          > it is based on the WSDL file they provide. What should I be on the
          > lookout for that won't work?

          >>I haven't used WSDL files as input to a SOAP::Lite client, but from
          past traffic on this list it seems that SOAP::Lite's support for WSDL
          is limited to basic data types.




          And what are the data types that arent supported (WSDL in SOAP::Lite) ? My problem seems to be related to this, as my return data type is a huge file ( kind of CLOB)

          Regards,
          Venkat


          Get your own web address for just $1.99/1st yr. We'll help. Yahoo! Small Business.

        • Patrick Chanezon
          Thanks for the tips Sherzod. Is you eBay s SDK s custom stubmaker public? I d be interested in repurposing it for the Google AdWords API. Also do you think it
          Message 4 of 7 , Sep 7, 2006
          • 0 Attachment
            Thanks for the tips Sherzod.
            Is you eBay's SDK's custom stubmaker public? I'd be interested in repurposing it for the Google AdWords API.
            Also do you think it is far fetched to imagine fixing stubmaker to handle complexTypes in the general case, like the .NET, Java and Ruby SOAP toolkits do?

            P@

            On 9/6/06, Sherzod Ruzmetov <sherzodr@...> wrote:

            Here is a tip for you Venkatraman. Don't rely on SOAP::Lite's WSLD support for reasons some of which you already discovered. 
             
            Another main reason is, WSLD's aren't really meant to be accessed real-time. They are used for generating stubs for a programming language in  question. Actually, very small WSDLs can be OK to be accessed real-time, but most WSDLs used by commercial services (such as eBay and PayPal) are not small. On an average machine it may take upto 45-60 seconds to parse one.
             
            Before a true WSLD stubmaker is available in Perl here is what you need to do:
             
            Study WSDL
            --------------------
             
            1. If it's relatively small you should be able to peek in and figure everything out in minutes, and start using SOAP::Lite without giving it WSDL.
            2. If it's relatively large and doesn't contain any "complexType"s you should be able to use stubmaker.pl to generate a stub for the methods and use it instead.
            3. If it has few complexTypes defined stubmaker.pl's result will need to be edited.
            4. If it has too many complexTypes you should write a script and parse all the complexTypes and write your own specialized stubmaker. Your XML parser could be just regex based, nothing robust. To help with  writing simpler regexps pass the WSLD through xmllint with its --format option. This will make sure that each complexType element will be in its own line and allows your regexps to be very simple.
             
            The best suited Perl data structure to represent complexTypes is a blessed reference (Class)
             
            I discovered all this when I was developing a Perl SDK for eBay's SOAP API. Just FYI, eBay's WSDL consisted of about 80,000 lines and 560 complex types. Weighed over 3 MBs.
             
            Sherzod Ruzmetov
             
             
             
             
             
             -----Original Message-----
            From: Scott Seely [mailto:scott@scottseely.com]
            Sent: Wednesday, September 06, 2006 9:59 AM
            To: 'Sherzod Ruzmetov'; 'Venkatraman S'; soaplite@yahoogroups.com
            Subject: RE: [soaplite] Re: WSDL limitations

            And in this case, that complexType just has to be accessed directly instead of through SOAP::Lite's simpler mechanisms. All the data is available, but you go from the simple use cases to the more advanced ones as soon as complexType is in the picture.

             

             

            From: soaplite@yahoogroups.com [mailto: soaplite@yahoogroups.com] On Behalf Of Sherzod Ruzmetov
            Sent: Wednesday, September 06, 2006 12:37 AM
            To: 'Venkatraman S'; soaplite@yahoogroups.com
            Subject: RE: [soaplite] Re: WSDL limitations

             

            In the XML Schema whatever is defined as complexType.

             

             

             

            -----Original Message-----
            From: soaplite@yahoogroups.com [mailto:soaplite@yahoogroups.com] On Behalf Of Venkatraman S
            Sent: Wednesday, September 06, 2006 2:45 AM
            To: soaplite@yahoogroups.com
            Subject: Re: [soaplite] Re: WSDL limitations



            Thomas J Pinkl <thomas.pinkl@...> wrote:

            On Tue, Aug 29, 2006 at 05:44:04PM -0000, barry_roomberg wrote:
            > According to the docs:
            > Limited support for WSDL schema.
            >
            > What exactly does this mean?
            >
            > I've got a vendor who provides a SOAP interface into their system, and
            > it is based on the WSDL file they provide. What should I be on the
            > lookout for that won't work?

            >>I haven't used WSDL files as input to a SOAP::Lite client, but from
            past traffic on this list it seems that SOAP::Lite's support for WSDL
            is limited to basic data types.




            And what are the data types that arent supported (WSDL in SOAP::Lite) ? My problem seems to be related to this, as my return data type is a huge file ( kind of CLOB)

            Regards,
            Venkat


            Get your own web address for just $1.99/1st yr. We'll help. Yahoo! Small Business.




            --
            Patrick Chanezon, Google API Evangelist
            http://blog.chanezon.com/
            http://www.google.com/apis/adwords/
          Your message has been successfully submitted and would be delivered to recipients shortly.