cancel
Showing results for 
Search instead for 
Did you mean: 

IDOC to SOAP - Getting Special Characters in Down Stream System

vishnu_pallamreddy
Contributor
0 Kudos

Hi All,

We have one scenario that is IDOC to SOAP.

In Receiver Down Stream system we are getting Special Characters.

I have attached 3 screen shots

1) IDOC screen shot

2) Adapter Engine Screen Shot

3) Down Stream System Screen Shot.

In IDOC and AE it is showing same value, But in Down Stream System it is showing Some extra Characters.

In IDOC the field name is "ORT01" and value is "SANTO ANDRÉ".

In AE the filed name is "cod_cidade" and value is "SANTO ANDRÉ".

But In Down Stream System filed name is "cidade" and value is "SANTO ANDRÉ".

Why we are getting this special characters?

What are the possible ways and how can we resolve this?

Please help me.

Thanks & Regards,

Vishnu Pallamreddy.

Accepted Solutions (1)

Accepted Solutions (1)

engswee
Active Contributor
0 Kudos

Hi Vishnu

I'd suggest that you check with the down stream system technical team what type of encoding does their web service expect. I'm suspecting that they are expecting ISO-8859-1 but PI by default sends UTF-8.

Once they confirm that you can try adding parameter XMBWS.XMLEncoding = iso-8859-1 in the SOAP receiver channel.

Refer to question "What character encoding is supported by the SOAP receiver adapter?" in SAP Note 856597.

Another way you can test is by downloading the AE payload and using SOAP UI to send directly to the web service. Try changing the encoding attribute in the XML header to see what happens in the receiver system.

Rgds

Eng Swee

vishnu_pallamreddy
Contributor
0 Kudos

Hi Yeoh,

Thanks for reply.

If it is encoding issue, Then it should effect the remaining fields also.

But in my case it is effecting only one field.

Is there any language specific issues ?

engswee
Active Contributor
0 Kudos

From your screenshot, the other fields don't have special character É. You can use a payload which has the special characters on other fields and see how they turn out in the downstream system.

What language issue are you referring to?

vishnu_pallamreddy
Contributor
0 Kudos

Hi Yeoh,

Portuguese (PT)?

We are sending data to Down Stream system that is in PT language...

I am attaching my CC Module Tab.

As of we are not using any transformations here. we are getting this issue in Production.

engswee
Active Contributor
0 Kudos

As I mentioned, try adding that parameter or test it out using SOAP UI. That's the only way you will find out. I can only suggest as I have no access to your system to test it out.

It does not matter what language, when "talking" from computer to computer, it's the encoding that is important. Ask the other team what they are expecting.

vishnu_pallamreddy
Contributor
0 Kudos

Hi Yeoh,

I have changed the Module Tab.

Please find the attachment for that.

Please suggest me whether i have updated the channel correct or not?

I will test and let you know the results.

engswee
Active Contributor
0 Kudos

No, you don't need to use MessageTransformBean. Just add a parameter to the existing soap module.

vishnu_pallamreddy
Contributor
0 Kudos

Hi Yeoh,

The issue has been identified past week, and as per business comments it was working ok before.


I am attaching xml from Down stream system.





engswee
Active Contributor
0 Kudos

Hi Vishnu

From the screenshot, in the XML declaration, the encoding is not specified, so by default it will be UTF-8 which is causing the problem.

Can you clarify whether the XML from the down stream you provided is before or after you added the XMBWS.XMLEncoding in the SOAP channel?

If you add the parameter correctly, the Content-Type and XML declaration should have the ISO-8859-1 mentioned as shown below:-

I'd also suggest that you try using the following feature to trace the SOAP call. It will help you troubleshoot further if required.

Rgds

Eng Swee

vishnu_pallamreddy
Contributor
0 Kudos

Hi Yeoh,

Thank you so much.

I have provided the XML from Down stream system before adding the parameter.

engswee
Active Contributor
0 Kudos

Did you try adding the parameter in the SOAP receiver channel and see if the down stream system gets a correct ISO-8859-1 XML?

vishnu_pallamreddy
Contributor
0 Kudos

Hi Yeoh,

As of now I didn't try that one.

Actually my own Stream System owner is checking from their end.

We have a process in and we need to follow.

I am waiting for their approval to add that parameter.

once they approve I will check and let you know.

Answers (1)

Answers (1)

0 Kudos

Hello Vishnu,

You might be facing the issue because different systems have different codepages (character sets).Can you please check the codepage specifications of your receiver system ?

In your asynchronous scenario ( IDOC > SOAP ), the receiver SOAP adapter has default codepage set as UTF-8. If you want to change this per your receiver systems's codepage specifications, add the parameter XMBWS.XMLEncoding in the module configuration for the SOAP adapter module.

You may also try other techniques like XSLT and JAVA mapping to influence codepage.

For more information: SAP Note 856597,960663,880173  - FAQ: XI 3.0 SOAP Adapter

Thanks,

AD.

vishnu_pallamreddy
Contributor
0 Kudos

Hi Anirban,

Thanks For your reply.

I am checking with my down stream system regarding code page specifications.

So that I will change my CC parameters.