cancel
Showing results for 
Search instead for 
Did you mean: 

Decode a base64 message

Former Member
0 Kudos

Hi,

Our XI will receive an encoded base64 message from a Legacy.

I don't know for the moment how ? maybe with a TXT file, maybe by SOAP, it will depend of our Legacy...

But during this time I try to find a solution. For the moment, I found only one interresting doc:

How to handle unstructured source contents for Adapters (with Java mapping or with Module)

https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/482aae19-0301-0010-3485-8efd6188...

But as in Java I'm junior... but senior in abap but not really useful for this issue (

I will apreciate your feedback on the subject, coz at the hour I write this topic, my Java mapping dump due to getChar, and getTokenValue... Aaarrg !

Creation of a module will be for further (I hope !).

Regards.

Mickael

PI 7.0 SP12

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

I would like to know how to create a JAVA Mapping?

Hereu2019s myscenario:

Application A is sending a message to SAP XI via SOAP over HTTP using Axis. The problem is the messageu2019s tags are automatically changed from <tag> to &lt;tag&gt; in the payload of the SOAP message when the XI Web Service is invoked on the Application Au2019s side.

To fix this problem, I encoded the message from Application A to base64 so I can preserve the < > tags when it reaches XI.

Question:

How do I insert custom Java code in XI that will decode the message from base64 before the Message Mapping happens?

Possible Solutions:

Option A: Add the Java code in the Sender Communication Channelu2019s Module tab. But according to XIu2019s documentation, I canu2019t create my own modules in the SOAP senderu2019s communication channel. (http://help.sap.com/saphelp_nw04/helpda ... ameset.htm)

Option B: Add the Java code in the Integration Repository before the Message Mapping occurs. The problem is I do not know where to create the Java code in the Integration Repository. Please let me know how to insert the Java code in the IR before the message mapping.

Your help is much appreciated.

Former Member
0 Kudos

Mickael,

the easiest way to perform effecient base64 manipulation without rewriting the wheel (b64 algo is boring to code), I suggest using APACHE common codecs b64 encoder/decoder class, it is very easy to use ...

If you need to decode it from a XI msg, a JAVA mapping could do the trick with these classes, otherwise, adapter module would be required ...

I have no access to my sources now, I'll try to have a look by tomorrow !

Chris

Edited by: Christophe PFERTZEL on Apr 23, 2008 10:44 PM