cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Homeijer <>
Subject [C2] SOAP continued
Date Wed, 16 May 2001 08:28:04 GMT
Based on responses on previous messages, I am going to try to build a SOAP
client and server prototype in Cocoon 2 with the following principles:
SOAP Client
- Requests to a SOAP server can be performed from an XSP page
- The SOAP envelope will be used to base a logic sheet upon. My motivation
to not migrate the soap logic sheet developed for Cocoon 1 (By Ulrich
Mayring) is that using the SOAP envelope syntax will standardize the soap
call and will make the call less dependent on de logic sheet, creating a
migration path when new tools for SOAP are available. Motivation not to use
transformers with WSDL file as input (as proposed by Matthew Langham in a
reply to one of my posts) is that the WSDL files describe what call can me
made and not what calls a client can make (IMHO very important when complex
services are called). Maybe the WSDL file can be used to validate the soap
envelope or maybe tools can be found that create an editor for the soap
envelope based on the wsdl file.
- A call tag will be introduced to be able to send the soap envelope to a
server and to specify where the content from response envelope should go
(eg. to the xml output or to a variable).
- Argument tags will be introduced to be able to pass java datatypes and
have them translated to the appropriate soap calls.
- The soap logic sheet will translate the envelope, the call tags and the
argument tags to java code.

SOAP server:
- SOAP requests will be handled by a normal Cocoon pipeline.
- The output of the pipeline will be a SOAP envelope.
- A logic sheet can be built in the future to support translation from java
datatypes to soap specific xml tags.
- Something should be built to receive the SOAP request envelope and extract
is so that for example the SOAP method specified in the request can be used
in the sitemap to specify which XSP page should handle the request and
produce the soap response as output. This part is not clear to me, Giacomo
suggested using actions for this part, but I am looking for more detail. 

Based on my understanding from Cocoon 2, this is what I should develop for
the SOAP server:
- A selector that takes the request envelope and makes it possible to select
pipeline components based on the SOAP method specified in the request
- An action that takes the request envelope and translates it into something
that can be used in an XSP page to produce output
I am not sure if this means parsing the request envelope multiple time (at
least once in a selector and at least once in an action) or how these
components should be called or configured in the sitemap. If anyone with
some more knowledge of C2 / sitemap could translate this part into sitemap
conventions, i'd be gratefull. It would give me something to start with.

Thanks in advance for some feedback.

Michael Homeijer

To unsubscribe, e-mail:
For additional commands, email:

View raw message