wsdl import problem of xs:long


I'm importing lots of wsdl, but I come to a problem that xs:long is being converted to Integer in Outsystems.
This is absolute not correct, because a long can hold much bigger values than the Integer.

Is there a good way to solve this, because we have a serious issue with this.

Hi Joost

As you've referred correctly, the Agile Platfom tries to convert the Long data type to Integer, as documented here

However, there's a solution to this problem:

Make a copy of the web service's WSDL, and change the data type of the Long parameter, to String, so it can be converted by the Agile Platform to a Text value. Import this changed WSDL instead of the original, and in runtime, you can convert the Text value to decimal, if you need to compute values with it, or just use it as a Text, if its used as an identifier or reference.

Hope this information is helpful


Miguel João

Although this might provide a workaround it still doesn't make it right. Having this misbehaviour documented does not make it right either.

Back in my C days I learned never to use int in software that has to run on different systems since a long (as is a short) is defined as being system independent, and as such really something else then int, which is dependent on the hosting system.