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


Reply via email to