Ruwan

I think its enough to set the anonymous one as long as we send it.
That might just fix everything.

Paul

On Sun, Jun 8, 2008 at 2:22 PM, Ruwan Linton <[EMAIL PROTECTED]> wrote:
> Hi Jeff and Paul,
>
> I was able to reproduce the issue, basically whatever we specify as the
> ReplyTo header Addressing module changes it to anonymous for the outbound
> message and neglects sending it. So setting the ReplyTo header is not
> effective for the moment. Jeff, could you please file a JIRA for this. At
> the same time I had a look at what Paul proposed and it seems to work but
> still it is just the anonymous address but not the one we set. You could use
> the property mediator at the axis2-client scope to set this property as
> follows to include the anonymous header;
>
> <syn:property name="includeOptionalHeaders" value="true"
> scope="axis2-client"/>
>
> Or if you use separateListener attribute to true with the enableAddressing
> tag then you can see the non anonymous ReplyTo header is being sent to the
> service.
>
> I will look for a solution to this issue ASAP. Thanks Jeff for pointing this
> out.
>
> Thanks,
> Ruwan
>
> On Sun, Jun 8, 2008 at 1:40 PM, Paul Fremantle <[EMAIL PROTECTED]> wrote:
>
>> Jeff
>>
>> Thanks for the feedback. Please can you submit your code as a sample?
>> We will definitely try to fix the bug. I agree rampart should not be
>> causing addressing headers to appear. The reason that the anonymous
>> header is being stripped out is because the WS-A spec says that no
>> reply-to is equivalent to anonymous, so there is a bug in Amazon.
>> However, there is a way in Axis2 to turn this behaviour off.
>>
>> options.setProperty(AddressingConstants.INCLUDE_OPTIONAL_HEADERS,
>> Boolean.TRUE);
>>
>> So another way to sort that out will be to set that property on the Axis2
>> MC.
>>
>> Paul
>>
>> On Sun, Jun 8, 2008 at 6:24 AM, Jeff Davis <[EMAIL PROTECTED]> wrote:
>> > Turns out my work-around really didn't solve the problem (because
>> > Axis/Rampart is anticipating a WS-Addressing reply, and since I've
>> stripped
>> > it out downstream, I'd have to add it back manually).
>> >
>> > The crux of the issue is that I cannot figure out how to added this:
>> >
>> > <wsa:ReplyTo><wsa:Address>http://www.w3.org/2005/08/addressing/anonymous
>> > </wsa:Address></wsa:ReplyTo>
>> >
>> > To my WS-Addressing part of my SOAP header.
>> >
>> > I believe it ought to be present, but it's not, as I've confirmed through
>> > TCPMon. I've tried everything I can think of to get it to appear, but
>> thus
>> > far have had no luck.
>> >
>> > Thanks,
>> >
>> > jeff
>> >
>> > On Sat, Jun 7, 2008 at 9:23 PM, Jeff Davis <[EMAIL PROTECTED]> wrote:
>> >
>> >> Maybe it's not a bug but a feature request :-).
>> >>
>> >> I see two issues:
>> >>
>> >> 1) WS-Security automatically adds undesirable WS-Addressing elements
>> (IMO,
>> >> this should only happen when enableAddressing is specified). I don't see
>> >> anything in the WS-Security spec that indicates WS-Addressing is
>> required. I
>> >> don't see a way to turn this behavior off in Synapse, without resorting
>> to a
>> >> workaround such as I demonstrated (i.e., chaining together 2 sequences,
>> >> within one removing the undesirable WS-Addressing elements).
>> >>
>> >> 2) I didn't see a a way to add the ReplyTo WS-Addressing element (and
>> it's
>> >> child node Address) using the header mechanism (or property, for that
>> >> matter). This was the crux of my issue, as, for some reason, Amazon
>> expected
>> >> a ReplyTo. I suspect this is probably easily possible, but just wasn't
>> able
>> >> to figure it out.
>> >>
>> >> Btw, I was able to successfully interact with Amazon's SimpleDB now! I
>> hope
>> >> to writeup a blog entry on my findings (I am actually also writing the
>> book
>> >> called Open Source SOA from Manning, and I am including a big chapter on
>> >> Synapse, which I am a huge fan of).
>> >>
>> >> To be honest, a lot of this WS-Security stuff is rather new to me, so
>> I'm
>> >> feverishly trying to get a handle on it (the Manning book SOA Security
>> has
>> >> been a big help). I have used PasswordDigest mechanism a lot, but not
>> that
>> >> signing with x509 certs as much.
>> >>
>> >> jeff
>> >>
>> >>
>> >> On Sat, Jun 7, 2008 at 8:42 PM, Ruwan Linton <[EMAIL PROTECTED]>
>> >> wrote:
>> >>
>> >>> Hi Jeff,
>> >>>
>> >>> What is the bug from your POV? I am sorry, I don't see a bug here.....
>> >>>
>> >>> Well you could go ahead and file a JIRA so that we can evaluate what is
>> >>> the
>> >>> issue that you have faced and see whether is there something wrong with
>> >>> Synapse, but I assume this is rather a configuration error.
>> >>>
>> >>> Thanks,
>> >>> Ruwan
>> >>>
>> >>>
>> >>> On Sun, Jun 8, 2008 at 7:45 AM, Jeff Davis <[EMAIL PROTECTED]> wrote:
>> >>>
>> >>> > As a follow-up, I was running it through tcpmon, which is why it had
>> the
>> >>> > strange address.
>> >>> >
>> >>> > Yes, I am running the latest 1.2 build from the URL provided me last
>> >>> > Thursday, I believe.
>> >>> >
>> >>> > Should I submit this is a bug?
>> >>> >
>> >>> > On Sat, Jun 7, 2008 at 8:11 PM, Ruwan Linton <[EMAIL PROTECTED]
>> >
>> >>> > wrote:
>> >>> >
>> >>> > > Hi Jeff,
>> >>> > >
>> >>> > > If you enable addressing to the outbound message then synapse
>> should
>> >>> be
>> >>> > > sending the ReplyTo header as appropriate. May be amazon is not
>> >>> accepting
>> >>> > > anonymous ReplyTo headers, so assuming that you are using the 1.2
>> >>> build
>> >>> > > here
>> >>> > > is the proposed solution to this;
>> >>> > >
>> >>> > > <definitions xmlns="http://ws.apache.org/ns/synapse";>
>> >>> > >   <localEntry key="sec_policy"
>> >>> > > src="file:repository/conf/sample/resources/policy/amazon.xml"/>
>> >>> > >
>> >>> > >   <in>
>> >>> > >        <send>
>> >>> > >           <endpoint name="secure">
>> >>> > >               <address uri="http://localhost:8086";>
>> >>> > >                   <enableSec policy="sec_policy"/>
>> >>> > >                    <enableAddressing separateListener="true"/>
>> >>> > >                </address>
>> >>> > >           </endpoint>
>> >>> > >       </send>
>> >>> > >   </in>
>> >>> > >   <out>
>> >>> > >        <header name="wsse:Security" action="remove" xmlns:wsse="
>> >>> > > http://www.w3.org/2005/08/addressing"/>
>> >>> > >        <send/>
>> >>> > >   </out>
>> >>> > > </definitions>
>> >>> > >
>> >>> > > The above configuration should work, but please note that you need
>> to
>> >>> > > change
>> >>> > > the address uri of the endpoint in the above configuration from "
>> >>> > > http://localhost:8086"; to "AMAZON_URL"
>> >>> > >
>> >>> > > If this is not working could you please attach the TCPMon out put
>> of
>> >>> the
>> >>> > > outbound message which is going to AMAZON (after changing important
>> >>> > > information) and the message received from AMAZON. If you don't
>> want
>> >>> to
>> >>> > > post
>> >>> > > it publicly you may send it to me (mailto:[EMAIL PROTECTED] <
>> >>> [EMAIL PROTECTED]
>> >>> > >)
>> >>> > >
>> >>> > > Thanks,
>> >>> > > Ruwan
>> >>> > >
>> >>> > > On Sun, Jun 8, 2008 at 7:01 AM, Jeff Davis <[EMAIL PROTECTED]>
>> >>> wrote:
>> >>> > >
>> >>> > > > I did a little research, and I haven't seen anything in the
>> standard
>> >>> > that
>> >>> > > > indicates WS-Security requires WS-Addressing.  Unfortunately, it
>> >>> > doesn't
>> >>> > > > appear as though setting the header has any impact (further, if
>> it
>> >>> did,
>> >>> > > the
>> >>> > > > ReplyTo has a child element for the Address, so not sure how that
>> >>> would
>> >>> > > be
>> >>> > > > added). Here's my configuration:
>> >>> > > >
>> >>> > > > <definitions xmlns="http://ws.apache.org/ns/synapse";>
>> >>> > > >    <localEntry key="sec_policy"
>> >>> > > > src="file:repository/conf/sample/resources/policy/amazon.xml"/>
>> >>> > > >
>> >>> > > >    <in>
>> >>> > > >        <header name="ReplyTo" action="set" value=""/>
>> >>> > > >        <send>
>> >>> > > >            <endpoint name="secure">
>> >>> > > >                <address uri="http://localhost:8086";>
>> >>> > > >                    <enableSec policy="sec_policy"/>
>> >>> > > >                    <enableAddressing/>
>> >>> > > >                </address>
>> >>> > > >            </endpoint>
>> >>> > > >        </send>
>> >>> > > >    </in>
>> >>> > > >    <out>
>> >>> > > >        <send/>
>> >>> > > >    </out>
>> >>> > > > </definitions>
>> >>> > > >
>> >>> > > > In lieu of the above header, I also tried:
>> >>> > > >
>> >>> > > > <header name="wsse:Security" action="remove"
>> >>> > > >       xmlns:wsse="http://www.w3.org/2005/08/addressing"/>
>> >>> > > >
>> >>> > > > (I also tried removing the <enableAddressing/> node for each
>> test).
>> >>> > > >
>> >>> > > > To recap my issue, it seems as though Amazon AWS (at least for
>> >>> SimpleDB
>> >>> > > > service) requires the ReplyTo WS-Addressing element, if
>> >>> WS-Addressing
>> >>> > is
>> >>> > > > used. I haven't found a way to remove WS-Addressing generated
>> >>> > > automatically
>> >>> > > > by Synapse when WS-Security is used, and I haven't figure out how
>> to
>> >>> > add
>> >>> > > > ReplyTo (and it's child Address node) to the outbound message.
>> >>> > > >
>> >>> > > > Anyone have any work-arounds? Maybe I'll try chaining together
>> some
>> >>> > > things
>> >>> > > > to see if I can devise something.
>> >>> > > >
>> >>> > > > Thanks,
>> >>> > > >
>> >>> > > > jeff
>> >>> > > >
>> >>> > > >
>> >>> > > > On Sat, Jun 7, 2008 at 9:25 AM, Asankha C. Perera <
>> [EMAIL PROTECTED]
>> >>> >
>> >>> > > > wrote:
>> >>> > > >
>> >>> > > > > Hi Jeff
>> >>> > > > >
>> >>> > > > >> To be honest, I'm not entirely certain how to add it in the
>> >>> Header
>> >>> > > > >> mediator,
>> >>> > > > >> as you allude to. I did try various permutations of using the
>> >>> > property
>> >>> > > > and
>> >>> > > > >> header nodes within the <in>, but nothing ever appeared.
>> >>> > > > >>
>> >>> > > > >>
>> >>> > > > > I am sorry.. I had made a mistake in my reply earlier.. to set
>> the
>> >>> > > > ReplyTo
>> >>> > > > > header to something, you will use "<header name="ReplyTo"
>> >>> > value="..."/>
>> >>> > > > > format.. If you are familiar with using TCPMon, you can place
>> it
>> >>> > > between
>> >>> > > > > your service and Amazon and route the message through it to get
>> a
>> >>> > trace
>> >>> > > > of
>> >>> > > > > the messages. This will help you and us to solve any problems.
>> >>> > > > >
>> >>> > > > >> Obviously, Amazon's service is not entirely compliant with the
>> >>> > > > WS-Security
>> >>> > > > >> standards. Even in their section under WS-Security SOAP, they
>> >>> state
>> >>> > > that
>> >>> > > > >> "if
>> >>> > > > >> you're using WS-Addressing, we recommend you also sign the
>> Action
>> >>> > and
>> >>> > > To
>> >>> > > > >> header elements" (I haven't figured out how to do that yet,
>> but
>> >>> I'll
>> >>> > > dig
>> >>> > > > >> into that).
>> >>> > > > >>
>> >>> > > > >>
>> >>> > > > > If you are ok to share your configuration/scenario with us or
>> let
>> >>> us
>> >>> > > try
>> >>> > > > > some simple sample to reproduce the issue you are facing, one
>> of
>> >>> the
>> >>> > > > > developers would be able to tell you exactly whats wrong, and
>> what
>> >>> > you
>> >>> > > > could
>> >>> > > > > do to get past the problem
>> >>> > > > >
>> >>> > > > > asankha
>> >>> > > > >
>> >>> > > >
>> >>> > >
>> >>> > >
>> >>> > >
>> >>> > > --
>> >>> > > Ruwan Linton
>> >>> > > http://www.wso2.org - "Oxygenating the Web Services Platform"
>> >>> > >
>> >>> >
>> >>>
>> >>>
>> >>>
>> >>> --
>> >>> Ruwan Linton
>> >>> http://www.wso2.org - "Oxygenating the Web Services Platform"
>> >>>
>> >>
>> >>
>> >
>>
>>
>>
>> --
>> Paul Fremantle
>> Co-Founder and CTO, WSO2
>> Apache Synapse PMC Chair
>> OASIS WS-RX TC Co-chair
>>
>> blog: http://pzf.fremantle.org
>> [EMAIL PROTECTED]
>>
>> "Oxygenating the Web Service Platform", www.wso2.com
>>
>
>
>
> --
> Ruwan Linton
> http://www.wso2.org - "Oxygenating the Web Services Platform"
>



-- 
Paul Fremantle
Co-Founder and CTO, WSO2
Apache Synapse PMC Chair
OASIS WS-RX TC Co-chair

blog: http://pzf.fremantle.org
[EMAIL PROTECTED]

"Oxygenating the Web Service Platform", www.wso2.com

Reply via email to