cancel
Showing results for 
Search instead for 
Did you mean: 

SOAP Sender Adapter converting Ukranian Characters to Unrecognizable Characters

nitindeshpande
Active Contributor
0 Kudos


Hello All,

The scenario i am talking about here is SOAP - XI - R/3. And IDoc is posted to R/3 system via XI and hence we are using SOAP Adapter as Sender Adapter and IDoc Adapter as receiver Adapter. The third party which is sending the data to XI is a TMS system and they are connecting to XI via web-service URL.

     The Problem i am facing is, the characters sent in one of the field by TMS is getting converted to some other value when it is reaching XI. Please refer to the attached screenshot to have a look at the both the text, 1. Data sent from TMS and 2. Data Received in XI.

Data sent from MS - SourceData.png

Data Received in XI -DataSeenInXI.png

I have performed the below steps in order to fix this issue, but still no luck

1. Changed the web-service URL to the below mentioned thing, added the parameter xmlenc=iso-8859-1 to the URL

http://host:port/XISOAPAdapter/MessageServlet?channel=Party:Service:Channel&xmlenc=iso-8859-1

The above mentioned URL is being used by TMS team to post the message to XI.

2. Added the below mentioned parameters in channel -

Processing Sequence

Module Name - sap.com/com.sap.aii.af.soapadapter/XISOAPAdapterBean

Module Type - Local Enterprise Bean

Module Key - SOAP

Module Configuration

Module Key - SOAP

Parameter Name - XMBWS.XMLEncoding

Parameter value - iso-8859-1/UTF-8/UTF-16/US-ASCII/ANSI

Tried out all the encoding styles in parameter value but still the issue exist.

Kindly help me with this, as high priority development is on hold due to this issue.

Thanks in Advance

Regards,

Nitin

Accepted Solutions (0)

Answers (3)

Answers (3)

nitindeshpande
Active Contributor
0 Kudos

Hi,

I have tried by removing xmlenc=iso-8859-1 from URL and tried using both the encoding styles mentioned, but the same issue still exist

Can you please suggest any other methods to resolve this issue?

Regards,

Nitin

Former Member
0 Kudos

Hi Nitin

Try this. Use message transformation bean in the sender soap adapter

module name: localejbs/AF_Modules/MessageTransformBean

parameter name : Transform.ContentType

value : text/xml;charset=ISO-8859-5 or text/xml;charset=KOI8-U

markangelo_dihiansan
Active Contributor
0 Kudos

Hi Nitin,

I did some investigation by using these characters Г г Д д in my SOAP UI test. I added

<?xml version='1.0' encoding='ISO-8859-5'?> 

on top of the SOAP Envelope, as expected, in moni the encoding is changed to UTF-8 and the characters are unrecognizable in both display and view source. Also tried Windows-1252, did not work. KOI8-U is not supported in my XI system so was not able to test it. UTF-8 is working however.

Tried by checking "Do Not Use SOAP Envelope" in sender CC, added &nosoap=true at the of the URL and added the XML encoding at the top of

the SOAP Envelope.

1. ISO-8859-5

display is unrecognizable, view source is okay

2. Windows-1252

also unrecognizable, view source is okay

3. UTF-8

Display is okay

View source is also okay

Some observations:

- Ask the third-party to encode it in UTF-8 before sending it to you

- If above is not possible, you have to run it in noSOAP mode to get the actual encoding that the third-party is sending

- In some cases, the XI parser shows unrecognizable characters, it is okay as long as you have the correct encoding (can be verified using view source option in moni)

Hope this helps,

Mark

Regards,

Mark

nitindeshpande
Active Contributor
0 Kudos

Hi Mark,

The Data coming from 3rd Party (TMS) is coming in UTF-8. Please find the screenshot for more info -

nitindeshpande
Active Contributor
0 Kudos

Hi Indrajit,

I have tried the above mentioned thing too. It is not working. Infact the channel is failing saying "Error occured".

Can you please suggest any other method?

Regards,

Nitin

nitindeshpande
Active Contributor
0 Kudos

Hi Indrajit/Harsh,

Thank you very much for inputs. Its not working when i add the encoding parameter in module parameter with the specified values.

I will tell TMS team to remove the parameter xmlenc=iso-8859-1from the web-service URL and then try adding the module parameter.

Regards,

Nitin

Former Member
0 Kudos

Hi

Change the encoding to ISO-8859-5 or  KOI8-U.

See if that works or not.

nitindeshpande
Active Contributor
0 Kudos

Hi Indrajit,

Thanks for your reply.

I need to change this in module parameters or in the web-service URL?

Former Member
0 Kudos


make that changes in module parameter then activate the changes. It  should work

Former Member
0 Kudos

Hi Nitin

You can remove the parameter xmlenc=iso-8859-1 from URL.

Add XMBWS.XMLEncoding in module parameter with the values I have mentioned, activate it  and then ask the 3P system to send the message again.

Let me know if that worked or not.