cancel
Showing results for 
Search instead for 
Did you mean: 

XSLT Mapping Error while receiving Base64Binary content

Former Member
0 Kudos

Dear Experts,

I am new to SAP PI and working on PI 7.11. In our project we had a requirement to receive PDF file content in Base64 format from third party system by consuming the service provided by third party system with synchronous communication. The adapter we need to use is SOAP

The reason to use XSLT mapping is as our third party system used some tokens in both the request and response header, I used XSLT mapping to add the required details in request header after receiving the request from ECC system and skip the details in response to send the response to ECC system.

I have build two XSL files with XSLT mapping programs one for request and another for response using Oxygen XML editor tool. Both are checked, validated without any errors and also tested in ESB – Operation mapping which is successfully executed without errors.

The third party is sending the PDF content in Base64Binaryformat. I have also tested the WSDL from Oxygen to check the whether the service is working fine, which also successfully receiving the response from third party system. 

The thing I do not understand and not able to figure out the problem is, when executing the service from ECC by sending a sample request, there is no response coming back and receiving an error saying

TransformerException occurred during XSLT mapping Response_03 (URN:COM.XYZ_GET_ABSENCE_DETAILS, aa3a6491-e318-11e2-c1d7-c14948250cb4, -1)”

I have checked the Communication Channel which working fine. And also the message status in message monitoring wherein Request message has “Cancelled with errors” status and Response has “To Be Delivered” Status.

Could you please any of you help to figure out the issue and resolve the same.


Thank you in advance.....


Regards,

Govardhan Duvva.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

The response am receiving is like below

<!-- XML Validation Inbound Channel Response -->

<html><head><title>Apache Tomcat/6.0.18 - Error report</title><style>

<!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;}

H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;}

H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;}

BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;}

B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;}

P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}

A {color : black;}A.name {color : black;}HR {color : #525D76;}-->

</style> </head><body>

<h1>HTTP Status 415 - </h1>

<HR size="1" noshade="noshade"><p>

<b>type</b> Status report</p><p><b>message</b>

<u></u></p><p><b>description</b>

<u>The server refused this request because the request entity is in a format not supported

by the requested resource for the requested method ().</u>

</p><HR size="1" noshade="noshade"><h3>Apache Tomcat/6.0.18</h3></body></html>

And also in SXMB_MONI, there are two call adaptor nodes as in below picture, which means our request is going to the third party system ?

Former Member
0 Kudos

Hello,

Error is clearly stating that target application is rejecting ur request.

Use XPI Inspector tool and compare the request which you are sending from PI and SOAP UI.

Thanks

Amit Srivatava

Former Member
0 Kudos

Hi Amit,

Yes your correct. the target system is rejecting my request because of incorrect Content Type. I have resolved this by defining module for content type and Cheked the checkbox for DO NOT USE SOAP ENVELOPE in receiver communication channel.

Thanks for your response and help.

Regards,

Govardhan Duvva.

Answers (1)

Answers (1)

Former Member
0 Kudos

Hello,

Did u test ur response xslt mapping in ESR?

Thanks

Amit Srivastava

Former Member
0 Kudos

Hi Amit,

Yes. I did test the response XSLT mapping in operation mapping.

Regards,

Govardhan Duvva.

Former Member
0 Kudos

Hello,

Ok, so ur both ur request/resposne XSLT are working fine, but did check if the request which you are generating (after xslt) in PI is valid so that ur WS can return some response?

Thanks

Amit Srivastava

Former Member
0 Kudos

Yes Amit.... After XSLT, the request is exactly matching with what WS expecting to respond.