![]() |
|
Clear questions and runnable code get the best and fastest answer |
|
PerlMonks |
Implementing WSDL-oriented SOAP applications in Perlby ruoso (Curate) |
on Apr 02, 2008 at 17:18 UTC ( #678009=CUFP: print w/replies, xml ) | Need Help?? |
This post is mostly an update of the features of the Catalyst::Controller::SOAP module, but since this is a groundbreaking release and that you now can deploy easily WSDL oriented services, I thought it is worth a post here. UsageRPC/LiteralRPC Literal is an alternative to RPC/Encoded, as many people don't like SOAP-Encoding. You still have the RPC semantics and the input and output are parsed according to the WSDL
Document/LiteralAlso known as Document/Literal-Bare, this is a usage where each endpoint has only one operation. This way, your operation look like
Document/Literal WrappedTHIS IS IMPLEMENTED FOR COMPATIBILITY REASONS ONLY, and provides an endpoint that delays the dispatch based on the SOAPAction header. Please see Catalyst::Controller::SOAP::DocumentLiteralWrapped documentation for a detailed explanation of why this usage SUCKS Here the programming semantics are the same of RPC/Literal, but the parsing semantics are the same of Document/Literal.
BUT I, AGAIN, WARN YOU THAT THIS IS A PSEUDO-STANDARD DEFINED BY MICROSOFT THAT IS HTTP-SPECIFIC, AND SHOULD BE DISCOURAGED. RPC/Literal CAN IMPLEMENT THE EXACT SAME MESSAGES THAN Document/Literal-Wrapped AND KEEPS THE DISPATCHING SEMANTICS SANE. And what about client use?Catalyst::Controller::SOAP have the companion Catalyst::Model::SOAP that maps stub methods for every operation as described by XML::Compile::WSDL11. So, happy hacking...
daniel
Back to
Cool Uses for Perl
|
|