Zip or unzip a payload in sender JMS channel

Hi,
My scenario is to unzip a payload in sender JMS channel and I have configured the sender JMS module in the below format,
Processing sequence
AF_Modules/PayloadZipBean Local Enterprise Bean    Local Enterprise Bean       zip
SAP XI JMS Adapter/ConvertJMSMessageToBinary     Local Enterprise Bean       convert_JMS2Bin
SAP XI JMS Adapter/ConvertBinaryToXMBMessage     Local Enterprise Bean       convert_Bin2XI
CallSapAdapter                                                         Local Enterprise Bean      call_AF_MS
Module Configuration
Modulekey            Parameter Name                    Parameter Value
zip                        zip.mode                                unzip
I have tried this format also,but it is not working
SAP XI JMS Adapter/ConvertJMSMessageToBinary     Local Enterprise Bean       convert_JMS2Bin
SAP XI JMS Adapter/ConvertBinaryToXMBMessage     Local Enterprise Bean       convert_Bin2XI
AF_Modules/PayloadZipBean Local Enterprise Bean    Local Enterprise Bean       zip
CallSapAdapter                                                         Local Enterprise Bean      call_AF_MS
(or)
SAP XI JMS Adapter/ConvertJMSMessageToBinary     Local Enterprise Bean       convert_JMS2Bin
AF_Modules/PayloadZipBean Local Enterprise Bean    Local Enterprise Bean       zip
SAP XI JMS Adapter/ConvertBinaryToXMBMessage     Local Enterprise Bean       convert_Bin2XI
CallSapAdapter                                                         Local Enterprise Bean      call_AF_MS
While performing testing,it throws the below error in sender JMS channel,
The detailed error (if any) is :  com.sap.aii.adapter.jms.api.channel.filter.MessageFilterException: while trying to invoke the method java.lang.String.length() of a null object loaded from local variable pattern: NullPointerException: while trying to invoke the method java.lang.String.length() of a null object loaded from local variable 'pattern'at com.sap.aii.adapter.jms.core.channel.filter.TxManagerFilter.filterSend(TxManagerFilter.java:185)
Can someone help me on how to extract a payload in sender JMS channel.
Also please guide me on how to extract a multiple payloads in one zip file in sender JMS channel.

Hi,
Your module sequence seems to be incorrect.
Try like this,
SAP XI JMS Adapter/ConvertJMSMessageToBinary     Local Enterprise Bean       convert_JMS2Bin
SAP XI JMS Adapter/ConvertBinaryToXMBMessage     Local Enterprise Bean       convert_Bin2XI
AF_Modules/PayloadZipBean Local Enterprise Bean    Local Enterprise Bean       zip
CallSapAdapter                                                         Local Enterprise Bean      call_AF_MS
(or)
SAP XI JMS Adapter/ConvertJMSMessageToBinary     Local Enterprise Bean       convert_JMS2Bin
AF_Modules/PayloadZipBean Local Enterprise Bean    Local Enterprise Bean       zip
SAP XI JMS Adapter/ConvertBinaryToXMBMessage     Local Enterprise Bean       convert_Bin2XI
CallSapAdapter                                                         Local Enterprise Bean      call_AF_MS
Regards,
Praveen Gujjeti

