GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Catalyst::Action::SOAP::DocumentLiteralWrapped(3) User Contributed Perl Documentation Catalyst::Action::SOAP::DocumentLiteralWrapped(3)

Catalyst::Action::SOAP::DocumentLiteralWrapped - Document/Literal Wrapped SOAP ActionClass

 # in the controller

 __PACKAGE__->{config}{soap_action_prefix} = 'http://foo/bar/';

 use base 'Catalyst::Controller::SOAP::DocumentLiteralWrapped';
 # or
 sub endpoint : Local ActionClass(SOAP::DocumentLiteralWrapped) { }

Microsoft has defined a pseudo-standard for SOAP usage called Document/Literal Wrapped. This standard is a deviation of both the Document/Literal and of the RPC/Literal usages.

A Document/Literal service is supposed to have one operation per bind, as it's not techically possible to dispatch on the content of the Body. In fact, as the Body is used as "literal" the dispatching should not even look at it, it should be based on the port that received the request.

RPC/Literal, on the other hand, supports the use of several operations per bind, and the dispatching of this operations is based on the first and only child element of the message body, which defines the operation. The arguments are set as the parts of the message in the WSDL.

Document/Literal-Wrapped is a deviation of both, as the message should be interpreted as Document/Literal, but the dispatching requires an additional step of looking at the SOAPAction HTTP header, which will identify the proper operation to be dispatched.

This is plain wrong, as the SOAP Action information should be used for routing pourposes only and not for operation dispatch. Please see the SOAP standard. In fact, SOAP1.2 even makes SOAPAction optional.

THIS MODULE IS HERE FOR COMPATIBILITY REASONS ONLY, SO YOU CAN USE WHEN IN NEED TO IMPLEMENT A LEGACY SERVICE THAT USES THIS PSEUDO-STANDARD. THIS USAGE SCENARIO SHOULD NOT BE PROMOTED BY ANY WAY. THE CORRECT WAY TO IMPLEMENT THE SAME FUNCTIONALITY IS BY USING RPC/Literal, THAT WILL IN PRODUCE THE EXACT SAME MESSAGE BODY.

The operation is dispatched according to the SOAPAction header. The operation name is extracted by removing the given prefix and assuming the rest of the SOAPAction is the effective operation name (removing "s).

Well, here? nothing, all the work is done in the superclass.

Daniel Ruoso <daniel@ruoso.com>

Please submit all bugs regarding "Catalyst::Controller::SOAP" to "bug-catalyst-controller-soap@rt.cpan.org"

This library is free software, you can redistribute it and/or modify it under the same terms as Perl itself.
2013-03-10 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.