I have been working with Fletch's POE::Component::SOAP. It's wonderful
to be able to get a SOAP server up and running with very little code.
I am tripping over some conceptual issues with the synchronouse calls.
Perhaps some of you who are more familiar with POE paradigm can
enlighten me.
Currently PoCo::SOAP makes a synchronous SOAP::Server::handle call to
deal with the SOAP requests. I am wondering how to make it more POE
compliant, perhaps some how breaking this up in a fashion similar to
PoCo::SubWrapper. It's not obvious to me how to go about this.
Here is an extract of the function that handles incoming requests.
sub got_req {
my( $self, $heap, $input, $wheel_id ) = @_[ OBJECT, HEAP, ARG0, ARG1
];
$input .= '</SOAP-ENV:Envelope>';
my $response = $self->{_dispatch}->handle( $input );
$self->{_wheel}->put( $response );
}
It seems that it may be necessary to move
$self->{_wheel}->put( $response );
to another state, got_resp, after the result of the SOAP call is
available. I am somewhat at loss regarding the next step.
Thanks in advance.
Pete