NAME XML::Compile::SOAP::Daemon::Dancer2 - simple implementation of a WSDL server within Dancer2 SYNOPSIS package MyDancer2App; use Dancer2; use XML::Compile::SOAP::Daemon::Dancer2; wsdl_endpoint '/calculator', { wsdl => 'calculator.wsdl', xsd => [], implementation_class => 'Calculator', operations => { add => sub { my ( $soap, $data, $dsl ) = @_; $dsl->error( $dsl->to_dumper( $data ) ); return +{ Result => $data->{parameters}->{x} + $data->{parameters}->{y}, }; }, } }; DESCRIPTION XML::Compile::SOAP::Daemon::Dancer2 is a plugin to add a SOAP endpoint to a Dancer2 app The plugin is Heavily inspired by XML::Compile::SOAP::Daemon::PSGI The plugin export a keyword wsdl_endpoint, that takes 2 arguments, a route path and an options hashref. Options available are: * wsdl: name of the wsdl file (under appdir/wsdl) * xsd: an arrayref of xsd file (under appdir/wsdl) * implementation_class: name of class to implement the operations * operations: hashref with soap operation name as key, sub as value * implementation_class : the class needs to do the role XML::Compile::SOAP::Daemon::Dancer2::Role::Implementation For each operation, define a sub in the implementation class, soapaction_{operation_name}, each sub will be called with the following parameters: $soap, $data, $dsl operations: each sub will be called with parameters: $soap, $data, $dsl AUTHOR Pierre VIGIER CONTRIBUTORS Mohamad Hallal https://github.com/mohdhallal COPYRIGHT Copyright 2016- Pierre VIGIER LICENSE This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. SEE ALSO