Hi everybody,

is there someone who can explain me if Axis manages in an explicit way if the SOAP message you sent is in lexical representation or in a canonical representation?

From what I've read, the canonical representation should guarantee a better interoperability between different SOAP implementations.

It is my responsability to write software that, for every field, create a "canonical" representation or there's an Axis configuration that makes every field converted to "canonical representation".

An example: I've a "decimal" field that in my software is a BigDecimal. This data arrives to us form two different sources.
The first source send us a BigDecimal always with scale 3, the second adapts the scale to the number of meaningful decimals.
This means that if we have the number 130, the first source will send "130.000" and the second "130".
If I've to send this data via SOAP to another software, the representation will be different in the two case (even though the value is the same). Now, the mantainers of the other software are complaining about incoherence of the representation (???).


I haven't yet understood clearly why the different representation should bother them, but reading the specs I found out that using "canonical representation" there wouldn't be different ways to express the same value, thus eliminating the incoherence(???).

How can I obtain "canonical representation"? I've to "normalize" all the data in my application (setting the scale for all the BigDecimal I pass)? Or is there a switch in Axis to say "canonize all the data I'm passing"? Or is something else I'm missing (some "adapter" classes to implement)?

The "decimal representation" specs:
http://www.w3.org/TR/xmlschema-2/#decimal-lexical-representation
http://www.w3.org/TR/xmlschema-2/#decimal-canonical-representation

Thanks in advance,
Fabio

P.S.: I searched the mailing list, the docs, the FAQ, google, jira and couldn't find a clear answer.. if it turns out it is a beginner question (quite likely, since I'm a beginner :-), could you point out a resource where I can find the requested info?





Reply via email to