On 11/21/2011 11:18 AM, Aleksander Slominski wrote: > 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. IIRC, Axiom did exactly what you mentioned, however I am not sure how it works today. (did not use Axiom for years now).
Deepal > > 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 > <[email protected] <mailto:[email protected]>> 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 > <[email protected] <mailto:[email protected]>> > 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 > <[email protected] <mailto:[email protected]>> 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 > <[email protected] > <mailto:[email protected]>> wrote: > > Axiom never produces malformed XML. Who said that?? > > Andreas > > On Sun, Nov 20, 2011 at 17:59, Sanjiva Weerawarana > <[email protected] <mailto:[email protected]>> > 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 > > <[email protected] > <mailto:[email protected]>> 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 > >> <[email protected] > <mailto:[email protected]>> 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 > >> > <[email protected] > <mailto:[email protected]>> > >> > 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 > >> >> <[email protected] > <mailto:[email protected]>> 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: > [email protected] > <mailto:[email protected]> > >> >> For additional commands, e-mail: > [email protected] <mailto:[email protected]> > >> >> > >> > > >> > > >> > > >> > -- > >> > Charith Dhanushka Wickramarachchi > >> > http://charithwiki.blogspot.com/ > >> > > >> > > >> > >> > > --------------------------------------------------------------------- > >> To unsubscribe, e-mail: > [email protected] > <mailto:[email protected]> > >> For additional commands, e-mail: > [email protected] <mailto:[email protected]> > >> > > > > > > > > -- > > 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: [email protected] > <mailto:[email protected]> > For additional commands, e-mail: > [email protected] <mailto:[email protected]> > > > > > -- > 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
