|
Home > Archive > BizTalk Server > July 2004 > Wrong parsing of a float from a SOAP receive location
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
Wrong parsing of a float from a SOAP receive location
|
|
| Hans Erik 2004-07-29, 2:48 am |
| Hi,
I use a SOAP (adaper) receive loation in BizTalk 2004 to receive a XML document.
One of the fields in this document is of xs:float type. When I get a large number in this field it seems like the SOAP adapter does a exponentiation of the number. The number sent in the document to the receive location is 70200554912 and the number store
d in the tracking of the received document is 7.020056E+10.
When I use a file receive location and drop the exact same document to this location as sent with SOAP the number is received correctly in BizTalk.
I have also traced the SOAP message before it's received by BizTalk and the number is correct in the trace.
Is this a bug in the adapter, or can someone explain if there is a setting somewhere I have missed?
brgds
Hans Erik
| |
| Hans Erik 2004-07-29, 2:48 am |
| I Found a solution to my problem:
I used the BizTalk Web Services Publishing Wizard to publish my schema as a webservice. This wizard make a Datatypes.cs which types all data in the document.
The xs:float was typed into System.Single a type that obviously likes to do a exponentiation of large numbers.
I tried to change this type to System.Double which moved the upper limit before exponentiation a little bit.
I ended up with typing these fields as string, since the only task for this web service is to send the received document into BizTalk and not perform any calculations.
brgds
Hans Erik
"Hans Erik" wrote:
> Hi,
>
> I use a SOAP (adaper) receive loation in BizTalk 2004 to receive a XML document.
> One of the fields in this document is of xs:float type. When I get a large number in this field it seems like the SOAP adapter does a exponentiation of the number. The number sent in the document to the receive location is 70200554912 and the number sto
red in the tracking of the received document is 7.020056E+10.
> When I use a file receive location and drop the exact same document to this location as sent with SOAP the number is received correctly in BizTalk.
> I have also traced the SOAP message before it's received by BizTalk and the number is correct in the trace.
>
> Is this a bug in the adapter, or can someone explain if there is a setting somewhere I have missed?
>
> brgds
> Hans Erik
|
|
|
|
|