Similar Messages

  • Unzip a payload in sender JMS channel

    Hi,
    My scenario is to unzip a payload in sender JMS channel and I have configured the sender JMS module in the below format,
    Processing sequence
    AF_Modules/PayloadZipBean Local Enterprise Bean    Local Enterprise Bean       zip
    SAP XI JMS Adapter/ConvertJMSMessageToBinary     Local Enterprise Bean       convert_JMS2Bin
    SAP XI JMS Adapter/ConvertBinaryToXMBMessage     Local Enterprise Bean       convert_Bin2XI
    CallSapAdapter                                                         Local Enterprise Bean      call_AF_MS
    Module Configuration
    Modulekey            Parameter Name                    Parameter Value
    zip                        zip.mode                                unzip
    While performing testing,it throws the below error in sender JMS channel,
    The detailed error (if any) is :  com.sap.aii.adapter.jms.api.channel.filter.MessageFilterException: while trying to invoke the method java.lang.String.length() of a null object loaded from local variable pattern: NullPointerException: while trying to invoke the method java.lang.String.length() of a null object loaded from local variable 'pattern'at com.sap.aii.adapter.jms.core.channel.filter.TxManagerFilter.filterSend(TxManagerFilter.java:185)
    Can someone help me on how to extract a payload in sender JMS channel.
    Also please guide me on how to extract a multiple payloads in one zip file in sender JMS channel.

    Hi,
    Your module sequence seems to be incorrect.
    Try like this,
    SAP XI JMS Adapter/ConvertJMSMessageToBinary     Local Enterprise Bean       convert_JMS2Bin
    SAP XI JMS Adapter/ConvertBinaryToXMBMessage     Local Enterprise Bean       convert_Bin2XI
    AF_Modules/PayloadZipBean Local Enterprise Bean    Local Enterprise Bean       zip
    CallSapAdapter                                                         Local Enterprise Bean      call_AF_MS
    (or)
    SAP XI JMS Adapter/ConvertJMSMessageToBinary     Local Enterprise Bean       convert_JMS2Bin
    AF_Modules/PayloadZipBean Local Enterprise Bean    Local Enterprise Bean       zip
    SAP XI JMS Adapter/ConvertBinaryToXMBMessage     Local Enterprise Bean       convert_Bin2XI
    CallSapAdapter                                                         Local Enterprise Bean      call_AF_MS
    Regards,
    Praveen Gujjeti

  • Sender JMS Channel Error

    Hi all,
    I have been facing with this problem with sender JMS channel, any pointers as to where can be the solution for it
    The error details are as follows
    JMS and XI identifiers for the message are ID:414d512056515933444e41575445202048aa8802235bad01 and a2d32e30-7aae-11dd-ae1c-001125cc0c0c respectively. The JMS adapter will rollback the database and JMS session transactions. If the session is transacted, the message is not lost and will be retried later. The exception stack trace is java.lang.Exception
    at com.sap.aii.af.service.jms.WorkerJMSReceiver.onMessage(WorkerJMSReceiver.java:963)
    at com.ibm.mq.jms.MQMessageConsumer.receiveAsyncQ(MQMessageConsumer.java:2539)
    at com.ibm.mq.jms.MQMessageConsumer.receiveAsync(MQMessageConsumer.java:4262)
    Messages are not being placed in the Queue. the Queues are newly created is there something which has been missed out during the creation of the Queues
    Rgds
    Aditya

    Hi Aditya
    Try this way:
    1. uncheck JMS transactional session check box in JMS sender communication channel.
    2. Once it is done, insert new message in JMS queue.
    Thanks
    Sai

  • Content conversion in Sender JMS channel

    Hello All,
    My scenario is JMS to Proxy. SAP PI receives a flat file from JMS application.
    Can any one please help us on converting flat file to XML conversion within sender JMS adapter
    Thanks&Regards,
    Moorthy

    Hi
    Check this
    conversion type StructPlain2XML
    conversion type SimplePlain2XML

  • IgnoreRecordsetName not working in Sender JMS channel- PI 7.1

    Hello All,
    In Sender JMS content conversion I have used xml.ignoreRecordsetName=true
                                                                                       ignoreRecordsetName=TRUE
    But still I am getting "Recordset" in the XML due to which message mapping is getting failed.
    Can you please tell me what is the correct syntax for this parameter in JMS channel
    Regards,
    Moorthy

    Hi
    ignorerecordset  parameter dont support  using the message transform bean.

  • Content conversion by using sender JMS channel

    Hi All,
    I have developed a scenario from JMS to Idoc. I need to read flat files by using sender jms adapter. I have configured message transform bean in module tab and respective content conversion parameters as well. My flat files contains different structures. So I need to use conversion type as StructPlain2XML. Based on keyField value I am diffentiating flat file records. My requirement is I have to give two spaces in <xml.keyFieldValue> parameter. fixed Length of keyFieldValue is 6, Actual value getting from source file is DEST. I need to pass two spaces as per fixed length specification. I have passed two spaces, but after activating spaces are removed by system bydefault. Because of this an empty file is processed by PI. Source file contains two spaces after DEST. I need to read two spaces along with DEST value as keyFieldValue. How to achieve this..
    Thanks in advance.
    Best Regards,
    Ashok.

    Hi Ashok
    You can resolve this by splitting the field into two fields - and actual key field and a dummy/temp field.
    I've just blogged about this technique, you can refer to it here
    Content Conversion for fixed length files with key field value shorter than key field length
    Rgds
    Eng Swee

  • Problems with charset encoding using sender JMS channel

    Hi all,
    We are connecting an AS400/WebSphere, with SAP via XI (PI7.0), by means of JMS adapter.
    Situation: we are sending a message through a JMS sender channel from WebSphere to XI.
    The problem occurs if the message has special characters (like client name). The contents of the XI message became wrong on those characters (they are replaced by '#'), sending invalid information to SAP.
    The character set CCSID of the WebSphere is 00037.
    Can anyone help me on overcoming this problem?
    thanks in advance.

    thanks Stefan,
    >> What kind of mapping do you use?
    We are using a graphical mapping that maps the incoming message to an IDOC message definiton.
    >> Is the payload wrong after the mapping?
    The mapping ends with success and the payload is well formated, but the content of the final message is wrong (just on the special chars) (ex: the ã is replaced by #).
    >> Where do you send that message to?
    The message is an IDoc that is send to SAP:
    best regards.

  • BPM stops after receiving payloads from sender email channel

    Hi,
    my current situation:
    i have a sender email cc which sends the content plus attachments into the xi. here i map it to an BAPI-request structure and forward it to an BPM-process. this BPM does a sync call to an r/3. i use the payload swap bean to switch the attachment-1 as content.
    -> when i generate the email with e.g. thunderbird the scenario runs
    Problem:
    but if i use outlook or notes the email appears as a multipart message with attachments (that should not be a problem as i still use the attachment-1) the forward to the BPM causes a stuck?
    <b>this one works:</b>
    --SAP_f5e98a51-c25a-11db-8164-000e7fef2133_END
    Content-ID: <[email protected]>
    Content-Disposition: attachment;filename="[email protected]"
    Content-Type: text/xml; charset=utf-8
    Content-Description: SOAP
    <SOAP:Envelope>lots of funny stuff</SOAP:Envelope>
    --SAP_f5e98a51-c25a-11db-8164-000e7fef2133_END
    Content-ID: <[email protected]>
    Content-Type: text/html; charset=ISO-8859-1
    Content-Disposition: attachment;filename="MailMessage.htm"
    Content-Description: MailMessage
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    </head>
    <body bgcolor="#ffffff" text="#000000">
    <br>
    </body>
    </html>
    --SAP_f5e98a51-c25a-11db-8164-000e7fef2133_END
    Content-ID: <[email protected]>
    Content-Type: text/xml;charset=iso-8859-15
    Content-Disposition: attachment;filename="MailAttachment-1.bin"
    Content-Description: MailAttachment-1
    <?xml version="1.0" encoding="utf-8"?>
    <ns:salesorderlines_recordset xmlns:ns="http://namespace">
    and so on
    <b>this not:</b>
    --SAP_1ce0ab21-c25b-11db-c38b-000e7fef2133_END
    Content-ID: <[email protected]>
    Content-Disposition: attachment;filename="[email protected]"
    Content-Type: text/xml; charset=utf-8
    Content-Description: SOAP
    <SOAP:Envelope>same entries as above</SOAP:Envelope>
    --SAP_1ce0ab21-c25b-11db-c38b-000e7fef2133_END
    Content-ID: <[email protected]>
    Content-Type: multipart/alternative; boundary="=_alternative 002A6CACC125728A_="
    Content-Disposition: attachment;filename="MailMessage.bin"
    Content-Description: MailMessage
    --=_alternative 002A6CACC125728A_=
    Content-Type: text/plain; charset="US-ASCII"
    --=_alternative 002A6CACC125728A_=
    Content-Type: text/html; charset="US-ASCII"
    --=_alternative 002A6CACC125728A_=--
    --SAP_1ce0ab21-c25b-11db-c38b-000e7fef2133_END
    Content-ID: <[email protected]>
    Content-Type: text/xml;charset=iso-8859-15
    Content-Disposition: attachment;filename="MailAttachment-1.bin"
    Content-Description: MailAttachment-1
    <?xml version="1.0" encoding="utf-8"?>
    <ns:salesorderlines_recordset xmlns:ns="http://namespace">
    and so on
    could it be the  "Content-Type: multipart/alternative; boundary..." ??

    Oh yeah...
    found it by myself
    everything with type "multipart/alternative" stucks in SAP XI
    Sender Mail Adapter - html body mail
    at my side the only solution was:
    1. module
    PayloadSwapBean with "swap.KeyName = content-type" and "swap.KeyValue = multipart/alternative"
    to select the problematic part
    2. module
    MessageTransformBean with "transform.ContentType = text/plain; charset=UTF-8"
    to assign the part a standard/readable encoding (for XI)
    3. module
    PayloadSwapBean with "swap.KeyName = content-name" and "swap.KeyValue = Attachment-1"
    to go on with the attachment...
    both conversions "text/plain" and "text/xml" worked fine

  • PI Sender JMS channel not reading data

    Hello All,
    Scenario is JMS to Proxy. I have configured the JMS PI sender channel as per the details given by legacy team and they validated and confirmed that the channel configuration is correct.
    Also PI JMS Sender channel is with green status and no there are no errors observed on PI channel monitoring page. Legacy team said that they placed 2 messages on the Queue for SAP PI to read. But there is no data flow observed into PI (on Adapter Engine/IE).
    I have restarted and reactivated the channel also.
    Can you please tell me what might be issue here
    Thanks,

    Hi Naresh,
    Are you able to ping the channel from the Java stack? Normally if it is screen it means that is working but try and ping it and see what response you get back.
    What are they using? MQSeries? JNDI? SonicQ?
    Use the connection details that they gave you and log onto the queue and check if you can see the messages? Download a free JMS viewer and connect and see if you are able to see those messages? It might that they placed it in the wrong queue or that you are looking at the wrong queue.
    Regards,
    Jannus

  • Sender JMS Connectivity not working

    Hi All,
    We have developed a scenario where we have to pick messages from DTS JMS queue and we are using JMS provider with JNDI as the sender transport protocol. We have deployed the jar files given by the DTS team successfully in our XI 3.0 system and we have configured the sender JMS channel. Since this queue is in another NWDS sever, we have also set Additional JMS parameters: JNDI.InitialContext.property.5=java.lang.String force_remote, java.lang.String true.
    But when we are testing, I am getting the below error in Adapter monitoring :
    Sender channel. Details: com/sap/jms/client/connection/RemoteConnectionFactoryInterface (Unsupported major.minor version 49.0)
    Please let me know if I have missed any parameters or any suggestions to solve the issue.
    Thanks,
    Laawanya

    Hello Stefan - Thanks for response.
    Here are the Parameters.......
    Adapter Type: JMS
    Sender Type Clicked
    Transport protocol:WebSphereMQ (non-JMS)
    Message protocol:JMS 1.x
    Adapter Engine:Integration Server
    Queue ConnectionFactory Java Class:com.ibm.mq.jms.MQQueueConnectionFactory
    Queue Java Class:com.ibm.mq.jms.MQQueue
    IP Address or Server Name:10.9.48.154
    Server Port:1414
    Queue Manager Name:WBIDEV
    Channel Name:WBI.XI.SVRCONN
    JMS Queue:XI_REQUEST
    Transport/Network Protocol:TCP/IP
    JMS-Compliant:JMS-Compliant
    Transactional JMS Session:Check box Set
    JMS Queue User:XIUSER
    JMS Queue Password:********
    Set XI message ID(MessageID) to:GUID(recommended value)
    Set XI cenversation ID(conversationID) to:No value
    Mapping of Message:Message Payload=JMS Payload
    Quality of Service:Exactly Once
    Time Period for duplicate check for EO(IO)(secs):86400
    Wait After Message Error(msecs):1000
    Wait before Reconnect(msecs):1000
    Status:Active
    The Error Message I see in the Adapter Monitor is "Sender Channel. Details: (No detail information set.)
    Pls advice If I am missing anything ?
    Thanks....
    Amrish.

  • Sender JMS Content Conversion - How to process multiple records

    Hi All,
    I use a Sender JMS Channel with Content Conversion.
    My message structure is like this
    <root>
        <rec>    </rec>
        <rec>    </rec>
    </root>
    I have fixed length flat file with multiple records.
    i have given the parameters FixedFieldLength, FieldNames and StructureTitle.
    Which parameter i need to use specify the RecordDelimiter
    Because my input file will have more than record
    my input file -
    xxxx
    yyyy
    if i dont specify any delimiter value, in the module parameter,then for each newline of the file, a new mesage is created.
    <root>
      <rec>xxxx</rec>
    <root>
    <root>
      <rec>yyyy</rec>
    <root>
    But i want the output to be like this
    <root>
    <rec>xxxx<rec>
    <rec>yyyy</rec>
    </root>

    hi,
    You can do your FCC for sender JMS by going through page 5 of this document.
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/50061bd9-e56e-2910-3495-c5faa652b710

  • Test a channel sender JMS

    Hi all!
    can you send me a software or method to test a channel sender JMS? If is possible a guide step.
    Thanks in advance!
    Note: We are working with SAP Netweaver 7.1
    Edited by: ecruz2010 on Aug 25, 2011 8:51 PM
    Edited by: ecruz2010 on Aug 25, 2011 8:54 PM

    Steps:
    1. Install & Configure a Websphere MQ server (you may use other Java Messaging servers too)
    2. Create a queue on this server
    3. deploy the JMS driver for this MQ Server on your PI Server (Serach on SDN for the steps)
    4. Configure a scenario in PI where JMS is the Sender Adapter. Take a look at the following for the same:
    http://help.sap.com/SAPHELP_nwpi711/helpdata/en/f4/2d6189f0e27a4894ad517961762db7/content.htm
    5. Post a message to the queue on the MQ Server
    6. The Sender JMS channel picks up that message from the queue and starts processing it.
    7. The message flow proceeds as per your scenario configured in SAP PI.
    Hope this helps.
    Regards, Gaurav.

  • JMS Channel Cluster Nodes-INACTIVE

    Hello All,
    We have a Sender - JMS Channel which is green state but the Cluster Node (10 of them) are in WAITING STATE - Channel_Inactive. And Nodes are in GREEN STATE.
    I have checked the Cache in Integration Directory where I could see RED entries and I have tried 'Repeat Cache Instance' , but in vain. Is it a fair idea to Run the Function-module 'LCR_CLEAR_CACHE' ? Does it have any impact?!
    Due to this 1 of the message is lying in the MS system (JMS stream) in Uncommitted State.
    ALL HAPPENING IN A PROD SYSTEM!!!
    Please find the screenshots attached.
    Regards
    KarthiSP

    Hi ,
    Check the central adapter engine cache status in Cache monitoring from RWB...its having green or red...if it is red check with basis team...
    Thanks,
    Naveen

  • Sender JMS Adapter - NOT Working

    Hello Everybody - We are on SP13, also installed JMS Driver files on the system. We are running, Central Adapter Engine.
    We configured the Sender JMS Adapter for WBI MQ->XI->SAP scenario. We need to JMS Adapter to be configured to connect to WBI from XI. Everything looks great in configuration but in the Adpater Monitoring, JMS Adapter is with Error Status and Message says "Sender channel. Details: (No detail information set.)".
    Does anybody has any idea about this error ?
    I checked SAP Help link as well on this. Based on this link http://help.sap.com/saphelp_nw04/helpdata/en/ca/e7673c86d19b35e10000000a11402f/frameset.htm. Do we need to configure this JMS Adapter somewhere on teh server as well ? If yes, then where ? Pls respond if you have any clue about it.
    Thanks in anticipation...

    Hello Stefan - Thanks for response.
    Here are the Parameters.......
    Adapter Type: JMS
    Sender Type Clicked
    Transport protocol:WebSphereMQ (non-JMS)
    Message protocol:JMS 1.x
    Adapter Engine:Integration Server
    Queue ConnectionFactory Java Class:com.ibm.mq.jms.MQQueueConnectionFactory
    Queue Java Class:com.ibm.mq.jms.MQQueue
    IP Address or Server Name:10.9.48.154
    Server Port:1414
    Queue Manager Name:WBIDEV
    Channel Name:WBI.XI.SVRCONN
    JMS Queue:XI_REQUEST
    Transport/Network Protocol:TCP/IP
    JMS-Compliant:JMS-Compliant
    Transactional JMS Session:Check box Set
    JMS Queue User:XIUSER
    JMS Queue Password:********
    Set XI message ID(MessageID) to:GUID(recommended value)
    Set XI cenversation ID(conversationID) to:No value
    Mapping of Message:Message Payload=JMS Payload
    Quality of Service:Exactly Once
    Time Period for duplicate check for EO(IO)(secs):86400
    Wait After Message Error(msecs):1000
    Wait before Reconnect(msecs):1000
    Status:Active
    The Error Message I see in the Adapter Monitor is "Sender Channel. Details: (No detail information set.)
    Pls advice If I am missing anything ?
    Thanks....
    Amrish.

  • How to ignore Recordset name in XML(Sender JMS Adapter)?

    Hi All.
    I am using Sender JMS Adapter along with content conversion.
    I have put in Parameter:
    Plain2XMLService xml.ignoreRecordsetName true
    still the Inbound payload in SXI_MONITOR has Node Recordset, which should not be the case.
    Please advice, does this ignoreRecordsetName works in JMS adapter, if Yes does it works same way as in File Adapter content conversion?
    Thanks in Advance

    >
    Gowtham Peddi wrote:
    > Hi All.
    >
    > I am using Sender JMS Adapter along with content conversion.
    >
    > I have put in Parameter:
    > Plain2XMLService xml.ignoreRecordsetName true
    >
    > still the Inbound payload in SXI_MONITOR has Node Recordset, which should not be the case.
    >
    > Please advice, does this ignoreRecordsetName works in JMS adapter, if Yes does it works same way as in File Adapter content conversion?
    >
    > Thanks in Advance
    can you try
    ignoreRecordsetName true instead of xml.ignoreRecordsetName
    also try to not give any value for the xml.recordsetName parameter.
    I actually doubt if we can ignore the record set name using the module.

Maybe you are looking for

  • Can anyone explain this to me, please. It's a static section question.

    Can anyone explain this to me, please. It's a static section question. I came across the following style of programming recently and I would like to know what the Static section is actually doing in the class. Thx. Here is the code. public class Clas

  • Error in Deleting Request!!URGENT

    Hi Experts, I want to delete the DTP request .But I am not able to do it. Pls help me ASAP. Thanks, Raji.

  • I upgraded to iOS 7 and did a dumb thing

    I upgraded to iOS 7. When asked to type in a 4-didit, I blithly did, not realizing what I was really doing. Later when I wanted to use the phone, it asked me for the code, which I had completely forgotten. I have tried to correct this by following Ap

  • Debugging endless loops in Servlets

    Anyone got any neat tricks for this? My loop is in some service methods outside of the servlet class itself, so I don't have access to the servlet log. I suppose I'm going to have to put in icky print statements until I've isolated the problem but it

  • Firefox going to gophoto.it after update

    After the latest update, when I access some image sites by clicking on a link to the image, Firefox will go to a gophoto.it page that is blank. Here is an example: http://www.gophoto.it/view.php?i=http://i.imgur.com/XG68F.png If I get rid of everythi