Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [aspectj-users] Using Aspect to pass a metadata as a new parameter through SOAP

Hi,

> I don't think aspect provides a way to send an extra parameter through
> SOAP to a VM on another machine.

No there is no built in support for this in AspectJ, you'd need to
modify the call side and server side to add/process the extra data
respectively, but if to do that you need to modify something other
than bytecode (e.g. an xml spec for the data being transferred) then
it won't able to help you.

But if you just need to pass something from the top to the bottom of a
call sequence within one VM, you can use the wormhole pattern.  There
are probably other references but a quick google turned up this one:

http://www.theserverside.com/news/1365184/Part-2-The-Techniques-of-the-Trade

This pattern enables you to pass something from the top to the bottom
of the control flow without adding a parameter to all methods in
between.

cheers
Andy

On 2 December 2011 06:32, Ashiwan.S. <sivakumarash007@xxxxxxxxx> wrote:
> Hi All,
>
> Sorry to bother you with email. I am new to aspectj and finding it
> really useful to write modular cross cutting concerns.
> I am trying to implement a distributed tracer for an enterprise web
> application, which uses a Metadata object
> passed along the requests. I am trying to use aspects to automate the
> process of adding the metadata to HTTP header. But I am facing a road
> block in using aspects.
>
> 1. The Architecture of my application goes as below:
>
> Users ----> (HTTP) FE ---------> (SOAP or RMI) BS (SOAP/RMI)----------> BE
>
> The application is written using J2EE. The web container talks to the
> EJB container through SOAP. It uses the Axis implementation of the
> soap protocol.
>
> 2. Till the FE-Endpoint(where it makes a call to the BS), the HTTP req
> is passed as argument along all the function calls. So I added the
> metadata as string in the header. This code is modular.
>
> 3. But from the End point at FE, when a soap call is made to BS(Web
> service) the appropriate method is run . This is done through SOAP (as
> SOAP messages). I have to modify all function calls in the flow from
> FE to BS and BS to BE to carry extra parameter (which is the
> metadata). I also need to modify the WSDL document which the SOAP
> server, client agree upon to notify this new parameter.  I am trying
> to figure out if this can be automated using aspect too.
>
> I don't think aspect provides a way to send an extra parameter through
> SOAP to a VM on another machine.
>
> I would be much happy if someone can please let me know if this can be
> done using aspects.
> Highly appreciate any pointers or a quick work around in this regard.
>
> -Ashiwan
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/aspectj-users


Back to the top