You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cocoon.apache.org by Davanum Srinivas <di...@yahoo.com> on 2000/10/23 01:43:26 UTC

[C2]SOAP support.

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. :)
>    

=====
Davanum Srinivas, JNI-FAQ Manager
http://www.jGuru.com/faq/JNI

__________________________________________________
Do You Yahoo!?
Yahoo! Messenger - Talk while you surf!  It's FREE.
http://im.yahoo.com/

Re: [C2]SOAP support.

Posted by Stefano Mazzocchi <st...@apache.org>.
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.

RE: [C2]SOAP support.

Posted by Per Kreipke <pe...@onclave.com>.
Uli Mayring wrote a taglib to do

> >     browser <-> HTMLoverHTTP <-> cocoon <-> SOAPoverHTTP <-> cocoon <->
object

cocoon <-> SOAP <-> remote server

See cocoon-users archive (subject "SOAP taglib ready", Oct 11). Here's a
snippet:

"you can download a very first version of my SOAP taglib from
http://ulim.cocoonhost.com/soap.tar.gz"

Per.

> -----Original Message-----
> From: Davanum Srinivas [mailto:dims@yahoo.com]
> Sent: Sunday, October 22, 2000 7:43 PM
> To: cocoon-dev@xml.apache.org
> Subject: [C2]SOAP support.
>
>
> 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. :)
> >
>
> =====
> Davanum Srinivas, JNI-FAQ Manager
> http://www.jGuru.com/faq/JNI
>
> __________________________________________________
> Do You Yahoo!?
> Yahoo! Messenger - Talk while you surf!  It's FREE.
> http://im.yahoo.com/
>