cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andy Lewis" <...@ascii27.net>
Subject Re: [RT] WebServicesProxy Generator
Date Mon, 24 Jun 2002 22:56:51 GMT

How about ICE?

I've got a Cocoon-friendly ICE 1.1 effort underway. If I get it working.....(amidst the myriad
of
other things going on)
Besides ICE 2.0 is beingrefactored for SOAP integration...so it would be a shame to miss out
on
that....
>
> Following is an initial draft of a new component I am starting to work on.
>
> Fire and Ice welcome ;)
>
>
> ------------------------------------------------------------------------
>
> The WebServiceProxy Cocoon generator is intended to:
>
> 1) Allow easy syndication of dynamic content as a natural extension of  the currently
popular
> static content syndication with RSS.
>
> 2) Allow transparent routing of web service request through GET, POST,  SOAP-RPC and
SOAP-DOC
> binding methods.
>
> 3) Allow almost full control through sitemap configuration.
>
> 4) Allow use of Cocoon components for content formatting, aggregation  and styling through
a
> tight integration with the Cocoon sitemap.
>
> 5) Require 0 (zero) lines of Java or other business logic code in most  cases.
>
> 6) Be generic and flexible enough to allow custom extensions for
> advanced and non-typical uses.
>
> 7) Support sessions, authentication, http 1.1, https,  request
> manipulation, redirects following, connection pooling, and others.
>
> 8) Use the Jakarta HttpClient library which provides many sophisticated  features for
HTTP
> connections.
>
>
>
> ------------------------------------------------------------------------ Example I: Integration
> of the Amazon book search service in a Cocoon portal:
> ------------------------------------------------------------------------
>
> pipeline:
> ---------
>
>     <map:pipeline>
>       <map:match pattern="amazon/searchform">
>           <map:generate src="AmazonForm.xml"/>
>           <map:transform src="AmazonForm2html.xsl"/>
>           <map:transform
> src="context://stylesheets/xmlform/xmlform2html.xsl"/>
>           <map:serialize type="html"/>
>         </map:act>
>       </map:match>
>
>       <map:match pattern="amazon/search*">
>
>           <map:generate src="http://rcm.amazon.com/e/cm{1}">
>               <!-- The WebSericeProxy generator takes 3 arguments: --> <!--
1) The URL of the
>               targeted web service -->
>               <!-- 2) The binding method: GET, POST, SOAP-RPC or
> SOAP-DOC -->
>               <!-- 3) Optionally, name of the session to the remote
> service, which allows scoping and grouping between different sitemap  sections. -->
>               <map:parameter name="wsproxy-method" value="GET"/>
>               <map:parameter name="wsproxy-session"
> value="myAmazonSession"/>
>           </map:generate>
>
>           <map:transform src="amazonform2html.xsl"/>
>           <map:transform
> src="context://stylesheets/xmlform/xmlform2html.xsl"/>
>           <map:serialize type="html"/>
>         </map:act>
>       </map:match>
>     </map:pipeline>
>
>
> AmazonForm.xml:
> ---------------
>
> <?xml version="1.0" ?>
> <document xmlns:xf="http://xml.apache.org/cocoon/xmlform/2002">
>   <xf:form id="form-amazon" view="search"
> action="amazon/search?t=myAmazonId-02-20&l=st1&mode=books&p=102&o=1&f=xml">
>     <xf:caption>Amazon book search by keyword</xf:caption>
>     <xf:textbox ref="search">
>         <xf:caption>Keywords</xf:caption>
>     </xf:textbox>
>     <xf:submit id="submit" class="button">
>       <xf:caption>Submit</xf:caption>
>     </xf:submit>
>   </xf:form>
> </document>
>
>
> ------------------------------------------------------------------------ Example II:
Even more
> interesting.
> Integration with an interactive web service - the Cocoon FeedBack Wizard. Notice that
it is
> actually simpler to integrate with an interactive  service then a "single call" based
one,
> because WebServiceProxy supports  sessions as well !
> ------------------------------------------------------------------------
>
>     <map:pipeline>
>       <map:match pattern="RemoteWizard/*">
>         <map:generate
> src="http://remotehost:8080/cocoon/samples/xmlform/{1}">
>           <map:generate src="http://rcm.amazon.com/e/cm{1}">
>               <map:parameter name="wsproxy-method" value="POST"/> <map:parameter
>               name="wsproxy-session"
> value="myFeedbackWizardSession"/>
>           </map:generate>
>           <map:transform src="myNewStyle-wizard2html.xsl"/>
>           <map:transform
> src="context://stylesheets/xmlform/xmlform2html.xsl"/>
>           <map:serialize type="html"/>
>         </map:act>
>       </map:match>
>     </map:pipeline>
>
>
>
> ------------------------------------------------------------------------ End of file
> ------------------------------------------------------------------------
>
>
> --
>
> -= Ivelin =-
>
>
> --------------------------------------------------------------------- To unsubscribe,
e-mail:
> cocoon-dev-unsubscribe@xml.apache.org
> For additional commands, email: cocoon-dev-help@xml.apache.org


-- 
"The heights of genius are only measurable by the depths of stupidity."



---------------------------------------------------------------------
To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
For additional commands, email: cocoon-dev-help@xml.apache.org


Mime
View raw message