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

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

Expand Messages
  • 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 1 of 7 , Apr 21, 2004
    • 0 Attachment
      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 2 of 7 , Apr 21, 2004
      • 0 Attachment
        > > > 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 3 of 7 , Apr 21, 2004
        • 0 Attachment
          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.