cancel
Showing results for 
Search instead for 
Did you mean: 

PI encoding issue

Former Member
0 Kudos

Hello.

I use SAP PI 7.0 SP15

I have a scenario where I call a web service (with the help of SOAP RECEIVER adapter) and I need

to change the request encoding from UTF-8 to iso-8859-8

I have searched and found a few suggestions (xml.anonymizer, XMBWS.XMLEncoding, adding "&xmlenc=")

however they have did nothing, or only changed the response encoding, and I need to change the request encoding.

I have also saw 2 more modules: TextCodepageConversionBean and MessageTransformBean

however they don't match the case of text/xml content.

anyone ever managed to change the encoding of a sync soap request?

Any help will be appreciated

Thanks,

Imanuel Rahamim.

Accepted Solutions (1)

Accepted Solutions (1)

former_member854360
Active Contributor
0 Kudos

Hi,

Three options are there to change encoding.

1)Adapter Specific Settings

2)Using Adapter Module

3)Using Java/XSLT Mapping.

Below document will give you all information.

See page 7 for your requirement

How Tou2026

Work with

Character

Encodings in

Process

Integration

http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/502991a2-45d9-2910-d99f-8aba5d79f...

Answers (5)

Answers (5)

bhavesh_kantilal
Active Contributor
0 Kudos

Use MessageTransformBean and its paramter Content Type. A search using these terms should point you in the right direction.

But is this definitely a content encoding issue?

Regards,

Bhavesh

Former Member
0 Kudos

hello again.

it seems that the web service should in fact receive its input in unicode (UTF-8)....

I have tried to understand why it is getting this question marks, and I see nothing that can help me understand.

To begin with, I would like to see the message in the adapter engine, at the final point in my XI server.

However, I can only see the SOAP Envelope in the message content section of message monitoring in RWB.

Can I keep the message data in the adapter engine as well?

Former Member
0 Kudos

Found the answer for the adapter engine:

need to change the parameter:

com.sap.aii.af.ms.svc -> messaging.syncMessageRemover.removeBody

to false.

Will update if I find a solution for my problem.

Former Member
0 Kudos

Thank you all.

The problem was in the DB configuration after all (:

It is now fixed.

Former Member
0 Kudos

Hello again.

I have read Debashish Roy's message just now:

- - - - - -

Hi,

You need to add the AF_Modules/XMLAnonymizerBean Module before the standard SOAP module(sap.com/com.sap.aii.af.soapadapter/XISOAPAdapterBean) in module chain.

- - - - - -

and I have indeed missed the simple fact I need to add the Anonymizer before the adapter call.

I have tried it but now I get the following error in SXMB_MONI:

soap fault: Server was unable to process request. ---> Object reference not set to an instance of an object

If any one can help, I'll be glad.

I'll keep searching, and if I get the solution I'll post it.

Former Member
0 Kudos

Hi,

Please check with WS server, the error is usually because of content error.

Former Member
0 Kudos

Hello.

Thanks again for all your replies.

I have tried the anonymizer by the FAQ, as well as by the pdf - it didn't work for the request of the sync message.

when I checked the message in the rwb - it didn't even got to use it in the request - only in the response.

however - I used this XSL:

<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet version="1.0"

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:output method="xml" encoding="ISO-8859-8"/>

<xsl:template match="/">

<xsl:copy-of select="*" />

</xsl:template>

</xsl:stylesheet>

and it did the trick.

If anyone checked the scenario above: sync message via soap receiver channel and can tell exactly what did he put in the anonymizer or any other module in the SOAP receiver channel please let me know.

(I have tried: anonymizer.encoding with value iso-8859-8 or value windows-1255, with anonymizer.acceptNamespaces and without - it didn't matter)

Thank you all once more.

stefan_grube
Active Contributor
0 Kudos

There is an SAP note FAQ SOAP adapter.

You find a parameter for setting the encoding in this note.

Former Member
0 Kudos

Hello.

Thanks for the quick reply.

That document is the I found with the options I wrote above (:

I have tried options 1&2 - and as I wrote they didn't work

I will now try XSLT / mapping.

If anyone managed to use an adapter module, or Adapter specific settings in this scenario - I'll be happy to hear about it.

former_member854360
Active Contributor
0 Kudos

Hi,

You need to add the AF_Modules/XMLAnonymizerBean Module before the standard SOAP module(sap.com/com.sap.aii.af.soapadapter/XISOAPAdapterBean) in module chain.