Just another Perl shrine | |
PerlMonks |
State of SOAP/WSDL supportby drewbie (Chaplain) |
on Feb 26, 2008 at 17:18 UTC ( [id://670330]=perlquestion: print w/replies, xml ) | Need Help?? |
drewbie has asked for the wisdom of the Perl Monks concerning the following question:
Hi all,
Long time gone, but I'm jumping into the world of web services at $work and need some advice. We're putting together an SOAP-based API and I have lots of questions about best practices for generating the SOAP responses. The platform is still open for discussion, but leaning towards Catalyst + Catalyst::Controller::SOAP + (XML::Compile::SOAP or SOAP::WSDL). The plan was to use SOAP 1.1 and WSDL 1.1. Clients are very straightforward since we'll be publishing WSDL files, and XML::Compile::SOAP and SOAP::WSDL both seem to be work nicely out of the box. The docs are generally good for both, especially considering the large amount of functionality. We'll be creating a simple reference platform that will consume the services as a testbed, so client support is important. The server side is not so straightforward. Perhaps the first question is: Are people writing SOAP servers with perl? Googling doesn't find much in recent history. I had been leaning towards XML::Compile::SOAP, but took a second look at SOAP::WSDL and was happy with the results from it too. Both support auto-configuration from a WSDL file (a must-have feature). And both have plans for better server support in the future. But I think Catalyst::Controller::SOAP will do the trick as long as I can generate a valid XML response to match the schema. I'm not even considering SOAP::Lite because of it's poor WSDL support and general slowness. Method dispatch support for document/literal in Catalyst::Controller::SOAP seems to be missing so far. I hacked in support to look at the SOAPAction HTTP header but later read it's optional so I guess we'd look at the first element within the <Body> for a better approach. The wrapping of the response in the SOAP envelope looks useful as well. Anyway, I'm rambling now, but I'd appreciate any advice you may offer. Drew
Back to
Seekers of Perl Wisdom
|
|