package PostApp::Controller::WS;
use strict;
use warnings;
use base 'Catalyst::Controller::SOAP';
sub hello : Local SOAP('DocumentLiteral') {
my ( $self, $c, $body ) = @_;
my $who = $body->textContent();
$c->stash->{soap}->string_return('Hello '.$who.'!');
}
sub foo : Local SOAP('DocumentLiteral') {
my ( $self, $c, $body ) = @_;
my $who = $body->textContent();
my $env = $c->stash->{soap}->parsed_envelope;
my $foo = $env->createElement('foo');
my $bar = $env->createElement('bar');
$foo->appendChild($bar);
my $baz = $env->createElement('baz');
$bar->appendChild($baz);
$baz->appendText('Hello '.$who.'!');
$c->stash->{soap}->literal_return($foo);
}
sub bar : Local SOAP('DocumentLiteral') {
die 'exception leaked by an action';
}
1;