views:

130

answers:

0

I have a soap extender which I am using to log the http soap request and response for each webservice that is called from my application as a comms log. I would like to inject a token on the 1st call (possibly the 1st call to invoke the service that is being logged) and then be able to track all subsequent webservice calls run in the same context with this token so I can tie the subsequent calls back up to the original call.

so for example.

main webservice     ->     2nd web service    ->    another web  service              
[token]                    [token]                  [token]
                    ->     nth web service
                           [token]

I would like to inject the token on the first call to the main webservice (http handler checks if no token, add it), I would like to use the same soap extender to intercept each call to the subsequent webservices and pass on the token if it exists already (the job of the soap extender is to log the in/out soap with the token to reference with.

I have managed to inject the first token, but my problem is how do I add the token on the subsequent calls.. can I make it stick on the same context or session? My worry is that when we call a new webservice, we create a whole new proxy/http request which will not inhrit the token... or will it?!
Ideally I would like it to persist on the http header as I am setting the token as a header at the moment? has anyone got any ideas or a better way of doing this?

I would be most greatful for you comments!