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

Re: [soaplite] SOAP::Lite server and generating WSDL

Expand Messages
  • Mike Schroeder
    One idea I am trying out is to add an inline YAML definition of each method (in a POD section), and then write a WSDL generator that uses the YAML definition.
    Message 1 of 7 , Apr 21, 2004
      One idea I am trying out is to add an inline YAML definition of each
      method (in a POD section), and then write a WSDL generator that uses the
      YAML definition. A fringe benefit is that the same YAML definition can
      also be used for other purposes, such as generating automated tests.

      So inside the POD for a given method, you add something like:

      =begin api_spec

      --- #YAML:1.0
      method: mymethod
      module: MyClass
      description: >
      This is a generic description
      parameters:
      - parameter: id_code
      required: yes
      type: integer
      maximum: 8
      minimum: 1
      - parameter: balance_limit
      required: no
      type: amount

      =end api_spec

      Our efforts right now are focused on using this to do automated testing
      of our APIs, but I could see extending it a bit for generating WSDLs too.

      Of course this is not as elegant as a more integrated Perl6 approach.

      Just an option - ymmv.

      Mike.




      Byrne Reese wrote:

      >This is extraordinarily difficult using Perl5 - that is because Perl5 is
      >incredibly loosely typed. Furthermore, there is no [easy] way to
      >introspect a perl program and extra the data necessary to generate a
      >WSDL file.
      >
      >Perl6 - currently being developed - will change all of this however.
      >
      >perlgirl00 wrote:
      >
      >
      >
      >>Hello All,
      >>I was trying to find a tool to generate WSDL from some services
      >>implemented using SOAP::Lite. I have to use some of these using an
      >>apache axis client. I see that Apache Axis can generate WSDL from any
      >>service deployed with it. SOAP::Lite does not seem to have any tool
      >>to generate WSDL from a priliminary google search.
      >>Can anyone explain why there is no such tool available?
      >>I see that perl is untyped. If I was to write a WSDL for a service
      >>that responds with a complex perl Hash, how would I go about that?
      >>Has anyone out there experimented with this?
      >>Thank you,
      >>Yogini Parkhi
      >>
      >>
      >>
      >>------------------------------------------------------------------------
      >>*Yahoo! Groups Links*
      >>
      >> * To visit your group on the web, go to:
      >> http://groups.yahoo.com/group/soaplite/
      >>
      >> * To unsubscribe from this group, send an email to:
      >> soaplite-unsubscribe@yahoogroups.com
      >> <mailto:soaplite-unsubscribe@yahoogroups.com?subject=Unsubscribe>
      >>
      >> * Your use of Yahoo! Groups is subject to the Yahoo! Terms of
      >> Service <http://docs.yahoo.com/info/terms/>.
      >>
      >>
      >>
      >>
      >
      >
      >
      >
      >
      >Yahoo! Groups Links
      >
      >
      >
      >
      >
      >
      >
    • Joe Breeden
      I would be very interested in seeing this option explored as I am having issues with implementing SOAP::Lite services in out environment (mixed with Perl,
      Message 2 of 7 , Apr 21, 2004
        I would be very interested in seeing this option explored as I am having
        issues with implementing SOAP::Lite services in out environment (mixed
        with Perl, .Net, and AXIS) relating to the lack of WSDL support in
        SOAP::Lite and the general messiness of using the WSDL::Generator perl
        module.

        -----Original Message-----
        From: Mike Schroeder [mailto:MikeSchroeder@...]
        Sent: Wednesday, April 21, 2004 9:46 AM
        To: Byrne Reese
        Cc: perlgirl00; soaplite@yahoogroups.com
        Subject: Re: [soaplite] SOAP::Lite server and generating WSDL

        One idea I am trying out is to add an inline YAML definition of each
        method (in a POD section), and then write a WSDL generator that uses the

        YAML definition. A fringe benefit is that the same YAML definition can
        also be used for other purposes, such as generating automated tests.

        So inside the POD for a given method, you add something like:

        =begin api_spec

        --- #YAML:1.0
        method: mymethod
        module: MyClass
        description: >
        This is a generic description
        parameters:
        - parameter: id_code
        required: yes
        type: integer
        maximum: 8
        minimum: 1
        - parameter: balance_limit
        required: no
        type: amount

        =end api_spec

        Our efforts right now are focused on using this to do automated testing
        of our APIs, but I could see extending it a bit for generating WSDLs
        too.

        Of course this is not as elegant as a more integrated Perl6 approach.

        Just an option - ymmv.

        Mike.




        Byrne Reese wrote:

        >This is extraordinarily difficult using Perl5 - that is because Perl5
        is
        >incredibly loosely typed. Furthermore, there is no [easy] way to
        >introspect a perl program and extra the data necessary to generate a
        >WSDL file.
        >
        >Perl6 - currently being developed - will change all of this however.
        >
        >perlgirl00 wrote:
        >
        >
        >
        >>Hello All,
        >>I was trying to find a tool to generate WSDL from some services
        >>implemented using SOAP::Lite. I have to use some of these using an
        >>apache axis client. I see that Apache Axis can generate WSDL from any
        >>service deployed with it. SOAP::Lite does not seem to have any tool
        >>to generate WSDL from a priliminary google search.
        >>Can anyone explain why there is no such tool available?
        >>I see that perl is untyped. If I was to write a WSDL for a service
        >>that responds with a complex perl Hash, how would I go about that?
        >>Has anyone out there experimented with this?
        >>Thank you,
        >>Yogini Parkhi
        >>
        >>
        >>
        >>----------------------------------------------------------------------
        --
        >>*Yahoo! Groups Links*
        >>
        >> * To visit your group on the web, go to:
        >> http://groups.yahoo.com/group/soaplite/
        >>
        >> * To unsubscribe from this group, send an email to:
        >> soaplite-unsubscribe@yahoogroups.com
        >>
        <mailto:soaplite-unsubscribe@yahoogroups.com?subject=Unsubscribe>
        >>
        >> * Your use of Yahoo! Groups is subject to the Yahoo! Terms of
        >> Service <http://docs.yahoo.com/info/terms/>.
        >>
        >>
        >>
        >>
        >
        >
        >
        >
        >
        >Yahoo! Groups Links
        >
        >
        >
        >
        >
        >
        >




        Yahoo! Groups Links
      • Mike Schroeder
        Joe -- attached is an incomplete script (I hacked out some internal code) that recurses a directory (with File::Find) extracts the YAML api_spec section (using
        Message 3 of 7 , Apr 21, 2004
          Joe -- attached is an incomplete script (I hacked out some internal
          code) that recurses a directory (with File::Find) extracts the YAML
          api_spec section (using a subclass of Pod::Parser), converts to a Perl
          structure (using YAML's Load method), and then starts cycling through
          the structure to determine what tests to do -- that's as much progress
          as I've made for the moment. Keep in mind, this script was original
          written for automated testing, not for WSDL generation, but the basic
          framework should still be valid.

          Maybe something like Template::Toolkit would be appropriate for building
          the WSDL at that point? I have skimmed the basic structure of a WSDL,
          but have not dug in too deep yet, so if someone knows the template
          approach won't work, please let me know.



          Joe Breeden wrote:

          >I would be very interested in seeing this option explored as I am having
          >issues with implementing SOAP::Lite services in out environment (mixed
          >with Perl, .Net, and AXIS) relating to the lack of WSDL support in
          >SOAP::Lite and the general messiness of using the WSDL::Generator perl
          >module.
          >
          >-----Original Message-----
          >From: Mike Schroeder [mailto:MikeSchroeder@...]
          >Sent: Wednesday, April 21, 2004 9:46 AM
          >To: Byrne Reese
          >Cc: perlgirl00; soaplite@yahoogroups.com
          >Subject: Re: [soaplite] SOAP::Lite server and generating WSDL
          >
          >One idea I am trying out is to add an inline YAML definition of each
          >method (in a POD section), and then write a WSDL generator that uses the
          >
          >YAML definition. A fringe benefit is that the same YAML definition can
          >also be used for other purposes, such as generating automated tests.
          >
          >So inside the POD for a given method, you add something like:
          >
          >=begin api_spec
          >
          >--- #YAML:1.0
          >method: mymethod
          >module: MyClass
          >description: >
          > This is a generic description
          >parameters:
          > - parameter: id_code
          > required: yes
          > type: integer
          > maximum: 8
          > minimum: 1
          > - parameter: balance_limit
          > required: no
          > type: amount
          >
          >=end api_spec
          >
          >Our efforts right now are focused on using this to do automated testing
          >of our APIs, but I could see extending it a bit for generating WSDLs
          >too.
          >
          >Of course this is not as elegant as a more integrated Perl6 approach.
          >
          >Just an option - ymmv.
          >
          >Mike.
          >
          >
          >
          >
          >Byrne Reese wrote:
          >
          >
          >
          >>This is extraordinarily difficult using Perl5 - that is because Perl5
          >>
          >>
          >is
          >
          >
          >>incredibly loosely typed. Furthermore, there is no [easy] way to
          >>introspect a perl program and extra the data necessary to generate a
          >>WSDL file.
          >>
          >>Perl6 - currently being developed - will change all of this however.
          >>
          >>perlgirl00 wrote:
          >>
          >>
          >>
          >>
          >>
          >>>Hello All,
          >>>I was trying to find a tool to generate WSDL from some services
          >>>implemented using SOAP::Lite. I have to use some of these using an
          >>>apache axis client. I see that Apache Axis can generate WSDL from any
          >>>service deployed with it. SOAP::Lite does not seem to have any tool
          >>>to generate WSDL from a priliminary google search.
          >>>Can anyone explain why there is no such tool available?
          >>>I see that perl is untyped. If I was to write a WSDL for a service
          >>>that responds with a complex perl Hash, how would I go about that?
          >>>Has anyone out there experimented with this?
          >>>Thank you,
          >>>Yogini Parkhi
          >>>
          >>>
          >>>
          >>>----------------------------------------------------------------------
          >>>
          >>>
          >--
          >
          >
          >>>*Yahoo! Groups Links*
          >>>
          >>> * To visit your group on the web, go to:
          >>> http://groups.yahoo.com/group/soaplite/
          >>>
          >>> * To unsubscribe from this group, send an email to:
          >>> soaplite-unsubscribe@yahoogroups.com
          >>>
          >>>
          >>>
          ><mailto:soaplite-unsubscribe@yahoogroups.com?subject=Unsubscribe>
          >
          >
          >>>
          >>> * Your use of Yahoo! Groups is subject to the Yahoo! Terms of
          >>> Service <http://docs.yahoo.com/info/terms/>.
          >>>
          >>>
          >>>
          >>>
          >>>
          >>>
          >>
          >>
          >>
          >>Yahoo! Groups Links
          >>
          >>
          >>
          >>
          >>
          >>
          >>
          >>
          >>
          >
          >
          >
          >
          >Yahoo! Groups Links
          >
          >
          >
          >
          >
          >
          >
          >
          >
          >
          >Yahoo! Groups Links
          >
          >
          >
          >
          >
          >
          >
        • Alasdair Allan
          ... I d also be very interested in seeing this explored, it sounds like a reasonable approach. If I get time over the weekend I ll see if I can have a look at
          Message 4 of 7 , Apr 21, 2004
            > > > One idea I am trying out is to add an inline YAML definition of each
            > > > method (in a POD section), and then write a WSDL generator...
            > >
            > > I would be very interested in seeing this option explored as I am having
            > > issues with implementing SOAP::Lite services in out environment (mixed
            > > with Perl, .Net, and AXIS) relating to the lack of WSDL support in
            > > SOAP::Lite and the general messiness of using the WSDL::Generator perl
            > > module.
            >
            > ...attached is an incomplete script (I hacked out some internal
            > code) that recurses a directory (with File::Find) extracts the YAML
            > api_spec section (using a subclass of Pod::Parser), converts to a Perl
            > structure (using YAML's Load method)...>

            I'd also be very interested in seeing this explored, it sounds like a
            reasonable approach. If I get time over the weekend I'll see if I can have
            a look at it as well.

            Al.
          • Byrne Reese
            One can see that great minds think alike. This too is similar to what I was considering. I honestly didn t make the leap to YAML (shame on me) - I was using
            Message 5 of 7 , Apr 21, 2004
              One can see that great minds think alike. This too is similar to what I
              was considering. I honestly didn't make the leap to YAML (shame on me) -
              I was using Perl::POD.

              As it turns out, the WSDL2Perl project uses the Template Toolkit...

              Thanks for sharing your code.

              I am in the process of soliciting funds from companies to fund
              SOAP::Lite (I will be making an announcement soon if I can secure a
              couple of companies first)... if I can, then we should see some
              significant work being pouring into the project... to address this very
              concern. Keep your fingers crossed everyone.

              Alasdair Allan wrote:

              >
              > > > > One idea I am trying out is to add an inline YAML definition of each
              > > > > method (in a POD section), and then write a WSDL generator...
              > > >
              > > > I would be very interested in seeing this option explored as I am
              > having
              > > > issues with implementing SOAP::Lite services in out environment
              > (mixed
              > > > with Perl, .Net, and AXIS) relating to the lack of WSDL support in
              > > > SOAP::Lite and the general messiness of using the WSDL::Generator perl
              > > > module.
              > >
              > > ...attached is an incomplete script (I hacked out some internal
              > > code) that recurses a directory (with File::Find) extracts the YAML
              > > api_spec section (using a subclass of Pod::Parser), converts to a Perl
              > > structure (using YAML's Load method)...>
              >
              > I'd also be very interested in seeing this explored, it sounds like a
              > reasonable approach. If I get time over the weekend I'll see if I can
              > have
              > a look at it as well.
              >
              > Al.
              >
              >
              >
              > ------------------------------------------------------------------------
              > *Yahoo! Groups Links*
              >
              > * To visit your group on the web, go to:
              > http://groups.yahoo.com/group/soaplite/
              >
              > * To unsubscribe from this group, send an email to:
              > soaplite-unsubscribe@yahoogroups.com
              > <mailto:soaplite-unsubscribe@yahoogroups.com?subject=Unsubscribe>
              >
              > * Your use of Yahoo! Groups is subject to the Yahoo! Terms of
              > Service <http://docs.yahoo.com/info/terms/>.
              >
              >
            Your message has been successfully submitted and would be delivered to recipients shortly.