cancel
Showing results for 
Search instead for 
Did you mean: 

Import WSDL with xsd:long incorrectly results in INT4

Former Member
0 Kudos

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"/>

0 Kudos

Hi.

Check note 2093925.

Regards,
João Paixão Silva

Accepted Solutions (1)

Accepted Solutions (1)

former_member214355
Contributor
0 Kudos

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

Former Member
0 Kudos

Yep, that's what we did as a workaround,

former_member214355
Contributor
0 Kudos

No problem.

This is the only way to workaround the problem unless you upgrade.

Please close the thread solved

Thanks

Kenny

Answers (0)