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


Reply via email to