cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefano Mazzocchi <stef...@apache.org>
Subject Re: [C2]SOAP support.
Date Tue, 24 Oct 2000 09:28:04 GMT
Davanum Srinivas wrote:
> 
> Hi,
> 
> Has anyone taken a look at this?
> 
> Thanks,
> dims
> 
> >    3) SOAP support. (??? I really don't know about this.. Flexibility
> >    Syndrome???)
> >
> >    SOAP (Simple Object Access Protocol) is an internet draft
> >    (draft-box-http-soap-01.txt) that specifies a way to use XML-over-HTTP
> >    for remote procedure calling and data transport.
> >
> >    SOAP doesn't address a bunch of things like distributed gargabe
> >    collection or bi-directional HTTP communications. So it's not a
> >    CORBA-light thing, but a nice way to use simple existing code and
> >    knowledge to do powerful things.
> >
> >    a SOAP request looks like this:
> >
> >       POST /StockQuote HTTP/1.1
> >       Host: www.stockquoteserver.com
> >       Content-Type: text/xml
> >       Content-Length: nnnn
> >       SOAPMethodName: Some-Namespace-URI#GetLastTradePrice
> >
> >       <SOAP:Envelope xmlns:SOAP="urn:schemas-xmlsoap-org:soap.v1">
> >         <SOAP:Body>
> >           <m:GetLastTradePrice xmlns:m="Some-Namespace-URI">
> >             <symbol>DIS</symbol>
> >           </m:GetLastTradePrice>
> >         </SOAP:Body>
> >       </SOAP:Envelope>
> >
> >    and the response is something like this:
> >
> >       HTTP/1.1 200 OK
> >       Content-Type: text/xml
> >       Content-Length: nnnn
> >
> >       <SOAP:Envelope xmlns:SOAP="urn:schemas-xmlsoap-org:soap.v1">
> >         <SOAP:Body>
> >           <m:GetLastTradePriceResponse xmlns:m="Some-Namespace-URI">
> >              <return>34.5</return>
> >           </m:GetLastTradePriceResponse>
> >         </SOAP:Body>
> >       </SOAP:Envelope>
> >
> >    Now, look carefully. Cocoon is already able to handle this:
> >    ProducerFromRequest!!!
> >
> >    Ok, a better approach would be to write a producer that reacts on the
> >    "SOAPMethodName:" header and connects to the right object and does all
> >    that introspection and reflection things and then generates the response
> >    output directly....
> >
> >    or we can use simple producers and do the evaluation with filters...
> >    anyway the architecture is able to stand this with no problems. :)
> >
> >    Now the question: should Cocoon care about this? Normally SOAP is
> >    considered a way for simple clients to interact with object
> >    repositories... a simpler way to use ODMG + remote logic. Much simpler,
> >    in any case.
> >
> >    We could picture something like this:
> >
> >     browser <-> HTMLoverHTTP <-> cocoon <-> SOAPoverHTTP <->
cocoon <->
> >    object
> >
> >    but maybe using cocoon for the last step is a little bit too much... in
> >    fact, creating a SOAP server is a piece of cake once you have
> >    http-handling classes (tomcat) and an xml parser (xerces).
> >
> >    We'll see. anyway, we won't be surprised when something like this gets
> >    asked. :)

Hmmmm, this would create a huge overlap between Cocoon and the Apache
SOAP project, don't you think?

Since we already have a java SOAP implementation around, do you see any
reason to duplicate the effort?

I'm not sarcastic, I'm really curious. Did you have anything specific in
mind.

Stefano.

Mime
View raw message