Dear all,
>From within a webservice that runs on Axis2, I need to access some soap header information (the <wsse:BinarySecurityToken> to be exact, I need to find out which certificate was passed for client authentication). Application architecture: I am running Intalio BPMS, which is Apache ODE that seems to auto-create a webservice and its WSDL on Axis2 (without programming on my side). This runs on Tomcat. I do not have access to the code generated by ODE or to the integration between ODE and Axis2 (I think...) but I can place a JAR in ODE's classpath. Any (static) functions within that JAR are automatically visible to ODE. In other words, I can for instance define a jar with a static function f that accepts as input one of my wsdl parameters and outputs something that can be used in following steps of the ODE-managed process. So far so good, no problems there since I've remained within the realm of the data sent as input to the WSDL (i.e. only parameters from inside the soap:body that are automatically available). Now as mentioned I need to access the soap:header and there I've got a problem since the bpel layer is happily unaware of the existence of such a thing as the soap:header. After some googling I started to think that my best bet was to add a jar/function in ode's classpath and to call MessageContext.getCurrentMessageContext() from there (am I correct in assuming this or is there a better alternative?). Unfortunately my first attempt stranded with a null coming back from it. All functions are accessible/callable and also have the Axis2 jar's in the same classpath directory so that should be ok. My guess is I'm in a different thread or context due to placing it in a separate jar maybe but how do I find out if this is true? And how can I access another thread's information if this is the problem? The entire process spans a single (synchronous) soap request/response dialog so I guess there should be a message context somewhere (as the request comes in before the call to my new jar and the response is sent out after the call to it). Any help or pointers is more than appreciated, Best, Christian C. Schouten