SOAP::Lite is one of the hardest packages I've had to work with in a long time.
That said, it's an almost trivial package to use and get basic SOAP to work. For more complex operations, there's a bit of detail work involved; but not as much as most people would fear.
On the other hand, there are also some really painful pratfalls waiting for those who have to deal with non-trivial remote interfaces. A really good exercise is to use the supplied stubmaker.pl module to break a WSDL and look at the generated code. This will show you how to construct detailed interfaces with confidence.
<BadHumor>As always, the hard part is using SOAP in your application without leaving a ring around the bathtub.</BadHumor>
Stand forewarned, there are several points in the code where Paul apparently didn't have the ability to test all combinations of input and servers. Not surprising for a module with this outright level of combinatoric explosion. Also, the verbosity of some constructs is a bit high; do yourself a favor and write helper functions to simplify Header and Data object creation.
Some other users' comments had me worried about the module's code complexity. They were wrong. The code is non-trivial, but very straightforward. Paul uses a few really slick methods to auto-generate consistent code interfaces. His code is something that we all can learn from. Kudos to the man!
8 out of 10 found this review helpful. Was this review helpful to you? Yes No
At this point, I am still evaluating the utility of the XML::Compile package for my needs. Nevertheless, the package is powerful and well designed.
As a test case, I selected the Form 941 schema from the IRS. Currently I am unable to successfully use the tool with this schema, although the package author claims that he experiences no difficulties. We are currently diagnosing the issue, and will hopefully achieve resolution shortly.
Because the IRS schema did not work correctly on my system, I decided to use the XML-schema schema as a secondary test case. Again, there are difficulties. Apparently the schema is recursive, which may be beyond some of the current implementation constraints of the package. Again, the author and I are working to resolve this issue.
I rate the module as a 4+ overall, even though I am still working to determine if it suits my needs.
2 out of 3 found this review helpful. Was this review helpful to you? Yes No