on 02-14-2011 4:18 AM
When importing a WSDL, all fields marked as xsd:long result in INT4 in the proxy class. But long is [supposed to be|http://www.w3schools.com/schema/schema_dtypes_numeric.asp] 8-byte (64 bit). We thus get the following error:
SOAP:1.001 CX_SY_CONVERSION_OVERFLOW:XSLT exception.
An error occurred when deserializing in the simple transformation program
/1SAI/TXS291D096A2B8E35E8375E.
Overflow converting from '2147483648'
<xsd:element minOccurs="0" name="Available" type="xsd:long"/>
Hello Marc
The only way is to manually edit the WSDL file and replace xsd:long
with xsd:string with pattern="\d+" and length="<n>"or
xsd:decimal with fractionDigits="0" totalDigigs="<n>"
Afterwarts regenerate proxy and you'll see that the
technical ABAP-Type is changed to STRG/DEC.
addtional info:
We recomment to use
xsd:decimal with totalDigits="19"
fractionDigits="0"
This is the shortest DEC that is big enought to accept the largest
xsd:long.
Future sight:
In release SAP_BASIS 702 this workaround is already fixed,
here you can change the technical type for xsd:long in proxy
editor directly to STRG or DEC(0,19) without modify the WSDL.
Thanks
Kenny
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
93 | |
10 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.