<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>Question Re: Java Mapping adding BOM to a file in Technology Q&amp;A</title>
    <link>https://community.sap.com/t5/technology-q-a/java-mapping-adding-bom-to-a-file/qaa-p/11530528#M4295877</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Blue,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It certainly could - what modules are you using in the SFTP and what configurations are setup for those?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Ryan Crosby&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 17 Feb 2016 19:47:05 GMT</pubDate>
    <dc:creator>Ryan-Crosby</dc:creator>
    <dc:date>2016-02-17T19:47:05Z</dc:date>
    <item>
      <title>Java Mapping adding BOM to a file</title>
      <link>https://community.sap.com/t5/technology-q-a/java-mapping-adding-bom-to-a-file/qaq-p/11530517</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Experts,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I created a Java mapping jar using NWDS as below, but I applied to my Operation Mapping, but it didn't work, the BOM didn't add to the beginning of the file. Is there anything missing?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. Create the Java project and .java class&lt;/P&gt;&lt;P&gt;&lt;IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/attachments/storage/7/jiveimages/889842" height="280" width="882" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2. Export the Jar file&lt;/P&gt;&lt;P&gt;&lt;IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/attachments/storage/7/jiveimages/889843" height="340" width="347" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Blue&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 Feb 2016 15:42:12 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/java-mapping-adding-bom-to-a-file/qaq-p/11530517</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2016-02-17T15:42:12Z</dc:date>
    </item>
    <item>
      <title>Re: Java Mapping adding BOM to a file</title>
      <link>https://community.sap.com/t5/technology-q-a/java-mapping-adding-bom-to-a-file/qaa-p/11530518#M4295867</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Blue,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Did you add this java mapping after the messages mapping in the operation mapping?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Praveen.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 Feb 2016 15:53:19 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/java-mapping-adding-bom-to-a-file/qaa-p/11530518#M4295867</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2016-02-17T15:53:19Z</dc:date>
    </item>
    <item>
      <title>Re: Java Mapping adding BOM to a file</title>
      <link>https://community.sap.com/t5/technology-q-a/java-mapping-adding-bom-to-a-file/qaa-p/11530519#M4295868</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Praveen,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I did as below. I also imported all the libraries followed what is stated in the youtube in the link &lt;A __default_attr="62165" __jive_macro_name="document" class="jive_macro_document jive_macro" data-orig-content="Handling Code page, Character encoding in SAP PI / PO" href="https://community.sap.com/"&gt;&lt;/A&gt;. Not sure what is missing&lt;/P&gt;&lt;P&gt;&lt;IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/attachments/storage/7/jiveimages/889901" height="97" width="494" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Blue&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 Feb 2016 15:56:55 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/java-mapping-adding-bom-to-a-file/qaa-p/11530519#M4295868</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2016-02-17T15:56:55Z</dc:date>
    </item>
    <item>
      <title>Re: Java Mapping adding BOM to a file</title>
      <link>https://community.sap.com/t5/technology-q-a/java-mapping-adding-bom-to-a-file/qaa-p/11530520#M4295869</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Blue,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Save the out mapping result to a file, it will create schema.zip and extract it then you will get instance.xml.&lt;/P&gt;&lt;P&gt;&lt;IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/attachments/storage/7/jiveimages/889896" /&gt;&lt;/P&gt;&lt;P&gt;Open this file in Notepad++, open hex editor plugin to see the BOM characters.&lt;/P&gt;&lt;P&gt;&lt;IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/attachments/storage/7/jiveimages/889905" width="450" /&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/attachments/storage/7/jiveimages/889897" /&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Praveen.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 Feb 2016 16:24:06 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/java-mapping-adding-bom-to-a-file/qaa-p/11530520#M4295869</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2016-02-17T16:24:06Z</dc:date>
    </item>
    <item>
      <title>Re: Java Mapping adding BOM to a file</title>
      <link>https://community.sap.com/t5/technology-q-a/java-mapping-adding-bom-to-a-file/qaa-p/11530521#M4295870</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Praveen,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I output the data to a .txt file and opened the file, but don't see BOM at the beginning of the file?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 Feb 2016 16:46:21 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/java-mapping-adding-bom-to-a-file/qaa-p/11530521#M4295870</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2016-02-17T16:46:21Z</dc:date>
    </item>
    <item>
      <title>Re: Java Mapping adding BOM to a file</title>
      <link>https://community.sap.com/t5/technology-q-a/java-mapping-adding-bom-to-a-file/qaa-p/11530522#M4295871</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Mapping editor is not displaying the BOM characters when you copy those characters are not copied, download the file and open it in notepad++ like above it will show the characters &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 Feb 2016 17:03:46 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/java-mapping-adding-bom-to-a-file/qaa-p/11530522#M4295871</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2016-02-17T17:03:46Z</dc:date>
    </item>
    <item>
      <title>Re: Java Mapping adding BOM to a file</title>
      <link>https://community.sap.com/t5/technology-q-a/java-mapping-adding-bom-to-a-file/qaa-p/11530523#M4295872</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Blue,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What text editor are you using?&amp;nbsp; Notepad++ for instance will show the encoding as UTF-8-BOM instead of UTF-8 at the bottom right of the screen instead of showing the characters.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Ryan Crosby&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 Feb 2016 17:05:03 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/java-mapping-adding-bom-to-a-file/qaa-p/11530523#M4295872</guid>
      <dc:creator>Ryan-Crosby</dc:creator>
      <dc:date>2016-02-17T17:05:03Z</dc:date>
    </item>
    <item>
      <title>Re: Java Mapping adding BOM to a file</title>
      <link>https://community.sap.com/t5/technology-q-a/java-mapping-adding-bom-to-a-file/qaa-p/11530524#M4295873</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Praveen,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I opened the file in Hex viewer in Notepad++, still don't see BOM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 Feb 2016 18:33:51 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/java-mapping-adding-bom-to-a-file/qaa-p/11530524#M4295873</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2016-02-17T18:33:51Z</dc:date>
    </item>
    <item>
      <title>Re: Java Mapping adding BOM to a file</title>
      <link>https://community.sap.com/t5/technology-q-a/java-mapping-adding-bom-to-a-file/qaa-p/11530525#M4295874</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ryan,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I opened the file in Notepad++, it shows it is UTF-8 only as below, not UTF-8-BOM &lt;SPAN __jive_emoticon_name="sad" __jive_macro_name="emoticon" class="jive_macro jive_emote" src="https://community.sap.com/74/images/emoticons/sad.gif"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Is the java mapping class not correct or what is the problem?&lt;/P&gt;&lt;P&gt;&lt;IMG class="migrated-image" src="https://community.sap.com/legacyfs/online/storage/attachments/storage/7/jiveimages/889966" /&gt;&lt;/P&gt;&lt;P&gt;&lt;IMG alt="" class="jiveImage" style="max-width: 1200px; max-height: 900px;" /&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Blue&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 Feb 2016 18:36:07 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/java-mapping-adding-bom-to-a-file/qaa-p/11530525#M4295874</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2016-02-17T18:36:07Z</dc:date>
    </item>
    <item>
      <title>Re: Java Mapping adding BOM to a file</title>
      <link>https://community.sap.com/t5/technology-q-a/java-mapping-adding-bom-to-a-file/qaa-p/11530526#M4295875</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Blue,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I tested that same example of code in Eclipse and it worked - in the past the only thing I have seen that may affect you is if you forget to call flush and close on the output stream before the end of your Java mapping.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;BR /&gt;Ryan Crosby&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 Feb 2016 18:38:59 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/java-mapping-adding-bom-to-a-file/qaa-p/11530526#M4295875</guid>
      <dc:creator>Ryan-Crosby</dc:creator>
      <dc:date>2016-02-17T18:38:59Z</dc:date>
    </item>
    <item>
      <title>Re: Java Mapping adding BOM to a file</title>
      <link>https://community.sap.com/t5/technology-q-a/java-mapping-adding-bom-to-a-file/qaa-p/11530527#M4295876</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ryan,&lt;/P&gt;&lt;P&gt;I also have Modules used in my SFTP, would you think that will impact the Java mapping?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;BR /&gt;Blue&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 Feb 2016 19:44:45 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/java-mapping-adding-bom-to-a-file/qaa-p/11530527#M4295876</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2016-02-17T19:44:45Z</dc:date>
    </item>
    <item>
      <title>Re: Java Mapping adding BOM to a file</title>
      <link>https://community.sap.com/t5/technology-q-a/java-mapping-adding-bom-to-a-file/qaa-p/11530528#M4295877</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Blue,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It certainly could - what modules are you using in the SFTP and what configurations are setup for those?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Ryan Crosby&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 Feb 2016 19:47:05 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/java-mapping-adding-bom-to-a-file/qaa-p/11530528#M4295877</guid>
      <dc:creator>Ryan-Crosby</dc:creator>
      <dc:date>2016-02-17T19:47:05Z</dc:date>
    </item>
    <item>
      <title>Re: Java Mapping adding BOM to a file</title>
      <link>https://community.sap.com/t5/technology-q-a/java-mapping-adding-bom-to-a-file/qaa-p/11530529#M4295878</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Sorry Ryan.&lt;/P&gt;&lt;P&gt;I am confusing myself here. I am just sending to the file to PI directory for testing, so just using file adapter and content conversion, not testing SFTP yet.&lt;/P&gt;&lt;P&gt;Even with content conversion still don't see the BOM byte, and I added flush and close output stream as well.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 17 Feb 2016 23:09:08 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/java-mapping-adding-bom-to-a-file/qaa-p/11530529#M4295878</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2016-02-17T23:09:08Z</dc:date>
    </item>
    <item>
      <title>Re: Java Mapping adding BOM to a file</title>
      <link>https://community.sap.com/t5/technology-q-a/java-mapping-adding-bom-to-a-file/qaa-p/11530530#M4295879</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;When you create a BOM with Java Mapping, this BOM is in front of the XML payload only. After content conversion, the BOM is not available anymore. Why do you need a BOM? I have never needed any BOM for any customer.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Feb 2016 05:50:41 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/java-mapping-adding-bom-to-a-file/qaa-p/11530530#M4295879</guid>
      <dc:creator>stefan_grube</dc:creator>
      <dc:date>2016-02-18T05:50:41Z</dc:date>
    </item>
    <item>
      <title>Re: Java Mapping adding BOM to a file</title>
      <link>https://community.sap.com/t5/technology-q-a/java-mapping-adding-bom-to-a-file/qaa-p/11530531#M4295880</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Blue,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you are using standard File adapter, test without content conversion first, see if the BOM characters appear in Notepad++?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The working solution I developed before for seeburger SFTP adapter, is&amp;nbsp; build a custom module for BOM, similar to your code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Don't use built-in FCC, instead use MessageTransformationBean, then followed by BOM module, it should work.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Yee Loon&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Feb 2016 12:56:07 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/java-mapping-adding-bom-to-a-file/qaa-p/11530531#M4295880</guid>
      <dc:creator>yeeloon-khoo</dc:creator>
      <dc:date>2016-02-18T12:56:07Z</dc:date>
    </item>
    <item>
      <title>Re: Java Mapping adding BOM to a file</title>
      <link>https://community.sap.com/t5/technology-q-a/java-mapping-adding-bom-to-a-file/qaa-p/11530532#M4295881</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you Stefan.&lt;/P&gt;&lt;P&gt;I thought that solution would add BOM to the beginning of my text file in the receiver end, but It didn't, apparently you are right. So I can't use that for my case &lt;SPAN __jive_emoticon_name="sad" __jive_macro_name="emoticon" class="jive_macro jive_emote" src="https://community.sap.com/74/images/emoticons/sad.gif"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My client specifically asking for BOM, since in our data there are special accent used.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Blue&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Feb 2016 19:02:47 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/java-mapping-adding-bom-to-a-file/qaa-p/11530532#M4295881</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2016-02-18T19:02:47Z</dc:date>
    </item>
    <item>
      <title>Re: Java Mapping adding BOM to a file</title>
      <link>https://community.sap.com/t5/technology-q-a/java-mapping-adding-bom-to-a-file/qaa-p/11530533#M4295882</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you Yee.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am using MessageTransformationBean now. Is it possible that you share your Module java code and how did you apply it in your Communication Channel.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks again.&lt;/P&gt;&lt;P&gt;Blue &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Feb 2016 19:06:23 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/java-mapping-adding-bom-to-a-file/qaa-p/11530533#M4295882</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2016-02-18T19:06:23Z</dc:date>
    </item>
    <item>
      <title>Re: Java Mapping adding BOM to a file</title>
      <link>https://community.sap.com/t5/technology-q-a/java-mapping-adding-bom-to-a-file/qaa-p/11530534#M4295883</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Blue,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This example is very similar to your java mapping code but fits the adapter module API:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
