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 <pierre.vigier@gmail.com>

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