Classification: UNCLASSIFIED Caveats: NONE Simon,
For bare mode, if you don't populate SOAPAction, how is the service side going to determine the endpoint method? On the same topic, I did the work-around you and Scott suggested - to use @WebMothod to force Tuscany to populate SOAPAction. It worked with some extra code I had to add to my PolicyHandler. The code that I had to add is to also modify the Tuscany internal Message that is also passed into beforeInvoke() after the decryption is done. My original code was only modifying the SOAP envelope in the MessageContext. I had to do this because the Message was set to use the SOAP body before calling PolicyHandler in Axis2ServiceProvider.invokeTarget() and it did not work correctly when it was used to call the endpoint via wire.invoke(). Now should the code that modifies the Tuscany internal Message be done in my PolicyHandler code or be pulled back to Tuscany framework to hide the relations between MessageContext/envelope and Message? To me, it wasn't obvious how Message is related to MessageContext/envelope until I looked at Tuscany's code. This implementation can change in the future w/o PolicyHandler developer's knowledge. I'm wondering how others think. Thanks to Simon and Scott's suggestion. Gang -----Original Message----- From: Simon Nash [mailto:n...@apache.org] Sent: Tuesday, February 01, 2011 3:23 PM To: dev@tuscany.apache.org Subject: Re: An issue with Axis2 WS binding dispatcher - the dispatching mechanism does not support SOAP message body encryption (UNCLASSIFIED) Simon Nash wrote: > Scott Kurz wrote: >> Ah, thanks Simon for reminding us of that. I'd remembered us >> generating a soapAction anyway.. but that's just for the bare mapping >> apparently. >> >> > I saw that code, and I was rather puzzled by it as I didn't see > anything in the JAX-WS spec to say that SOAPAction should be > generated in the bare mapping case. > > Perhaps I should run a couple of Java interfaces (bare and wrapped) > through the JAX-WS RI wsgen to see what it does with them. > I tried this, and wsgen doesn't seem to treat the bare case any differently than the wrapped case. In both cases soapAction is generated only if specified by @WebMethod(action=....) Why does Tuscany always generate soapAction for the bare case, even though this is inconsistent with JAX-WS? Simon Classification: UNCLASSIFIED Caveats: NONE