&lt;P&gt;import java.io.ByteArrayOutputStream;&lt;/P&gt;
&lt;P&gt;import java.io.IOException;&lt;/P&gt;
&lt;P&gt;import java.io.InputStream;&lt;/P&gt;
&lt;P&gt;import java.rmi.RemoteException;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;import javax.ejb.Stateless;&lt;/P&gt;
&lt;P&gt;import javax.ejb.EJBException;&lt;/P&gt;
&lt;P&gt;import javax.ejb.SessionBean;&lt;/P&gt;
&lt;P&gt;import javax.ejb.SessionContext;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;import com.sap.aii.af.lib.mp.module.Module;&lt;/P&gt;
&lt;P&gt;import com.sap.aii.af.lib.mp.module.ModuleContext;&lt;/P&gt;
&lt;P&gt;import com.sap.aii.af.lib.mp.module.ModuleData;&lt;/P&gt;
&lt;P&gt;import com.sap.aii.af.lib.mp.module.ModuleException;&lt;/P&gt;
&lt;P&gt;import com.sap.engine.interfaces.messaging.api.Message;&lt;/P&gt;
&lt;P&gt;import com.sap.engine.interfaces.messaging.api.MessageKey;&lt;/P&gt;
&lt;P&gt;import com.sap.engine.interfaces.messaging.api.PublicAPIAccess;&lt;/P&gt;
&lt;P&gt;import com.sap.engine.interfaces.messaging.api.PublicAPIAccessFactory;&lt;/P&gt;
&lt;P&gt;import com.sap.engine.interfaces.messaging.api.XMLPayload;&lt;/P&gt;
&lt;P&gt;import com.sap.engine.interfaces.messaging.api.auditlog.AuditAccess;&lt;/P&gt;
&lt;P&gt;import com.sap.engine.interfaces.messaging.api.auditlog.AuditLogStatus;&lt;/P&gt;
&lt;P&gt;import com.sap.engine.interfaces.messaging.api.exception.InvalidParamException;&lt;/P&gt;
&lt;P&gt;import com.sap.engine.interfaces.messaging.api.exception.MessagingException;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;@Stateless&lt;/P&gt;
&lt;P&gt;public class BOMBean implements SessionBean, Module{&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private static final long serialVersionUID = 1883263307825505561L;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private MessageKey amk;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private AuditAccess audit;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private Message msg;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; @Override&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public ModuleData process(ModuleContext mc, ModuleData md)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throws ModuleException {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Get message data and audit access&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; msg = (Message) md.getPrincipalData();&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XMLPayload payload = msg.getDocument();&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; amk = new MessageKey(msg.getMessageId(), msg.getMessageDirection());&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PublicAPIAccess pa;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pa = PublicAPIAccessFactory.getPublicAPIAccess();&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } catch (MessagingException e) {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw new ModuleException(e.getMessage());&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; audit = pa.getAuditAccess();&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Write BOM mark followed by full unaltered input stream&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ByteArrayOutputStream baos = new ByteArrayOutputStream();&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; byte[] bytes = new byte[4096];&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; baos.write(0xEF);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; baos.write(0xBB);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; baos.write(0xBF);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InputStream is = payload.getInputStream();&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while(is.read(bytes) != -1)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; baos.write(bytes);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; payload.setContent(baos.toByteArray());&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; is.close();&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; baos.close();&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } catch (IOException e) {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; audit.addAuditLogEntry(amk, AuditLogStatus.ERROR, e.getMessage());&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw new ModuleException(e);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } catch (InvalidParamException e) {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; audit.addAuditLogEntry(amk, AuditLogStatus.ERROR, e.getMessage());&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw new ModuleException(e);&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Pass updated module data back&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return md;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; @Override&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void ejbActivate() throws EJBException, RemoteException {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; @Override&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void ejbPassivate() throws EJBException, RemoteException {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; @Override&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void ejbRemove() throws EJBException, RemoteException {&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; @Override&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public void setSessionContext(SessionContext arg0) throws EJBException,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RemoteException{&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;

&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;If you observe that you see multiples of 4096 bytes in the output file then the read/writing to the byte array can be adjusted to be more dynamic.&amp;nbsp; I forget which streams behave that way in Java but that's easy to adjust should you find that it does not trim trailing spaces.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;P.S. - this is a very basic implementation with no parameters so it's not flexible.&amp;nbsp; If you wanted to make it be a bit more flexible you could look into usage of the key/value parameters to add functionality to the module.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Ryan Crosby&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 18 Feb 2016 20:48:18 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/java-mapping-adding-bom-to-a-file/qaa-p/11530534#M4295883</guid>
      <dc:creator>Ryan-Crosby</dc:creator>
      <dc:date>2016-02-18T20:48:18Z</dc:date>
    </item>
    <item>
      <title>Re: Java Mapping adding BOM to a file</title>
      <link>https://community.sap.com/t5/technology-q-a/java-mapping-adding-bom-to-a-file/qaa-p/11530535#M4295884</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thank you very much Ryan.&lt;/P&gt;&lt;P&gt;Do you know how to apply the BOMBean in the SFTP Receiver Channel Module tab?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Blue&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 19 Feb 2016 18:05:45 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/java-mapping-adding-bom-to-a-file/qaa-p/11530535#M4295884</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2016-02-19T18:05:45Z</dc:date>
    </item>
    <item>
      <title>Re: Java Mapping adding BOM to a file</title>
      <link>https://community.sap.com/t5/technology-q-a/java-mapping-adding-bom-to-a-file/qaa-p/11530536#M4295885</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Blue,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Once you have the Bean deployed to your system then you would just go into the receiver channel and add it after the MessageTransformBean but before the ModuleProcessorExitBean and you don't need to add any parameters.&amp;nbsp; So the sequence would be like this:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;localejbs/MessageTransformBean&lt;/P&gt;&lt;P&gt;localejbs/BOMBean&lt;/P&gt;&lt;P&gt;localejbs/ModuleProcessorExitBean&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Ryan Crosby&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 19 Feb 2016 18:12:51 GMT</pubDate>
      <guid>https://community.sap.com/t5/technology-q-a/java-mapping-adding-bom-to-a-file/qaa-p/11530536#M4295885</guid>
      <dc:creator>Ryan-Crosby</dc:creator>
      <dc:date>2016-02-19T18:12:51Z</dc:date>
    </item>
  </channel>
</rss>

