cancel
Showing results for 
Search instead for 
Did you mean: 

Serialization issue in abap proxy

former_member192238
Participant
0 Kudos

Hello Experts,

we have proxy to soap sync scenario for cretaing the request structure business has given a XSD in that there is some field XYZ which has no data type and occurences as 0 to unbounded in ECC in abap proxy they are facing the issue as follow for the same field.

SERIALIZE_APPLICATION_DATA Conversion error ABAP => XML: Request Message; CX_ST_

SERIALIZATION_ERROR in /1SAI/TASB3F3B9D6A1F67E55A2FF Line 1690 An error occurred

during serialization in the simple transformation program /1SAI/TASB3F3B9D6A1F6

7E55A2FF (Error while parsing an XML stream: 'BOM / charset detection failed'. K

ernel ErrorId: XML_FRAGMENT_ERROR).

XSD Strcutre is as follow

<xs:element name="ABCD" minOccurs="0">

             <xs:complexType>

              <xs:sequence minOccurs="0" maxOccurs="unbounded">

               <xs:element name="XYZ"/>

              </xs:sequence>

             </xs:complexType>

            </xs:element>.

will the above structure really effects for abap proxy is data type for a field is manditory?

Please throgh some light on the issue any help is highly appreciated.

Regards

Praveen

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Dear praveen,

SERIALIZE_APPLICATION_DATA Conversion error comes when the data type mismatch occure .

Definitively due to field "XYZ" this error comes. check this filed .

thanks and regards,

Anup Banerjee

former_member192238
Participant
0 Kudos

Hi Anup,

Yes i have came acroos SDN this would be data type issue but in PI there is no data type defined for this field abaper is saying when he generate abap proxy by default it is taking XSDANY because of that it should allow any data type will ECC generate by default XSDANY action should be from abap or PI if in PI what needs to changed if ECC where it needs to be checked.

Regards

Praveen

markangelo_dihiansan
Active Contributor
0 Kudos

Hello Praveen,

Here is a link of the supported schema and wsdl in PI 7.1

http://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/00a9a425-1769-2a10-9196-bd8eeed72...

It says that the xsd:any is ignored with warnings in ABAP Proxies (row 21).

Hope this helps,

Mark

former_member192238
Participant
0 Kudos

HI Mark,

Ok i understand then what is the solution for this XSDANY data type is not defined in PI ECC it self is generating this now definetly any data type should be added in the XSD of PI or in ABAP we can handle this by defining any data type please suggest how we can over come this.

regards

Praveen

markangelo_dihiansan
Active Contributor
0 Kudos

Hello,

Since xsd:any could refer to any schema not present in your xsd, what you can do is to load all of your schemas in a third-party tool such as Liquid XML and then you can validate what should be the structure of your any.

Regards,

Mark

markangelo_dihiansan
Active Contributor
0 Kudos

Hello,

Since xsd:any could refer to any schema not present in your xsd, what you can do is to load all of your schemas in a third-party tool such as Liquid XML and then you can validate what should be the structure of your any.

Regards,

Mark

former_member192238
Participant
0 Kudos

HI Mark,

xsd:any is defined no where in my XSD my XSD is already validated if we dont define any type for the field in ECC by default will it generate xsd:any ?

Regards

Praveen

Former Member
0 Kudos

Hi All,

I have created WSDL file through function module in SAP-ECC 5.0v.

I have followed below steps:

Crated FM (SE37)

Crated Web-service (SE37)

Generated WSDL file using (WSADMIN)

And consumed WSDF file in SOAP UI (SOAP UI 4.5.2 Trailer version)

Problem is: while consuming WSDL file in  SOAP UI I getting  ‘Serialisation failed’

For your reference I have furnished xml string below.

SOAP UI Input:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:sap-com:document:sap:rfc:functions">

<soapenv:Header/>

<soapenv:Body>

<urn:YSDF_INV_PRINT_FINAL_RFC_WS_N>

<!--Optional:-->

<PWR_INVOICE>

<INVOICE_SHIPPED_LINE>

<!--Zero or more repetitions:-->

<item>

<POSITION1></POSITION1>

<SALES_PART></SALES_PART>

<PART_DESC></PART_DESC>

<PRICE></PRICE>

<QUANTITY></QUANTITY>

<CUSTOMER_TAX_NO></CUSTOMER_TAX_NO>

<PROD_NONINVENTORY></PROD_NONINVENTORY>

<PROD_TAXABLE></PROD_TAXABLE>

<TAX_LEVEL></TAX_LEVEL>

</item>

            </INVOICE_SHIPPED_LINE>

<INVOICE_NO></INVOICE_NO>

<ORDER_NO></ORDER_NO>

<DATE_PRINTED></DATE_PRINTED>

<DIV_CD></DIV_CD>

<LAST_COST_INVOICE></LAST_COST_INVOICE>

<DELETE_ZERO_COST></DELETE_ZERO_COST>

<DELETE_NON_SHIPPED></DELETE_NON_SHIPPED>

<GLOBALREF></GLOBALREF>

<ORIGIN></ORIGIN>

<ORIGINID></ORIGINID>

</PWR_INVOICE>

</urn:YSDF_INV_PRINT_FINAL_RFC_WS_N>

</soapenv:Body>

</soapenv:Envelope>

SOAP UI Output:

<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">

<soap-env:Body>

<soap-env:Fault>

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

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

<detail>

<n0:SimpleTransformationFault xmlns:n0="http://www.sap.com/transformation-templates">

<MainName>/1BCDWB/WSS0130716111624448000</MainName>

<ProgName>/1BCDWB/WSS0130716111624448000</ProgName>

<Line>8</Line>

<Valid>X</Valid>

<ReferenceFault>

<DescriptionText>Error accessing the ref. node 'INVOICE_ID'</DescriptionText>

<RefName>INVOICE_ID</RefName>

</ReferenceFault>

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

And one more things are

I don't know the exact reason, but now the WSDL is working fine. No Idea, will it be consistent.

No changes in import and export parameters of RFC and no change in code, even if the logic is changed it should not affect the output on SOAP UI but in my case it does.

Wonder why all this happens, I cannot explain the exact reason technically because my RFC works fine every time, only issue is with SOAP UI.

From SAP point of view FM is working fine, and input parameter of FM is optional, validations are done by the programming logic and it will capture the message and its details with respect to input data.

I am not sure SOAP will work consistently.  

Kindly help me on this

Thanks & Regards,

  1. Akshath.L.T

Answers (0)