Skip to Content
author's profile photo Former Member
Former Member

Deserialisation failed

Hello ,

I have a problem with decimal as input parameter for a webservice,

The decimal has 4 digits behind the decimal point. But if you instead give more than 4 (e.g. 5) digits as input, then you will get the following exception:

(The test was carried out using Web services navigator)

My question is, if SAP is not able to round down such a decimal to the predefined format automatically?

- http://schemas.xmlsoap.org/soap/envelope/">

- <soap-env:Body>

- <soap-env:Fault>

<faultcode>soap-env:Client</faultcode>

<faultstring xml:lang="en">Deserialisation failed</faultstring>

- <detail>

- http://www.sap.com/transformation-templates">

<MainName>/1BCDWB/WSS0071009153138917323</MainName>

<ProgName>/1BCDWB/WSS0071009153138917323</ProgName>

<Line>10</Line>

<Valid>X</Valid>

- <DeserialisationFault>

<DescriptionText>Im ST-Program /1BCDWB/WSS0071009153138917323 ist bei der Deserialisierung ein Fehler aufgetreten.</DescriptionText>

<DescriptionDetailText>Beim Konvertieren von 0.76000000 trat ein Verlust von Nachkommastellen auf.</DescriptionDetailText>

<TreePosition />

<ClassName>CX_SY_CONVERSION_LOST_DECIMALS</ClassName>

</DeserialisationFault>

- <Caller>

<Class>CL_SRG_RFC_PROXY_CONTEXT</Class>

<Method>IF_SXML_PART~DECODE</Method>

<Positions>1</Positions>

</Caller>

</n0:SimpleTransformationFault>

</detail>

</soap-env:Fault>

</soap-env:Body>

</soap-env:Envelope>

Thanks in advances

Yy

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

1 Answer

  • Best Answer
    author's profile photo Former Member
    Former Member
    Posted on Oct 11, 2007 at 08:58 AM

    Hi Check this OSS note 892944

    Summary

    Symptom

    When you execute a web service, the "Deserialisation failed" error occurs. In the response message, a "SimpleTransformation - Fault" message is displayed. The following message is documented in the connection trace (SM59) if the trace to the web service is activated (tx WSADMIN "Administration Web Services for SOAP RuntTime": Trace settings = full trace):

    | XRFC> 20051027 133601 SUPPORT: SOAP Fault Exception caught: : <

    | XRFC> Deserialisation failed

    Other terms

    Web Service

    Reason and Prerequisites

    The error frequently occurs after you import a new kernel patch.

    Solution

    In Releases 6.20 - 6.40, reactivate the virtual interface, or in Releases 6.40 and higher, reactivate the Service Definition of the Web Service. Then check if the error response still occurs.

    Add a comment
    10|10000 characters needed characters exceeded

    • Former Member Former Member

      hi Yy,

      I experence a similar problem.

      I found an OSS note 830340 that seems to describe exactly the situation. But it is issued for BASIS 640, whereas our basis is version 700.

      the problem seems to be in the transformation generated automatically from web service interface (or the ST engine interpreting it).

      I have manually modified the Simple Transformation the way that I could get through the SOAP message. The problem is that I am not sure if I can transport such generated simple transformation to Q / P, as originally it is assigned to $TMP package. Another problem is that by modifying the Simple Transformation I made it incompatible with some SOAP clients.

      My transformation

      .....

      <tt:deserialize>

      <n0:ZEosGetshoppingcartstatus tt:extensible="deep-dynamic">

      <n0:Shoppingcardid>

      <tt:ref name="SHOPPINGCARDID">

      <tt:value/>

      </tt:ref>

      </n0:Shoppingcardid>

      </n0:ZEosGetshoppingcartstatus>

      </tt:deserialize>

      ...

      the original was

      .....

      <tt:deserialize>

      <n0:ZEosGetshoppingcartstatus tt:extensible="deep-dynamic">

      <Shoppingcardid>

      <tt:ref name="SHOPPINGCARDID">

      <tt:value/>

      </tt:ref>

      </Shoppingcardid>

      </n0:ZEosGetshoppingcartstatus>

      </tt:deserialize>

      ...

      I'm looking forward to any feedback, should you managed to get more info/ solution for this case.

      Best regards,

      KK

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.