cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "deepak" <dee...@apparelxml.net>
Subject Serving SOAP from Cocoon
Date Tue, 27 Aug 2002 17:29:55 GMT
Dear Sir,
I have read yr mail send to the cocoon-dev's regarding the above subject and
would like to test out the services provided.

I am unable to find the code (classes) in the CVS or on the site as
mentioned in the mail.

Kindly reply , if all the source files are present in the latest copy of
Apace-Cocoon ( as per the directory structure mentioned in the mail).

regards
Deepak.

----- Original Message -----
From: "Marcus Crafter" <crafterm@fztig938.bank.dresdner.net>
To: "Cocoon Developers Mailing List" <cocoon-dev@xml.apache.org>
Sent: Thursday, August 15, 2002 8:00 PM
Subject: Proposal: Serving SOAP from Cocoon


> Hi All,
>
> Hope all is well.
>
> Over the past couple of days I've been working on adding the
> ability for a Cocoon application to serve SOAP requests.
>
> The motivation for this work came from:
>
> o The need to share business logic data with other projects, ie.
>   B2B communcation.
>
> o The desire to build an administration application and remotely query
>   a live system about its status.
>
> Instead of building a second server into our application (ie. RMI,
> CORBA, etc), I thought it might be better to use SOAP for this for
> several reasons, mainly since servlet based Cocoon applications are
> really HTTP oriented servers anyway.
>
> The code adding this functionality is in bugzilla, #11728.
>
> My hope is that this feature is of use for others too.
>
> Essentially, I took the RPCRouterServlet from the Apache SOAP
> project and ported it to Cocoon as a Reader, which in effect
> allows you to register SOAP services within your Cocoon app, and
> serve data to other clients.
>
> The reader can be configured in the sitemap as follows:
>
> <!-- Defines a SOAP RPC reader that will serve SOAP requests via
HTTP-POST.
>
>      'managed-services' defines a list of Apache SOAP deployment
descriptors
>      that will be automatically deployed at startup and undeployed at
>      shutdown of this reader.
>  -->
> <map:reader logger="sitemap.reader.soap-rpc" name="soap-rpc"
>             src="org.apache.cocoon.reading.SoapRPCReader">
>  <managed-services>
>   <descriptor
src="resource://org/apache/cocoon/components/soap/services/memory/Deployment
Descriptor.xml"/>
>  </managed-services>
> </map:reader>
>
> Consult the javadocs for the full option set which includes the
> ability to set an EnvelopeEditorFactory, and custom SOAP server xml
> config file.
>
> The pipeline match is quite simple like most readers:
>
> <!-- Match SOAP RPC Router requests -->
> <map:match pattern="rpcrouter">
>  <map:read type="soap-rpc" mime-type="text/xml"/>
> </map:match>
>
> With these 2 sections added to your sitemap, you can then make
> HTTP-POST queries to the above pipeline to deploy, list, invoke or
> undeploy particular SOAP services from your Cocoon app. The
> ServiceManagerClient class that comes with Apache SOAP is quite
> useful for this.
>
> I've included an example service with my patch which allows a
> remote client to query the amount of free & total memory the remote
> Cocoon app currently has, and also allows a client to invoke the
> garbage collector on the remote application.
>
> For those interested have a look at the class and deployment
> descriptor in the o/a/c/components/soap/services/memory directory,
> and the webapps/samples/soap directory.
>
> The SoapRPCReader also adds the Cocoon request, response, context
> and ComponentManager to the SOAP request context, which means it's
> possible for your SOAP services to access any avalon components you may
> have written, and also session data that may be relevant for the
> particular request. Have a look at the
> o/a/c/components/soap/services/template directory for an example of
> this.
>
> Normal SOAP services (ie. cocoon independant) can also be deployed,
> including those implemented in other languages via BSF support. The
> Apache SOAP documentation describes how this can be done.
>
> The reader itself requires the presence of the Apache SOAP jar
> (2.3.1 used during development), and the SUN activation and
> javamail jar. I've modified the build.xml so that the reader and
> associated services are only built if these libraries are present.
>
> I'm now looking at the various statistical & administration
> information we might like to provide from Cocoon, hopefully in
> combination with the instrumentation interfaces from Excalibur.
>
> Ok, so I hope its of use for more people that just me, if there's any
> questions, comments, feel free to ask.
>
> Cheers,
>
> Marcus
>
> --
>         .....
>      ,,$$$$$$$$$,      Marcus Crafter
>     ;$'      '$$$$:    Computer Systems Engineer
>     $:         $$$$:   ManageSoft GmbH
>      $       o_)$$$:   82-84 Mainzer Landstrasse
>      ;$,    _/\ &&:'   60327 Frankfurt Germany
>        '     /( &&&
>            \_&&&&'
>           &&&&.
>     &&&&&&&:
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: cocoon-dev-unsubscribe@xml.apache.org
> For additional commands, email: cocoon-dev-help@xml.apache.org
>
>
>







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


Mime
View raw message