The POD for C::C::S::DLW says: 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/Lit- eral, but the dispatching requires an additional step of looking at the SOAPAction HTTP header, which will identify the proper operation to be dispatched. I am rather new to this SOAP affair - but according to http://www.ibm.com/developerworks/webservices/library/ws-whichwsdl/ - the dispaching in Document/Literal-Wrapped should be done on the first and only child element of the message body, which defines the operation just like in the RPC/Literal case. Then formally you when you have a function of type A -> ( B -> C ) - i.e. the RPC/Literal case - where the first parameter defines what function is applied to the rest of arguments. Then you can always uncurry it to (A, B) -> C - that is you can have a function that takes both parameters and returns the end result. So if you treat the dispatching as an internal affair in the server you can always say that the function is of the right type for Document/Literal. -- Zbigniew Lukasiak http://brudnopis.blogspot.com/ http://perlalchemy.blogspot.com/ _______________________________________________ List: Catalyst@lists.scsys.co.uk Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/ Dev site: http://dev.catalyst.perl.org/