This sounds like a job for...

OPTIONMAN! :)

Clearly there should be a switch for this behavior. IMHO the default should be to "optimize" namespaces to serialize the minimum number possible, generating the leanest XML. There should be a global switch which can make all OMNamespaces serialize explicitly, and there should perhaps also be an individual flag on each OMNamespace which allows more subtly controlling which particular namespaces are going to be repeated or not.

Thoughts?

--Glen

Srinath Perera wrote:
Actually I make it to print redundent namesapce

The problem was .. security signature fails if they are optimized ..
and the SAML impl we use create a redundent name spaces .. which lead
to signature  faliure.

Thanks
Srinath

On 7/19/06, Sanjiva Weerawarana <[EMAIL PROTECTED]> wrote:
Please note ..

Sanjiva.



---------- Forwarded message ----------
From: "Tony Dean" <[EMAIL PROTECTED]>
To: <[email protected]>
Date: Wed, 19 Jul 2006 10:32:23 -0400
Subject: [Axis2] axiom redundant namespace serialization...
Hi,

I thought that I would just post this observation to the axis group since serialization of axiom objects directly affects the performance of axis2.

In the past it seemed that axiom was doing a good job of not producing redundant namespace declarations, but with the July 18th snapshot, it does not seem as good. Let me explain.

If I produce elements such as:

QName qName = new QName("http://myNamespace";, "Element1");
OMElement element1 = omFactory.createOMElement(qName, null);

qName = new Qname("http://myNamespace";, "Element2");
OMElement element2 = omFactory.createOMElement(qName, null);
element1.addChild(element2);

Now if I return this to axis2 engine as a response to service operation request, it will get serialized back to the client as something like the following:

<axis2ns1:Element1 xmlns:axis2ns1="http://myNamepace";>
   <axis2ns2:Element2 xmlns:axis2ns2="http://myNamepace"/>
</axis2ns1:Element1>

Just think if you had many child elements in the same namespace.

I would think an optimal, acceptable serialization would have been:

<axis2ns1:Element1 xmlns:axis2ns1="http://myNamespace";>
   <axis2ns1:Element2/>
</axis2ns1:Element2>

or

<Element1 xmlns="http://myNamepace";>
   <Element2/>
</Element1>

Thanks.


Tony Dean
SAS Institute Inc.
919.531.6704
[EMAIL PROTECTED]

SAS... The Power to Know
http://www.sas.com


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to