rje has asked for the wisdom of the Perl Monks concerning the following question:

Easy question:

My colleague is building out a web service, which is being used to interface with a bank. Initially using SOAP::Lite, he now needs a more WSDL-full-service package. Is SOAP the package to use? Or SOAP::WSDL? What are his alternatives?

Replies are listed 'Best First'.
Re: Which SOAP package is "best"?
by DrHyde (Prior) on Nov 05, 2010 at 10:41 UTC

    In my previous job I had to do some SOAP-ish work, talking to a drug company. SOAP::Lite does the basics really well, but the moment I wanted to go beyond the basics it got really hard, really fast. None of the WSDL modules I looked at were much use.

    I don't know if there have been any better SOAPy modules released since then (and admittedly this was a few years ago), but if there haven't, then I'd suggest that you use a different language.

Re: Which SOAP package is "best"?
by afoken (Chancellor) on Nov 05, 2010 at 07:14 UTC

    Define "best". In other words, what do you want to optimize for?

    Some generic criteria may be:

    • Execution speed
    • Lines of code needed to use the API
    • Learning curve (i.e. how much documentation has to be read and understood to be able to use the API)
    • Robustness
    • Security
    • API sanity (i.e. does it look and behave "perlish" or is the API just a dumb wrapper for a broken C library?)
    • Stability of the API (how often did the API change in an incompatible way, how often will it do so in future?)
    • Number of external dependencies (does the package need half of CPAN and three different database engines or just the core modules?)
    • Little anoyances: Will the package run flawlessly with taint mode and warnings enabled? Does it need a C compiler / C libraries (was and still is a big problem on Windows)? Is it possible to inherit your own class to implement custom behaviour (some CPAN modules offer an OOP interface, but use "private" functions internally, thus preventing clean inheritance)?

    Alexander

    --
    Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)