Hi Josema,

On Tue, Nov 19, 2002 at 11:59:00AM +0100, Josema Alonso wrote:
> I've just took a look.
> It is using the AxisRPCReader. I thought a reader was something like a
> complete pipeline. I mean, it gets the request, and makes the needed steps
> to generate, transform and serialze.

        Yes, a Reader is a sitemap component that performs generation and
        serialization in one stage. There were discussions on the list
        as to why a Reader was chosen, essentially, ease of use and to
        take more advantage of the Axis server component.

> I'm using a transformer that already generates the wanted XML response. How
> could I embed the result in that reader?

        Ok, the AxisRPCReader essentially wraps an Axis SOAP server, and
        makes it available in the sitemap to handle incoming requests.
        
        This means that webservices are typically written Axis-style, with
        a deployment descriptor (have a look in
        src/scratchpad/src/org/apache/cocoon/webservices/*). In fact, you
        should be able to deploy any Axis webservice inside the reader, as
        its basically the same code.
        
        You should also be able to access pipelines from within an Axis
        webservice by making an internal request via the cocoon:/ protocol.
        
        Note, I haven't yet done this, but all that should be required is to
        write a component that implements Composable, lookup the source
        resolver, and resolve a uri containing the pipeline you want to 
        resolve.
        
        This should let you use pipelines to write SOAP services. The
        method of having to lookup the source resolver, and resolve the
        uri manually could probably be better streamlined somehow, perhaps
        similar to how the AvalonProvider is written. I'm more than open to
        any suggestions.
        
> Btw, any step by step example on how to use that reader? I can see the XSL
> and XSP but can't figure out how to feed it with a SOAP request and get a
> SOAP response from it.

        You can send a SOAP request by using the XSP SOAP tag library in 
        Cocoon, the Axis SOAP client library, or any other SOAP client.
        The input and output XML fragments are IIRC logged to the
        sitemap.log, so you should be able to see everything that is going on.
        
        The XSP page that shows the server status (in
        scratchpad/webapp/samples/soap-server) uses the XSP SOAP tag
        library to make a request to the local Cocoon instance to get the
        server configuration.

        Hope that helps mate! :)
        
        Cheers,
        
        Marcus
-- 
        .....
     ,,$$$$$$$$$,      Marcus Crafter
    ;$'      '$$$$:    Computer Systems Engineer
    $:         $$$$:   ManageSoft GmbH
     $       o_)$$$:   82-84 Mainzer Landstrasse
     ;$,    _/\ &&:'   60327 Frankfurt Germany
       '     /( &&&
           \_&&&&'
          &&&&.
    &&&&&&&:

---------------------------------------------------------------------
Please check that your question  has not already been answered in the
FAQ before posting.     <http://xml.apache.org/cocoon/faq/index.html>

To unsubscribe, e-mail:     <[EMAIL PROTECTED]>
For additional commands, e-mail:   <[EMAIL PROTECTED]>

Reply via email to