cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marcus Crafter <craft...@fztig938.bank.dresdner.net>
Subject Re: Serving SOAP from Cocoon
Date Tue, 27 Aug 2002 09:28:57 GMT
Hi Deepak,

	Thanks for your enquiry! :)
	
	The sources for the SOAP server currently aren't in Cocoon CVS,
	but are in bugzilla (http://nagoya.apache.org/), under bug #11728.
	
	There you'll be able to download the relevant Cocoon sources.
	You'll also need the Apache SOAP jar (http://xml.apache.org/soap),
	javamail.jar and activation.jar (java.sun.com) for it all to compile.
	
	Since posting the code to bugzilla I've done several improvements
	and will soon be updating the code that's currently available
	(probably later on today).
	
	The improvements include porting the Reader to use Axis instead of
	Apache SOAP, and several integration issues like logging, etc.
	
	Hope that helps.
	
	Cheers,
	
	Marcus
	
On Tue, Aug 27, 2002 at 10:59:55PM +0530, deepak wrote:
> 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
> >
> >
> >
> 
> 
> 
> 
> 
> 

-- 
        .....
     ,,$$$$$$$$$,      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


Mime
View raw message