ws-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aleksander Slominski <as...@cs.indiana.edu>
Subject Re: Redundant names space removal when Serializing - AXIOM
Date Mon, 21 Nov 2011 16:18:20 GMT
Hi,

from what I remember of XML and Namespaces: when you detach any child
element such as saml:Assertion then all in-scope namespace declared
prefixes should be copied.

The serializer should recognize if it is serializing a standalone or
embedded XML. Is there any API for it? For standalone it should print all
in-scope declared namesapce prefixes.

HTH,

Alek

On Sun, Nov 20, 2011 at 11:31 PM, Charith Wickramarachchi <
charith.dhanushka@gmail.com> wrote:

> Hi ,
>
> Looked more in to the details of whats happening. So here the problem is
> the element that have this redundant names space is the <saml:Assertion
> ... element which is a signed one.
>
>
> The incoming message to synapse looks like this.
>
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:oas="
> http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
>    <soapenv:Header>
>       <oas:Security>
> <saml:Assertion .... xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
> ... </saml:Assertion>
> </oas:Security>
>    </soapenv:Header>
> ...........................
> </soapenv:Envelope>
>
>
> and output is like
>
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:oas="
> http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
>    <soapenv:Header>
>       <oas:Security>
> <saml:Assertion ...> ... </saml:Assertion>
> </oas:Security>
>    </soapenv:Header>
>
>
> So in this case isn't it wrong to do this kind of optimizations ?
>
> thanks,
> Charith
>
>
>
>
>
> On Mon, Nov 21, 2011 at 8:50 AM, Charith Wickramarachchi <
> charith.dhanushka@gmail.com> wrote:
>
>> Hi ,
>>
>> This is an issue with the BE service. When the message comes to synapse
>> from the client. In its SOAP Message it has same name space declared at two
>> levels.
>>
>> At Envelope level and and inside a header. So as a result when message go
>> through synapse  it will omit this redundant names space declaration.
>> But BE service will fail to process this header due to  missing
>> namesspace. So its due to BEs xml phaser assumes that headers are self
>> contained and they do not see the namesspace defined at Envelope level.
>>
>> thanks,
>>  Charith
>>
>>
>> On Sun, Nov 20, 2011 at 11:12 PM, Sanjiva Weerawarana <
>> sanjiva@opensource.lk> wrote:
>>
>>> "So when synapse forward them  to the BE service they get omitted as
>>> they are defined at SOAP Envelope level."
>>>
>>> Maybe Synapse is not serializing the headers properly?
>>>
>>> Sanjiva.
>>>
>>> On Sun, Nov 20, 2011 at 10:55 PM, Andreas Veithen <
>>> andreas.veithen@gmail.com> wrote:
>>>
>>>> Axiom never produces malformed XML. Who said that??
>>>>
>>>> Andreas
>>>>
>>>> On Sun, Nov 20, 2011 at 17:59, Sanjiva Weerawarana
>>>> <sanjiva@opensource.lk> wrote:
>>>> > Isn't that a bug?
>>>> > If I declare an NS at the Envelope node then that cannot be removed
if
>>>> > anyone inside uses it. If I'm serializing only the Header element(s)
>>>> then
>>>> > any in scope namespaces must be available and worst case every
>>>> element will
>>>> > re-serialize them. However under no condition is it correct to
>>>> serialize a
>>>> > child element and end up with malformed XML!
>>>> >
>>>> > Sanjiva.
>>>> >
>>>> > On Sat, Nov 19, 2011 at 10:28 PM, Andreas Veithen
>>>> > <andreas.veithen@gmail.com> wrote:
>>>> >>
>>>> >> Assuming that the namespace in question is not the SOAP envelope
>>>> >> namespace, instead of hacking Axiom, wouldn't it be easier to remove
>>>> >> the namespace declaration from the SOAP envelope (so that it will
be
>>>> >> serialized in the SOAP header block)?
>>>> >>
>>>> >> Andreas
>>>> >>
>>>> >> On Sat, Nov 19, 2011 at 06:11, Charith Wickramarachchi
>>>> >> <charith.dhanushka@gmail.com> wrote:
>>>> >> > Hi Andreas,
>>>> >> >
>>>> >> > Issue was this causes an Error in a 3rd party web-service engine
>>>> when
>>>> >> > processing some soap headers.
>>>> >> >
>>>> >> > Scenario is this. Synapse get a soap request which contains
some
>>>> >> > redundant
>>>> >> > namespace declarations at header level which are internally
used
>>>> inside
>>>> >> > the
>>>> >> > headers. So when synapse forward them  to the BE service they
get
>>>> >> > omitted as
>>>> >> > they are defined at SOAP Envelope level.
>>>> >> >
>>>> >> > BE services header processor incorrectly assumes that headers
are
>>>> self
>>>> >> > contained so this causes an error.
>>>> >> >
>>>> >> > I was wondering it may make scene to make it configurable 
as if we
>>>> >> > think
>>>> >> > of  synapse point of view omitting redundant namespaces may
not be
>>>> a
>>>> >> > good
>>>> >> > idea sometimes. Specially integrating with legacies like this.
>>>> WDYT ? (
>>>> >> > I do
>>>> >> > agree that this in pure AXIOM point of view its the correct
thing
>>>> to do
>>>> >> > as
>>>> >> > it will reduce the data content that is written to the wire
etc.. )
>>>> >> >
>>>> >> > Can please you point me to a place where this is done ? So
that i
>>>> can
>>>> >> > hack
>>>> >> > the code for the time being for my self and later provide a
patch
>>>> if
>>>> >> > devs
>>>> >> > are ok with my above idea.
>>>> >> >
>>>> >> > thanks,
>>>> >> > Charith
>>>> >> >
>>>> >> >
>>>> >> >
>>>> >> >
>>>> >> >
>>>> >> > On Fri, Nov 18, 2011 at 3:55 PM, Andreas Veithen
>>>> >> > <andreas.veithen@gmail.com>
>>>> >> > wrote:
>>>> >> >>
>>>> >> >> No, the namespace repairing performed by the serialize
and
>>>> >> >> serializeAndConsume methods is not configurable.
>>>> >> >>
>>>> >> >> What is the use case for preserving a redundant namespace
>>>> declaration
>>>> >> >> on a SOAP header?
>>>> >> >>
>>>> >> >> Andreas
>>>> >> >>
>>>> >> >> On Fri, Nov 18, 2011 at 03:23, Charith Wickramarachchi
>>>> >> >> <charith.dhanushka@gmail.com> wrote:
>>>> >> >> > Hi devs ,
>>>> >> >> >
>>>> >> >> > When we serialize a OMElement axiom will omit redundant
>>>> namesspace
>>>> >> >> > declarations by default. Is it possible to disable
this
>>>> behavior ?
>>>> >> >> > In my case i want to keep the redundant namesspace
declarations
>>>> in
>>>> >> >> > SOAP
>>>> >> >> > headers.
>>>> >> >> >
>>>> >> >> >
>>>> >> >> > thanks,
>>>> >> >> > Charith
>>>> >> >> >
>>>> >> >> > --
>>>> >> >> > Charith Dhanushka Wickramarachchi
>>>> >> >> > http://charithwiki.blogspot.com/
>>>> >> >> >
>>>> >> >> >
>>>> >> >>
>>>> >> >>
>>>> ---------------------------------------------------------------------
>>>> >> >> To unsubscribe, e-mail: dev-unsubscribe@ws.apache.org
>>>> >> >> For additional commands, e-mail: dev-help@ws.apache.org
>>>> >> >>
>>>> >> >
>>>> >> >
>>>> >> >
>>>> >> > --
>>>> >> > Charith Dhanushka Wickramarachchi
>>>> >> > http://charithwiki.blogspot.com/
>>>> >> >
>>>> >> >
>>>> >>
>>>> >> ---------------------------------------------------------------------
>>>> >> To unsubscribe, e-mail: dev-unsubscribe@ws.apache.org
>>>> >> For additional commands, e-mail: dev-help@ws.apache.org
>>>> >>
>>>> >
>>>> >
>>>> >
>>>> > --
>>>> > Sanjiva Weerawarana, Ph.D.
>>>> > Founder, Director & Chief Scientist; Lanka Software Foundation;
>>>> > http://www.opensource.lk/
>>>> > Founder, Chairman & CEO; WSO2; http://wso2.com/
>>>> > Founder & Director; Thinkcube Systems; http://www.thinkcube.com/
>>>> > Member; Apache Software Foundation; http://www.apache.org/
>>>> > Visiting Lecturer; University of Moratuwa; http://www.cse.mrt.ac.lk/
>>>> >
>>>> > Blog: http://sanjiva.weerawarana.org/
>>>> >
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: dev-unsubscribe@ws.apache.org
>>>> For additional commands, e-mail: dev-help@ws.apache.org
>>>>
>>>>
>>>
>>>
>>> --
>>> Sanjiva Weerawarana, Ph.D.
>>> Founder, Director & Chief Scientist; Lanka Software Foundation;
>>> http://www.opensource.lk/
>>> Founder, Chairman & CEO; WSO2; http://wso2.com/
>>> Founder & Director; Thinkcube Systems; http://www.thinkcube.com/
>>> Member; Apache Software Foundation; http://www.apache.org/
>>> Visiting Lecturer; University of Moratuwa; http://www.cse.mrt.ac.lk/
>>>
>>> Blog: http://sanjiva.weerawarana.org/
>>>
>>>
>>
>>
>> --
>> Charith Dhanushka Wickramarachchi
>> http://charithwiki.blogspot.com/
>>
>>
>
>
> --
> Charith Dhanushka Wickramarachchi
> http://charithwiki.blogspot.com/
>
>


-- 
The best way to predict the future is to invent it - Alan Kay

Mime
View raw message