The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
package PostApp::Controller::WithWSDL3;

use strict;
use warnings;
use base 'Catalyst::Controller::SOAP';

__PACKAGE__->config->{wsdl} = 't/hello3.wsdl';

sub Greet : WSDLPort('Greet') {
    my ( $self, $c, $args ) = @_;
    my $who = $args->{parameters}{who};
    my $grt = $args->{parameters}{greeting};
    $c->stash->{soap}->compile_return({ details => { greeting => $grt.' '.$who.'!' }});
}

sub Shout : WSDLPort('Shout') {
    my ( $self, $c, $args ) = @_;
    my $who = $args->{parameters}{who};
    my $grt = $args->{parameters}{greeting};
    $c->stash->{soap}->compile_return({ details => {greeting => uc($grt).' '.uc($who).'!!' }});
}

1;