How to handle gzip on Adapter side

Hello together,
i have a problem with handling gzip content on SAP PI 7.0. I'd like to unzip a gzip file (*.gs) by using a Adapter Module e.g. PayloadZipBean. Is it possible to unzip gzip files or is an custom AdapterBean necessary.
I have seen a lot of other entries peferring to use the ABAP method for handling gzip - files. It would be nice if it could also be handled via an AdapterBean.
Has someone done this via an AdapterModule and maybe can provide a solution?
Thanks for helping.
Best Regards

You can try to use the module I have developed to zip and unzip messages using gzip:
http://scn.sap.com/community/pi-and-soa-middleware/blog/2013/04/29/module-payloadgzipbean-zip-and-unzip-payloads-using-gzip

Similar Messages

  • How to handle Exception on Server Side as well as Client side

    Hello All,
    what is the method of EXCEPTION HANDLING in  Web Dynpro Java ? I have no idea how these exception throw.
    Thks in advance.

    Hi,
    Exception handling in WDJav ais similar to that of Java.
    exception handling in webdynpro
    Regards,
    SrinivaS

  • How to handle errors in a file at sender side?

    Hi
    I have done a file to proxy scenario.
    I know how to handle errors on proxy.
    But on sender side when picking the file if one the record have worng fomat its throwing mapping error and its not processing any record..
    I wanted to process the records which have right format and data and  all remaining recrods which have wromg format should be send back to the sender as file.
    How to do this.
    How to handle error in sender file.
    Regards
    Sowmya

    Hello Sowmya,
    In your scenario Three ways you can validate the data.
    1) Before the data reaches into SAP system ie in XI system during Mapping or before mapping i,e in Adapter Module in the Sender side
    2) this option, is in the receiver applications side. ie. Validations will be taken care in the SAP system i.e in ABAP server proxy code.
    3)Through BPM, If Mapping Exception Occures then through exception Branch you can send bad formate file to sender again.
    Generally, it is prefer to more business critical validations in the Application System ie Receiver Application System (ABAP Server Proxy)
    In this, you can have more flexibility of the validations as you are validating some of the SAP payroll informations as Personal ID etc.
    Based on the complexity and flexibility of the requirement, you can either do this in the XI (if XI, ie Sender Adapter Module or Mapping) or in the ABAP proxy
    Thanks'
    Sunil Singh

  • ** How to handle FCC - SubStructures in Sender Side

    Hi friends,
    We have a source structure (XML) like below.
    <Root>
        <GMT_1>        0..unbounded
           <field1>
           <field2>
        <GMT_2>        0..unbounded
           <field1>
           <field2>
        <GMT_3>       
            <GMT_4>   0..unbounded
                <field1>
                 <field2>
    We want to convert flat file into above XML format. So, in this how to handle <GMT_4> xml node. For the others, we will specify
             GMT_1.fieldSeparator
             GMT_1.endSeparator
    like this. But, how to specify for the node GMT_4.
    Kindly reply, friends.
    Kind Regards,
    Prakash

    Hi,
    For FCC check some links.
    /people/venkat.donela/blog/2005/03/02/introduction-to-simplefile-xi-filescenario-and-complete-walk-through-for-starterspart1
    /people/venkat.donela/blog/2005/03/03/introduction-to-simple-file-xi-filescenario-and-complete-walk-through-for-starterspart2
    /people/arpit.seth/blog/2005/06/02/file-receiver-with-content-conversion
    /people/anish.abraham2/blog/2005/06/08/content-conversion-patternrandom-content-in-input-file
    /people/shabarish.vijayakumar/blog/2005/08/17/nab-the-tab-file-adapter
    /people/venkat.donela/blog/2005/03/02/introduction-to-simplefile-xi-filescenario-and-complete-walk-through-for-starterspart1
    /people/venkat.donela/blog/2005/03/03/introduction-to-simple-file-xi-filescenario-and-complete-walk-through-for-starterspart2
    /people/venkat.donela/blog/2005/06/08/how-to-send-a-flat-file-with-various-field-lengths-and-variable-substructures-to-xi-30
    /people/anish.abraham2/blog/2005/06/08/content-conversion-patternrandom-content-in-input-file
    /people/shabarish.vijayakumar/blog/2005/08/17/nab-the-tab-file-adapter
    /people/jeyakumar.muthu2/blog/2005/11/29/file-content-conversion-for-unequal-number-of-columns
    /people/shabarish.vijayakumar/blog/2006/02/27/content-conversion-the-key-field-problem
    /people/michal.krawczyk2/blog/2004/12/15/how-to-send-a-flat-file-with-fixed-lengths-to-xi-30-using-a-central-file-adapter
    /people/arpit.seth/blog/2005/06/02/file-receiver-with-content-conversion
    http://help.sap.com/saphelp_nw04/helpdata/en/d2/bab440c97f3716e10000000a155106/content.htm
    Regards,
    Phani

  • How to handle blank line in File adapter

    Hi,
    I am using a file adapter with CSV as input file. If I have a blank line in CSV file, BPEL is failing read it, no instance is created and file is archieved.
    Please let me know how to handle this issue.
    Thanks

    Hi Yatan,
    I am already using rejectedMessageHandlers, I am on 10.1.3.3.
    Here's my bpel.xml
    ============
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <BPELSuitcase>
    <BPELProcess id="EmpAddressUpdABCSImpl" src="EmpAddressUpdABCSImpl.bpel">
    <partnerLinkBindings>
    <partnerLinkBinding name="ReadFile">
    <property name="wsdlLocation">ReadFile.wsdl</property>
    <property name="rejectedMessageHandlers">file://E:/HRARCHIVE/BadData</property>
    </partnerLinkBinding>
    <partnerLinkBinding name="InsertAddressUpd">
    <property name="wsdlLocation">InsertAddressUpd.wsdl</property>
    <property name="retryInterval">60</property>
    </partnerLinkBinding>
    </partnerLinkBindings>
    <configurations>
    <property name="sensorLocation">sensor.xml</property>
    <property name="sensorActionLocation">sensorAction.xml</property>
    </configurations>
    <activationAgents>
    <activationAgent className="oracle.tip.adapter.fw.agent.jca.JCAActivationAgent" partnerLink="ReadFile">
    <property name="portType">Read_ptt</property>
    <property name="rejectedMessageHandlers">file://E:/HRARCHIVE/BadData</property>
    </activationAgent>
    </activationAgents>
    </BPELProcess>
    </BPELSuitcase>
    Someone told me that this can be achieved by changing the native schema, I tried many options but no result. Please suggest me.
    -- Shirish

  • How to handle empty file using sftp adapter

    Hi,
    Please explain me how to handle empty files in sftp adapter.
    Thanks,
    Enivass

    Hi Enivaas,
                        I don't have the seeburger sftp adapter at hand at the moment, but asfar as I remember, this does not specifically have an empty-file handling option like the standard ftp adapter.
    So to stop emtyp files from being written, guess would need to handle this at the mapping level. For example, check for target creation criteria in the header node in mapping. If the creation criteria is not met, you can throw an error in mapping.
    You may also incorporate this condition in your Receiver determination. In this case, if the condition is not satisfied, no receiver is determined in PI.
    Regards

  • How to handle the failed records from the table when using DB Adapter

    Hi,
    I am reading some records from table using DB Adapter inside my synchronous BPEL process. Say like reading 100 records from table in between after successful reading of 90 records an error occured in 91st record due some various reasons(like DB down, Connection interrupted etc.). Then how to handle this situation, whether i have to read all the records from the begining and is there any option to continue from where it stopped reading.
    Can please anybody help me out in the regard?
    Thanks in advance
    Regards,
    Aejaz

    we had the same requirement some time ago and had two option:
    1. ask the R/3 development team add a deletion indicator in the table (and thus not actually deleting the record). this deletion indicator could then be used like for any other standard datasource
    this option was however refused, due to huge data volume after a while
    2. at the end of the load we copied the ZTABLE1 to ZTABLE2. then in the begin of the load (day after) we compare the data of table1 to table2. entries available in table2 but not in table1 are deleted, and we put a 'D'. in deletion indicator; as we only keep the deleted entries for one day, the volume of the new table is acceptable.
    M.

  • How to handle Back button, Browser Refresh problem at server side.

    Hi Friends,
    How to handle Back button, Browser Refresh problem at server side in java?.
    I am able to trace that,
    request.getHeader("ACCEPT") is returning value- */*
    when the browser was refreshed and returning different MIME types
    for all other actions from browser.
    I have doubt, will the above solution works always for all servers,browsers?.
    Please also specify any solution to handle back button at server side?.
    Thanks in Advance.
    Venkat..

    I'm sorry I don't think tht's the right solution for
    the above question....
    We must be aware that whatever scripting methdologies
    we either javascript/vbscript would executed @
    client(browser) side not @ server side....
    Dud If U get a good solution keep me updated.....
    THANKS & REGARDS,
    RAHULMy dear friend ...
    the bad news is that u simply cant disable or add any listener to the back button of the browser.
    When u hit the back button of ur browser the URL gets re-executed. So in case u have a JSP then the history.forward() is the best solution. [only if the page doesnt get expired similar to secure https sites]
    Now dont say that user can have javascript disabled ...those users will have a pretty touch time browsing websites since javascripts r used extensively by almost all websites.
    But in case u have an action.do or servlet call then u need to manage it using a session variable since the request will be sent to the server rather than client.
    For multiple form submittion issues read the following article in javaworld...
    Client vs. server solutions
    Different solutions can solve this multiple form submission situation. Some transactional sites simply warn the user to wait for a response after submitting and not to submit twice. More sophisticated solutions involve either client scripting or server programming.
    In the client-only strategy, a flag is set on the first submission, and, from then on, the submit button is disabled based on this flag. While appropriate in some situations, this strategy is more or less browser dependent and not as dependable as server solutions.
    For a server-based solution, the Synchronizer Token pattern (from Core J2EE Patterns) can be applied, which requires minimal contribution from the client side. The basic idea is to set a token in a session variable before returning a transactional page to the client. This page carries the token inside a hidden field. Upon submission, request processing first tests for the presence of a valid token in the request parameter by comparing it with the one registered in the session. If the token is valid, processing can continue normally, otherwise an alternate course of action is taken. After testing, the token resets to null to prevent subsequent submissions until a new token is saved in the session, which must be done at the appropriate time based on the desired application flow of control.
    for more details refer :
    http://www.javaworld.com/javaworld/javatips/jw-javatip136.html
    Hope u got the idea.
    FYI I have been using both these ideas in my credit card payment gateway project. This concept has worked really well.

  • How to handle Big FIles in SAP PI Sender file adapter

    Hi all ,
    I have developed a interface , where it is File to Proxy, it is fine when i do with small and normal files
    The structure contain one  Header unbounded  detail and one  Trailer, how to handle when the file size is more than 40 MB
    Thanking you
    Sridhar

    Hi Sridhar Gautham,
    We can set a limit on the request body message length that can be accepted by the HTTP Provider Service on the Java dispatcher. The system controls this limit by inspecting the Content-Length header of the request or monitoring the chunked request body (in case chunked encoding is applied to the message). If the value of the Content-Length header exceeds the maximum request body length, then the HTTP Provider Service will reject the request with a 413 u201CRequest Entity Too Largeu201D error response. You can limit the length of the request body using the tting MaxRequestContentLength property of the HTTP Provider Service running on the Java dispatcher. By default, the maximum permitted value is 131072 KB (or 128MB).You can configure the MaxRequestContentLength property using the Visual Administrator tool. Proceed as follows:
           1.      Go to the Properties tab of the HTTP Provider Service running on the dispatcher.
           2.      Choose MaxRequestContentLength property and enter a value in the Value field. The length is specified in KB.
           3.      Choose Update to add it to the list of properties.
           4.      To apply these changes, choose  (Save Properties).
    The value of the parameter MaxRequestContentLength has to be set to a high value.
    The Visual administartor tool may be accessed using this link
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/40a08db9-59b6-2c10-5e8f-a4b2a9aaa3d2?quicklink=index&overridelayout=true
    In short  ICM parameters to reset values for this case are
    icm/HTTP/max_request_size_KB
    icm/server_port_ TIMEOUT
    rdisp/max_wprun_time
    zttp/max_memreq_MB
    Please look into this thread to know more about ICM parameters
    http://help.sap.com/saphelp_nw04/helpdata/en/61/f5183a3bef2669e10000000a114084/frameset.htm
    Second solution is that you must split the source file, so that each file is less than 5MB in size, then PI would not cause problem for file size between 1MB-5MB. you can insert header and trailer for individual smaller file obtained after split. All this can be done using scripts or conventional programing provided individual records within file are independent of each other. Finally you have to rename each new file created and put them in PI folder in sequential manner. All this can be achieved by simple shell script/batch file, a C code or java code. If you are going for a C or Java code you need a script to call them from PI communication channel parameter  "run operating system command before message processing".
    regards
    Anupam

  • How to monitor the alerts(error handling) in seerburger adapter?

    hi,
    is it like normal moniotoring for any scenario..i have to do the monitoring in seeburger adapter.
    any other specific thing i have to take care to do monitoring the alerts (error handling) in seeburger adapter for AS2 and FTP adapters..
    plz give other ways to monitor interfaces for seeburger adapter.
    Regards
    Raja

    Hi Raja,
    All Seeburger adapters have option of some kind of acknowledgement to be sent to the sender or any  partner... u need to check the respective adapter documention....
    for eg: FTP adapter can be configured for Message protocol - FTP-REPORTS
    for sending various types of reports to any Business Partner,,,reports like dispatch report, transmission reports,,....etc
    and for monitoring errors in XI... u can configure alerts as u normally do.....
    *Reward points if useful*
    Regards,
    Sushil.

  • How to handle response.sendRedirect(url) in a portlet w/ webflow?

    I am using a webflow to navigate within a portlet. There are three jsp pages or
    nodes in the portlet. One of the jsp pages has the following logic:
    if (A) { response.sendRedirect(url1)}
    else if(B) { response.sendRedirect(url2)}
    else{display rest of this jsp page}
    I think I have the correct portlet urls. I used WebflowJSPHelper.createWebflowURL(...).
    The problem is when it tries to redirect, the whole portlet disapears leaving
    only the title bar. I check the weblogic log file and there is an exception about
    RuleSetNotFoundException. Does anybody know how to handle this problem? Can
    I use sendRedirect method in a portlet?
    thanks,

    Go to dev2dev.bea.com source code library and copy the redirect sample code in
    your application domain. This program expects you to make come changes in the
    portal workflow.
    ciao
    "Edoardo Boechat" <[email protected]> wrote:
    >
    Dear James,
    Maybe I'll be boring, but I'll give you my expirience with "sendRedirect".
    When you use sendRedirect you send back to the browser a new URL that
    him will
    use to obtain the content that will be exposed, in other words, It's
    a client
    side operation.
    The portlet machanism work on the server side of the application. So
    why you are
    using sendRedirect? If one of that conditions happen, are you interesting
    in expose
    a content of another web site?
    If you want to expose the content of another web site, use the wizard
    to generate
    a example jsp page who do this correct in a portlet and adapt the code
    to your
    situation.
    Otherwise, you are using a wrong concept. If it's a server side operation
    you
    need to use "forward" or "include" operation to do what you want.
    I expect be helpfull,
    Edoardo Boechat.
    "James" <[email protected]> wrote:
    I am using a webflow to navigate within a portlet. There are threejsp
    pages or
    nodes in the portlet. One of the jsp pages has the following logic:
    if (A) { response.sendRedirect(url1)}
    else if(B) { response.sendRedirect(url2)}
    else{display rest of this jsp page}
    I think I have the correct portlet urls. I used WebflowJSPHelper.createWebflowURL(...).
    The problem is when it tries to redirect, the whole portlet disapears
    leaving
    only the title bar. I check the weblogic log file and there is an exception
    about
    RuleSetNotFoundException. Does anybody know how to handle this problem?
    Can
    I use sendRedirect method in a portlet?
    thanks,

  • How to stop the IDOC adapter using IDPI framework (APIs)?

    Hi Guys,
    We have a requirement to start/stop the communication channels depending on the Integration scenarios. But for IDOC and HTTP we dont have any sender channels.
    Plz let me how can we stop the adapter ,so that no more IDOCs are received .
    We are looking for some API (IDPI framework) if available.
    Locking the RFC users is not an acceptable soln here.
    Hope to get some info soon.
    Regards
    Dhanya

    Hi Dhanya,
    there is a way on PI side alone
    for IDOC 2 steps needed:
    1st: Determine all the IDoc metadata that is involved in your communication in IDX2 (basically all idoc types that the sending system sends) then deleted it all
    2nd: Determine the IDoc port of the sending system in IDX1 (it should be an RFC destination pointing to the sending system) then Disable or delete that port
    On runtime a validation of the loaded idoc metadata happens on PI and the sending side (experienced this on ERP6 & ERP5, not sure on lower versions >4.5), if the sending system determines that there is an inconsistency between its idoc structure against the idoc structure loaded in PI the idoc will be stuck in trfc queue (SM58) having error something like table EDI*** conflicts.  In our case when you disable the IDoc port in IDX1 and there is no idoc metadata in IDX2 when the sending system tries to send idoc PI will try to fetch the idoc metadata but it won't be successful because the IDX1 port is disabled already.
    for HTTP, you can try to disable service  /sap/xi/adapter_plain   in SICF  but please consider the resending of the message should be handled also on the sending side.
    hope this helps

  • How to handle password changes if we implement singlesignon between BO& BI7

    Hi,
    As we know ,we can implement single signon between BO and SAP BI 7, by importing roles and users through CMC and by selecting the option "Use Single signon during report refresh time".
    My doubt here is, When we import roles from SAP and Auto import the users, is it only the SAP usernames that are stored in BO repository or both username and password. If  second case holds true then how to handle/manage password change for a user who is already imported in BO sometime back?
    Would the password changes be reflected automatically in BO?
    Please guide me if you think that I'm thinking in a wrong direction.

    Hi Naresh,
    password changes are reflected automatically in BO. BO just forwards the data to the SAP side and it does the real authentification.
    Regards,
    Stratos
    PS: Keep in mind that you cannot change the SAP password on the BO login screen if your SAP password has expired. You have to do this with the SAP client (SAP GUI)

  • How to handle rpc/encoded style messages using BizTalk?

    I am integrating with a lot of services and one of our customers has a service with rpc/encoded style
    I could consume and generate schema from their wsdl file via BizTalk consume WCF wizard.
    Once I am trying to call the service with request message that generated from the schema, it is giving an error that can not desterilize the first element of the message. 
    No Deserializer found to deserialize a 'FieldName' using encoding style 'null'
    I compared the stub xml request message from SaopUI and I noticed that the xml expecting the data type with the element like this .
    <soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsb="WSBanka">
    <soapenv:Header/>
    <soapenv:Body>
    <wsb:bnkBorcsorgulama soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
    <sozlesmeNo xsi:type="xsd:string">?</sozlesmeNo>
    <bankaKodu xsi:type="xsd:string">?</bankaKodu>
    <anahtar xsi:type="xsd:string">?</anahtar>
    </wsb:bnkBorcsorgulama>
    </soapenv:Body>
    </soapenv:Envelope>
    On the other hand, I got the request of the message from Fiddler using the BizTalk , and the generate xml of the BizTalk schema without the data type.
    <soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsb="WSBanka">
    <soapenv:Header/>
    <soapenv:Body>
    <wsb:bnkBorcsorgulama>
    <sozlesmeNo>?</sozlesmeNo>
    <bankaKodu>?</bankaKodu>
    <anahtar>?</anahtar>
    </wsb:bnkBorcsorgulama>
    </soapenv:Body>
    </soapenv:Envelope>
    In SoapUi, if I remove a datatype from the message, I will get same error from the BizTalk request.
    I read some articles that rpc/encoded style are not supported but I am not sure and these articles are not clear.
    I also read that it was supported with Soap adapter but now it is deprecated.
    So, Is there any one has an experience in rpc/encoded style messages and how to handle these message in BizTalk or is there any work around to handle these messages?
    Your inputs really appreciate it.
    Thanks in advance,
    When you see answers and helpful posts, please click Vote As Helpful, Propose As Answer, and/or Mark As Answer

    Hi,
    Please refer to the document which might help you:
    #RPC/Encoded Style
    http://www.c-sharpcorner.com/UploadFile/martinkropp/DesigningInteroperableWebService11232005044847AM/DesigningInteroperableWebService.aspx

  • How to handle multiple records in BPMN process

    Hi All,
    We are using Oracle BPM 11g.In my requirement,I am using the database adapter to get the data from table and I need to validate the each record and update the status of that record from the BPM Process.But I dont know how to handle if multiple records come at a time.Can anybody please helpout from this problem.
    Thanks in advanced.
    Narasimha Rao.

    Can you have a look at this post: http://redstack.wordpress.com/2010/09/30/iteratingtraversing-arrays-in-bpm/
    It's solving a different problem, but the key is that it's using a multi-instance subprocess to iterate over an array of "things" that need to be acted in. In your case it's the set of results from the db query rather than the set of tests in the example. But the principle is the same. You'd take collection of rows from the DB and process them in a multi-instance subprocess. The text that begins with the following would be good place to start:
    "Now let’s implement the body of our process. We will use the Subprocess object to handle the traversal of the array of tests. Drag a Subprocess from the component palette on the right into the process and drop it on the line between the Start and End nodes."
    In the loop characteristics you'd define whether you want to execute serially or in parallel.

Maybe you are looking for

  • O2A - Sending extensible attributes from OSM COM to OSM SOM

    I have a role of Oracle Senior OSM Consultant in an important RODOD implementation going on in a tier 1 client and I would like to understand one of the use cases implemented in the O2A cartridges, regarding the communication of extensible attributes

  • How do I insert a nav bar I made in photoshop into dreamweaver?

    I have spent days making a roll-over navigation bar in photoshop and saved for web with slices, but however I try to insert it into my webpages, (either as a library item or otherwise - not that I really know what I'm doing!) It is always a greyed ou

  • Shared services

    hello all, i have created a group in HSS under native directory and assigned some users to that group. But i am unable to see the group in EAS. When I am trying to refresh in EAS through security it is asking for current user or all users. please hel

  • BPS vs SEM

    If you go to t-code BPS0 then your are in BPS. Is there a transaction for SEM or is SEM/BPS the same thing except for the SEM add on's such as consolidations? Any help explaining will be rewarded. Thanks

  • Career and Succession Planning Business Process

    Dear Friends, Can anyone send me anyone client Model Career and Succession Planning Business Process. Regards, M