ws-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Charith Wickramarachchi <charith.dhanus...@gmail.com>
Subject Re: Redundant names space removal when Serializing - AXIOM
Date Mon, 21 Nov 2011 04:31:28 GMT
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/

Mime
View raw message