Reputation: 786
I have a colleague that manages stored procedures in the Oracle database. One of them has been changed to invoke an API that has been published in Azure API Management. We noticed that if the XML body contains a field that has an accented character, the stored procedure sends an XML where the end tag is truncated. If we send an XML that has 3 accented characters, 3 characters in the end tag is truncated. If we change the accented character to a normal character, the end tag does not get truncated.
<!-- End tag is missing. Street has an accented character. -->
<ent:ZIN_IN xmlns:ent="http://www.example.com/entities">
<ADDRESS>
<STREET>STREET ÁBC</STREET>
</ADDRESS>
</ent:ZIN_IN
<!-- IN> is missing. Street has three accented characters. -->
<ent:ZIN_IN xmlns:ent="http://www.example.com/entities">
<ADDRESS>
<STREET>STREET ÁÍÓ</STREET>
</ADDRESS>
</ent:ZIN_
<!-- End tag is not missing. Street does not have an accented character. -->
<ent:ZIN_IN xmlns:ent="http://www.example.com/entities">
<ADDRESS>
<STREET>STREET ABC</STREET>
</ADDRESS>
</ent:ZIN_IN>
We were able to get this information by activating diagnostic settings for the APIM resource and getting the value of RequestBody
.
ApiManagementGatewayLogs
| where BackendUrl contains "entities/publish"
If I execute the APIM API using the XML with an accented character using Postman I don't encounter any problems. It's only when the request comes from the SP. Can anyone provide guidance on how we can investigate this issue further?
Upvotes: 1
Views: 58