Sending payload in ABAP proxy

Hi all,
i have a requirement to send the inbound payload in the mail content when any error occurs in ABAP proxy. How can I achieve this?
Thanks

are you looking for this
The following program fetches the payload for a request message independently of a proxy instance and returns it in the system:
DATA:
  ls_request          TYPE [Data type of output parameter],
  lo_fault            TYPE REF TO cx_ai_system_fault,
  lo_payload_handler  TYPE REF TO IF_WS_PAYLOAD_HANDLER,
  lo_payload          TYPE REF TO if_ws_payload,
  lt_request_data     TYPE PRX_T_PARAM,
  ls_request_data     TYPE PRX_S_PARAM.
  lo_pointer          TYPE REF TO xstring,
Fill request data
request-field1 = '[Value1]'.
request-field1 = '[Value1]'.
request-fieldN = '[ValueN]'.
Use payload handler to get payload independently
from proxy call:
TRY.
Get Payload handler for a proxy method.
Note: You have to provide the proxy and method name in uppercase.
  lo_payload_handler = cl_proxy_access=>get_payload_handler(
     proxy_name = 'CO_...'
     proxy_method = 'EXECUTE_SYNCHRONOUS' ).
Pass request data to payload handler
  CLEAR lt_request_data.
  CLEAR ls_request_data.
  ls_request_data-name = 'OUTPUT'.
  GET REFERENCE OF request into ls_request_data-value.
  append ls_request_data to lt_request_data.
  lo_payload =
     lo_payload_handler->get_payload_from_request_data(
        lt_request_data).
Catch system faults
CATCH cx_ai_system_fault INTO lo_fault.
  WRITE: / 'System fault'.
  WRITE: / 'Code:', lo_fault->code.
  WRITE: / 'Text:', lo_fault->errortext.
  EXIT.
ENDTRY.
Show payload for test purposes
lo_pointer = lo_payload->get_xml_pointer( ).
cl_proxy_service=>show_xml_document( lo_pointer->* ).
<b>Check this</b>
/people/krishna.moorthyp/blog/2005/12/23/monitoring-for-processed-xml-messages-in-abap-proxy
http://help.sap.com/saphelp_nw04/helpdata/en/31/6c5c3c3806af06e10000000a11402f/frameset.htm
2 xml documents in 1 payload
Thanks !

Similar Messages

  • Get sender service in abap proxy

    Hi,
    Is there a way to get Sender Service in abap proxy in a similar way as we can do in a mapping using StreamTransformationConstants.SENDER_SERVICE?
    Thanks,
    Pedro Leal

    Hi,
    In ABAP proxy the data will be available that is present in the Payload which is created after mapping.
    So to get data in abap proxy it should be available in payload.
    if it is not possible to creating a new target element then you can concatenate it in the existing some other element. Separate it in the ABAP proxy.

  • Send message with abap proxy client

    I'm trying to send message to XI, but no message in sxmb_moni.
    I have created logical port with LPCONFIG.
    ABAP code
    REPORT  Z_HTTP_SEND.
    DATA:
    * Reference variables for proxy and exception class
      lo_clientProxy     TYPE REF TO ZPCO_MI_COMPANY_OB,
      lo_sys_exception   TYPE REF TO cx_ai_system_fault,
    * Structures to set and get message content
       ls_request         TYPE ZPMT_COMPANY_ID,
       ls_response        TYPE ZPMT_COMPANY_DETAILS.
    *Complete the structure ls_request for the request message.
    *DATA: zmt_id type ZPMT_COMPANY_ID,
    *zdt_id type ZPDT_COMPANY_ID,
    *z_id_tab type ZPCOMPANY_ID_TAB,
    *z_id type ZPCOMPANY_ID.
    *z_id-COMPANY_ID = '3000'.
    *append  z_id to z_id_tab.
    *  zdt_id-RECORD = z_id_tab.
    *zmt_id-MT_COMPANY_ID = zdt_id.
    DATA tab TYPE ZPCOMPANY_ID_TAB WITH HEADER LINE.
    tab-COMPANY_ID = '3000'.
    APPEND tab.
    ls_request-MT_COMPANY_ID-RECORD = tab[].
    TRY.
    * create proxy client
    *CREATE OBJECT lo_clientProxy( u2018LOGICAL_PORT_NAMEu2019 ).
        CREATE OBJECT lo_clientProxy.
    * do synchronous client proxy call
        CALL METHOD lo_clientProxy->execute_synchronous
                 EXPORTING output  = ls_request
                 IMPORTING input   = ls_response.
        CATCH cx_ai_system_fault INTO lo_sys_exception.
    *   Error handling
    ENDTRY.
    Any ideas? Thanks very much,

    Hi,
    Proxies communicate with the XI server by means of native SOAP calls over HTTP .RFC does not, so you have to convert from SOAP to RFC calls and vice versa. So XML conversion is required.
    ABAP Proxies uses Webservice and Http Protocols. And if you use RFC it is mainly meant for Sync. call. But Proxies is used for both Sync and Async.
    If you use ABAP Proxy , you can reduce the overhead calling the function again and again.
    How do you activate ABAP Proxies? - Activate Proxy
    ABAP Server Proxies - ABAP Server Proxy
    ABAP Proxies in XI(Client Proxy) - ABAP Client Proxy
    Re: JDBC Sender select/update problem
    If u generate proxy for outbound interface then its client proxy and for inbound interface its server proxy.
    In client proxy u can call the method to send messages but u can't modify it but in server proxy its possible to write a user code within the method to execute proxy.
    CLIENT PROXY:
    A WSDL description from a UDDI server (or an Internet page) is usually used to make a service executable in the Internet and to describe the interface of this service. You require a client proxy and not a server proxy to call this service by using the Web service infrastructure.
    SERVER PROXY:
    You can only generate ABAP server proxies from a WSDL description if they originate in the Integration Repository.You can also generate server proxies for Java and client proxies for ABAP from message interfaces.
    s refer these doc about ABAP proxy ..
    How do you activate ABAP Proxies? - Activate Proxy
    ABAP Server Proxies - ABAP Server Proxy
    ABAP Proxies in XI(Client Proxy) - ABAP Client Proxy
    Re: JDBC Sender select/update problem
    ABAP Server Proxies
    How do you activate ABAP Proxies?
    ABAP Proxies in XI(Client Proxy)
    File to R/3 via ABAP Proxy
    http://help.sap.com/saphelp_nw2004s/helpdata/en/48/d5a1fe5f317a4e8e35801ed2c88246/frameset.htm
    http://help.sap.com/saphelp_nw04s/helpdata/en/ba/f21a403233dd5fe10000000a155106/frameset.htm
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/41e08c90-0201-0010-9197-d8774336ea78
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f0ae9874-109c-2910-f48a-e91f0cdd1c81
    Smarter Approach for coding ABAP Proxies
    regards,
    Surya

  • Error Handling for ABAP Proxy sender

    Hello Everyone,
    I am trying out a scenario of SAP R/3 to Oracle database (ABAP Proxy to JDBC).
    I have the following code and it works fine.
    CALL METHOD prxy->execute_asynchronous
          EXPORTING
            output = it.
         commit work
      CATCH cx_ai_system_fault .
        DATA fault TYPE REF TO cx_ai_system_fault .
        CREATE OBJECT fault.
        WRITE :/ fault->errortext.
    I know that the above Catch block would be used to handle system errors on the sender side.
    Please tell me what kind of errors could these be and what I can do to test these errors. ie. I want to  create error situations explicitely and see how they are handled.
    Thanks and Regards,
    Ashwin

    Thanks guys, this was useful.
    My scenario is for Asynchronous communication.
    I guess Fault messages are used in case of Synchronous communication for handling application errors. So if there was something wrong at the JDBC end then I could use the fault messages.
    Have i got this right?
    I also came across this piece on Acknowledgements. But is says that they can be used with the following Receivers:
    The following receivers support acknowledgments:
    ABAP and Java proxies (XI 3.0 SP1 for the latter)
    Integration processes
    IDocs (note that IDocs only return acknowledgments when they have been configured using the ALE audit)
    Receiver adapters support system acknowledgments but not application acknowledgments
    My Receiver is JDBC. So I guess I cannot use acknowledgements either.
    Hence, I need to know what I can do to replicate the system errors eg. failed server etc...so that I can get catch these errors during sending.
    I'll tell you abt what happened earlier.
    My XI server was down. I executed the code for the sender ABAP Proxy and it did not catch the error. In SXMB_MONI in the R/3 system, I could see the messages queued up. When the XI server started, the messages were transferred to XI.
    I need to handle such errors...ie. If  the server is down or message did not reach XI then my ABAP program that sends data via ABAP proxy needs to know that something went wrong.
    Thanks and Regards,
    Ashwin

  • File to ABAP proxy as attachment

    Hello PI expert,
    I have requirement to FTP file from FTP server to ECC server.  But because of some security, we can not get FTP permission on ECC server.
    What i want to do is, get the file from FTP server as it is, and send it using abap proxy as attachment. I don't want to do any content conversion or xml conversion because I want to transfer file as it is.
    Any suggestion.
    Thanks,

    Hi,
    if your PI version is at least "SAP NetWeaver PI 7.1 SP3"
    create sample Data type structure with one node and one field, and use this for both proxy and file service/message interfaces.
    Pick the file from FTP. No graphical mapping. Use Java Mapping. Read the input stream and create an attachement from this and attach it to the message. pass some static values for the output (proxy) structure using output stream. Thats all.
    http://help.sap.com/javadocs/pi/SP3/xpi/index.html
    Methods:-
    com.sap.aii.mapping.api --> OutputAttachments --> create(String contentId, byte[] content) / create(String contentId, String contentType, byte[] content)

  • INTERNAL - AMF_ERROR in XML -- ABAP proxy scenario

    Hi Experts,
    Can any one help me to solve this following issue please, it is happening while I am executing the scenario between XML File to ABAP Proxy scenario.
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!--  Call Adapter
      -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
      <SAP:Category>XIServer</SAP:Category>
      <SAP:Code area="INTERNAL">AMF_ERROR</SAP:Code>
      <SAP:P1>1</SAP:P1>
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:Stack>Error when processing message number 1 in package No object type found for the message. Check that the corresponding process is activated An exception has occurred.</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>.
    This XML message has got 5 Lines Header and more than 100 Lin Items, this kind of Header and Lin item message 3 to 4 in one XML, I am using multi mapping. Message mapping shows working fine, OM also shows working fine. BPM is splitting messages to send messages to ABAP Proxy on SNC 7.0. After I have done all with SDN experts support, still I am having the above issue. can any one experties might help to resolve this?
    I will appreciate your support.
    Thanks & Regards
    San

    Can you please explain the solution.
    Regards,
    Rashi

  • Message not going to the receiver ABAP Proxy

    I have a File-XI-ERP scenario.  The file communication channel is working fine but the sending to the ABAP proxy for transfer to ERP is not working.  I have created the right ID objects for the scenario.  Using the communication channel monitoring, the file gets to be read, transformed into the right message but sent to the wrong integration server (http://xidev:50000/sap/XI/engine?type=entry) instead of what is given in the communication channel.  Any suggestions on what to look at?

    Hai,
        Check whether the ABAP Proxies are enabled in your ERP System or not. To do this Login to your ERP System --> Goto tcode: SPROXY
    select option --> Goto --> Connection Test. this will check the connection b/n your ABAP proxy and the Integration Builder. the following parameters should be checked,
    1.The address of the Integration Builder must be stored in the SAP system
    =>Check/maintain with report SPROX_CHECK_IFR_ADDRESS
    2.The HTTP connection of the ERP application server must function correctly
    =>Check with report SPROX_CHECK_HTTP_COMMUNICATION
    3.The Integration Builder server must be running correctly
    =>Check with report SPROX_CHECK_IFR_RESPONSE
    4. Proxy generation must interpret the data of the Integration Builder correctly
    ==>Check with report SPROX_CHECK_IFR_CONNECTION
    Hope this helps..
    regards,
    Gopinathan.

  • Abap Proxy exception Handling

    Hi guys,
    I've implemented the following scenario:
    BPM Process where I've got a async receive (from a file receiver), a sync send (to an ABAP PROXY) and a send async (to a file sender).
    The scenario is working great, I've catched 'Communication exceptions', and the proxy contemplates the necessary exception throwers too, but I'm now trying to Handle one specific exception. Imagine you force a dump, with a divide by zero in the proxy code...the proxy will dump and the XI gets a mapping exception (like is supposed to).
    The exception is:
    <SAP:Code area="MAPPING">EXCEPTION_DURING_EXECUTE</SAP:Code>
    <SAP:P2>com.sap.aii.utilxi.misc.api.BaseRuntimeException</SAP:P2>
    <SAP:P3>RuntimeException in Message-Mapping transformatio~</SAP:P3>
    The thing is, I want to catch this exception on the mapping and handle it, so the bpm process sends the handle response with the file sender.
    I've looked to Alessandro Guarneri blog, but it's a little bit different, because I don't want to throw an exception but I'd like to handle it....
    Can you guys help me with this question?

    Hi Vijaya,
    I was able to catch the exception like you said, on the proxy side.
    I'm trying to conceive some real and feasible dumps scenarios and for that I'm forcing dumps, and catching exceptions. Divisions by zero was one of the examples.
    For division by zero I was able to catch it with a cx_sy_no_handler exception, but I've another example which I'm not being able to catch it.
    I'm sendind an message e001(zisa), which will exit automatically from the function module. Am I able to catch that message? Meaning, can I catch it and treat it, instead of the system exiting the function and showing the corresponding message?Is there any cx_* ?
    Even better, on sxmb_moni I get:
    <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
      <SAP:Category>XIServer</SAP:Category>
      <SAP:Code area="INTERNAL">HTTP_RESP_STATUS_CODE_NOT_OK</SAP:Code>
      <SAP:P1>500</SAP:P1>
      <SAP:P2>Internal Server Error</SAP:P2>
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText><html> <body> <H1> 500 SAP Internal Server Error </H1> <B> Error message: </B> O centro nao existe ou nao esta preenchido. ( <B> type of termination: </B> ERROR_MESSAGE_STATE ) <BR /> </body> </html></SAP:AdditionalText>
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>HTTP response contains status code 500 with the description Internal Server Error Error when sending by HTTP (error code: 500, error text: Internal Server Error)</SAP:Stack>
      <SAP:Retry>N</SAP:Retry>
      </SAP:Error>
    So, the SOAP adapter receives something. If it's not possible to catch this exception on the abap proxy side, can I catch and map that soap adapter error text on the BPM side?
    Thanks a lot for all of your attention

  • [MESSAGE.GENERAL] How can take the actual error text for ABAP proxy error?

    Hi...
    I'm a ABAPer.
    I got to create outbound abap proxy for synchronous server proxy and described below.
    My problem is program can not catch the actual error message when occurred error during send data to XI.
    The return message is just 'MESSAGE.GENERAL'.
    But according to the XI part, 'Key error' is actual reason.
    So... how can i take the actual error text like 'Key error'?
    <b>* Only MESSAGE.GENERAL is return message for all kind of errors.</b>
    Thanks.
    Below----
      TRY.
          CREATE OBJECT abap_proxy.
          CALL METHOD abap_proxy->execute_synchronous
            EXPORTING
              output = gs_out
            IMPORTING
              input  = gs_in.
      Exception Handling
    <b>    CATCH cx_ai_system_fault  INTO  go_sys_exception.
          g_sys_result = go_sys_exception->get_text( ).</b>
        CATCH cx_ai_application_fault INTO go_app_exception.
          g_app_result = go_app_exception->get_text( ).
      ENDTRY.
      COMMIT WORK.
    Return status 'D' is succeeded.
      if  gs_in-sales_group_rer_sap-xstat <> 'D'. 
         WRITE:/ 'System Error Message      :', g_sys_result.
         WRITE:/ 'Application Error Message :', g_app_result.
      endif.
    *--Result--
    System Error Message      : MESSAGE.GENERAL
    Application Error Message :
    Message was edited by: Miju cho
    Message was edited by: Miju cho

    Thanks guys, this was useful.
    My scenario is for Asynchronous communication.
    I guess Fault messages are used in case of Synchronous communication for handling application errors. So if there was something wrong at the JDBC end then I could use the fault messages.
    Have i got this right?
    I also came across this piece on Acknowledgements. But is says that they can be used with the following Receivers:
    The following receivers support acknowledgments:
    ABAP and Java proxies (XI 3.0 SP1 for the latter)
    Integration processes
    IDocs (note that IDocs only return acknowledgments when they have been configured using the ALE audit)
    Receiver adapters support system acknowledgments but not application acknowledgments
    My Receiver is JDBC. So I guess I cannot use acknowledgements either.
    Hence, I need to know what I can do to replicate the system errors eg. failed server etc...so that I can get catch these errors during sending.
    I'll tell you abt what happened earlier.
    My XI server was down. I executed the code for the sender ABAP Proxy and it did not catch the error. In SXMB_MONI in the R/3 system, I could see the messages queued up. When the XI server started, the messages were transferred to XI.
    I need to handle such errors...ie. If  the server is down or message did not reach XI then my ABAP program that sends data via ABAP proxy needs to know that something went wrong.
    Thanks and Regards,
    Ashwin

  • Mail Sender to Abap Proxy Receiver with Attachements

    Hi All,
    Scenario: I need to create a ticket in Solman from a mail. I intend to do the scenario as Mail sender to Abap Proxy receiver asynchronous.
    I have configured my sender mail adapter and am able to get the mails in XI. The attachements also appear in Inbound payload as MailAttachement-1, MailAttachement-2 etc. I have checked use mail packege and keep attachements in sender adapter.
    Transport Protocol: IMAP4
    Message Protocol: XIPAYLOAD
    Queries:
    1. My Inbound Data Type is the mail Package -- ximail30_xsd. Here in sxmb_moni I can see the mail attributes like from, to and the mail body in content. But How can I read the attachements in my message mapping.
    2. How can I pass these attachements to Abap Proxy ( I do not need to alter attachments only pass to proxy ). These attachements have to be attached to the Solman ticket in SOLMAN server.
    Appreciate your kind response to my above queries.
    Thanks.
    Regards,
    Siddhesh S.Tawate
    PS: I have tried using PayloadSwapBean in adapter module but still the content at source remains same.

    Hi,
    Please find below the part of code that might help you. I have given code only responsible for attachements part of the ticket.
    loop at lt_attach into l_attachment.
            count = count + 1.
            if count = 1.
              first_line = 1.
            endif.
            l_type = l_attachment->GET_CONTENT_TYPE( ).
            split l_type at '"' into l_type
                                     file_name
                                     l_name.
            l_name = file_name.
            split file_name at '.' into file_name
                                        file_type.
            l_xstring = l_attachment->GET_BINARY_DATA( ).
            strlen = xstrlen( l_xstring ).
            Compute int = ( strlen div 255 ).
            Compute rem = ( strlen mod 255 ).
            if rem <> 0.
              int = int + 1.
            endif.
            count1 = int.
            if count = 1.
              last_line = count1.
            else.
              if int = 1.
                first_line = last_line.
              else.
                last_line = first_line + count1.
              endif.
            endif.
            wa_APPX_HEADERS-APPXNO = count.
            wa_APPX_HEADERS-DESCR = l_name.
            wa_APPX_HEADERS-FILETYP = file_type.
            wa_APPX_HEADERS-FILENAM = l_name.
            wa_APPX_HEADERS-FILEFM_UL = 'BIN'.
            wa_APPX_HEADERS-FIRSTL = first_line.
            wa_APPX_HEADERS-LASTL = last_line.
            wa_APPX_HEADERS-FILELEN = strlen.
            wa_APPX_HEADERS-LAST_USR = sy-uname.
            GET TIME STAMP FIELD wa_appx_headers-TIMESTAMP.
            append wa_APPX_HEADERS to it_APPX_HEADERS.
            while count1 <> 0.
              count1 = count1 - 1.
              if count1 <> 0.
                wa_APPX_LINES_bin-LINE = l_xstring+0(255).
                shift l_xstring left by 255 places in BYTE MODE.
              ELSE.
                wa_APPX_LINES_bin-LINE = l_xstring.
              endif.
              append wa_APPX_LINES_bin to it_APPX_LINES_bin.
              clear: wa_APPX_LINES_bin, wa_APPX_LINES.
            endwhile.
            first_line = last_line + 1.
            clear: strlen, count1, file_name, file_type, l_type, int, rem, l_xstring, l_attachment.
          endloop.
    CALL FUNCTION 'BAPI_NOTIFICATION_CREATE'
            EXPORTING
              NOTIF_EXT                = wa_NOTIF_EXT
            NOTIF_CRM                = wa_NOTIF_CRM
      IBASE_DATA               =
         IMPORTING
           NUMBER                   = Refnum
           NUMB                     = Numb
           REFNUM                   = Ticket_No
           SYSID                    = SYSID
            TABLES
              NOTIF_PARTNERS           = it_NOTIF_PARTNERS
            NOTIF_NOTES              = it_NOTIF_N_EXT
              NOTIF_SAP_DATA           = it_NOTIF_SAP_DATA
            NOTIF_TEXT_HEADERS       = it_NOTIF_TEXT_HEADERS
            NOTIF_TEXT_LINES         = it_NOTIF_TEXT_LINES
            APPX_HEADERS             = it_APPX_HEADERS
            APPX_LINES               = it_APPX_LINES
            APPX_LINES_BIN           = it_APPX_LINES_BIN
             RETURN                   = RETURN
    Please observe how first and last line of attachement is calculated. That is what created problem for me initially.
    Hope this helps.
    Regards,
    Siddhesh S.Tawate

  • Problem sending xls file in an attachment via ABAP proxy

    Hello,
    I have in tmp directory a xls file, I tranfer such file to a table, and afterwards I send in an attachment via ABAP proxy, here is the code:
         l_attachment        TYPE REF TO if_ai_attachment,
            lt_attach           TYPE prx_attach,
            l_name              TYPE string,
            lx_string           TYPE xstring,
            l_string            TYPE string,
            l_type              TYPE string,
            des                 TYPE string.
      CLASS cl_ai_factory DEFINITION LOAD.
      DATA:    BEGIN OF itab OCCURS 0,
               raw(255) TYPE x,
             END OF itab.
      DATA: l_controller TYPE REF TO if_ai_posting_controller.
      DATA: it TYPE zhcm_mt_segur_out.
      CREATE OBJECT prxy.
      OPEN DATASET orig FOR INPUT IN binary MODE.
      READ DATASET orig INTO itab-raw.
      WHILE sy-subrc = 0.
        APPEND itab.
        READ DATASET orig INTO itab-raw.
      ENDWHILE.
      CLOSE DATASET orig.
      LOOP AT itab.
        CONCATENATE lx_string itab-raw INTO lx_string in byte mode.
      ENDLOOP.
      L_NAME = 'Segur.xls'.
      L_TYPE = CL_AI_ATTACHMENT=>IF_AI_ATTACHMENT~C_MIMETYPE_EXCEL.
      TRY.
          L_ATTACHMENT =
            CL_AI_FACTORY=>CREATE_ATTACHMENT_FROM_binary(
                      P_DATA = LX_STRING
                      P_TYPE = L_TYPE
                      P_NAME = L_NAME ).
          APPEND L_ATTACHMENT TO LT_ATTACH.
          L_CONTROLLER = CL_AI_FACTORY=>CREATE_CONTROLLER( ).
          L_CONTROLLER->SET_ATTACHMENTS( LT_ATTACH ).
          CALL METHOD PRXY->EXECUTE_ASYNCHRONOUS
            EXPORTING
              CONTROLLER = L_CONTROLLER
              OUTPUT     = IT.
          COMMIT WORK.
        CATCH CX_AI_SYSTEM_FAULT .
          DATA FAULT TYPE REF TO CX_AI_SYSTEM_FAULT .
          CREATE OBJECT FAULT.
          WRITE :/ FAULT->ERRORTEXT.
      ENDTRY.
    I am using a Mail receiver channel, I receive a mail, with to attachments, one .xml and the other one .bin, I save it to my computer and I change the extension to .xls and when I try to open it, the file is not valid and can be opened after being repaired. What Im doing wrong? I would like to receive a valid xls file, what i should change?
    Thanks a lot,
    Luis

    Hi,
    yes I know, I have used the MessageTransformBean module, and the PayloadSwapBean module. But which parameter I should use for leaving only one attachement in the e-mail. I did this configuration:
    1
    localejbs/AF_Modules/MessageTransformBean
    Local Enterprise Bean
    <b>trans</b>
    2
    localejbs/AF_Modules/PayloadSwapBean
    Local Enterprise Bean
    <b>swap</b>
    3
    localejbs/AF_Modules/MessageTransformBean
    Local Enterprise Bean
    <b>trans1</b>
    4
    localejbs/sap.com/com.sap.aii.adapter.mail.app/XIMailAdapterBean
    Local Enterprise Bean
    mail
    <i><b>Module configuration</b></i>
    trans
    Transform.ContentDisposition
    inline
    swap
    swap.keyName
    payload-name
    swap
    swap.keyValue
    Segur
    trans1
    Transform.ContentDescription
    Segur
    trans1
    Transform.ContentDisposition
    attachment;filename="Segur.xls"
    trans1
    Transform.ContentType
    application/vnd.ms-excel;name="Segur.xls"
    In the e-mail I get one attachement without name .xml and another one Segur.xsl, and I want only one attachment, the last one. What I should change in my configuration??
    Best regards,
    Luis

  • I want to test sender ABAP proxy in AAE by SOAP client

    To PI Specialists
    Now I plan to test sender ABAP proxy in AAE by SOAP client system.
    (we use aae so we set sender abap proxy by sender soap adapter.)
    ABAP creating team and PI creating team are in other site.We cant contact easily.
    I want to separate ABAP Unit test and PI Unit test, plan to use soap client for test driver.
    (we use SOAPUI. )
    the url is http://<host>:<port>/XISOAPAdapter/MessageServlet?channel=party:service:channel
    I noticed that sender soap adapter is started, but the messeage protocol is invalid.
    we use messege of wsdl. it must be XI3.0 protocol.
    Please tell me XI3.0 protocol.
    Naoki

    This is possible to do in SOAPUI.  I am testing this scenario using AAE, but I am also using SOAP UI Pro.  The procedure is pretty basic.  Instead of sending your payload in as part of the body, you have to send it in as an attachment.  You will also need to set the header correctly.  Here is a sample message from my SOAP UI tests that may help. The only thing you need to do differently is load the attachment, name it, and make sure that the name of the attachment is reflected in the SAP:Payload attribute.  Also, I am using a Groovy script to create a GUID.
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SAP="http://sap.com/xi/XI/Message/30">
    <soapenv:Header>
      <SAP:Main versionMajor="003" versionMinor="000" SOAP:mustUnderstand="1" wsu:Id="wsuid-main-92FFF13F5C59777FE1ABE00000A1551F7" xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/"
                xmlns:wsu="http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
       <SAP:MessageClass>ApplicationMessage</SAP:MessageClass>
       <SAP:ProcessingMode>asynchronous</SAP:ProcessingMode>
       <SAP:MessageId>${Create GUID#result}</SAP:MessageId>
       <SAP:TimeSent>${=new java.text.SimpleDateFormat("yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'").format(new Date())}</SAP:TimeSent>
       <SAP:Sender>
        <SAP:Service>SVCNM</SAP:Service>
       </SAP:Sender>
       <SAP:Interface namespace="Interface_Namehttp://namespace.com">Interface_Name</SAP:Interface>
      </SAP:Main>
      <SAP:ReliableMessaging SOAP:mustUnderstand="1" xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
       <SAP:QualityOfService>ExactlyOnce</SAP:QualityOfService>
      </SAP:ReliableMessaging>
      <SAP:System SOAP:mustUnderstand="1" xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
       <SAP:Record namespace="http://www.sap.com/webas/712/soap/features/runtime/metering/" name="CallingType">SA</SAP:Record>
      </SAP:System>
      <SAP:Diagnostic SOAP:mustUnderstand="1" xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
       <SAP:TraceLevel>Information</SAP:TraceLevel>
       <SAP:Logging>Off</SAP:Logging>
      </SAP:Diagnostic>
      <SAP:HopList SOAP:mustUnderstand="1" xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
       <SAP:Hop timeStamp="${=new java.text.SimpleDateFormat("yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'").format(new Date())}" wasRead="false">
        <SAP:Engine type="BS">SVCNM</SAP:Engine>
        <SAP:Adapter namespace="XIhttp://sap.com/xi/XI/System">XI</SAP:Adapter>
        <SAP:MessageId>${Create GUID#result}</SAP:MessageId>
        <SAP:Info>3.0</SAP:Info>
       </SAP:Hop>
      </SAP:HopList>
    </soapenv:Header>
    <soapenv:Body>
      <SAP:Manifest wsu:Id="wsuid-main-92FFF13F5C59777FE1ABE00000A1551F7" xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:xlink="http://www.w3.org/1999/xlink"
                    xmlns:wsu="http://www.docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
       <SAP:Payload xlink:href="cid:TestPayload.xml">
        <SAP:Name>MainDocument</SAP:Name>
        <SAP:Description/>
        <SAP:Type>Application</SAP:Type>
       </SAP:Payload>
      </SAP:Manifest>
    </soapenv:Body>
    </soapenv:Envelope>
    Here is a picture of my SOAP UI project in case it help the understanding.

  • Error while executing sender ABAP proxy program in ECC

    Hi,
    We have lot of proxy to file scenarios, most of them are working fine. I am having issue with 2 interfaces, when I execute sender ABAP proxy program, we are getting following errors in ECC:
    <SAP:Category>XIProtocol</SAP:Category>
      <SAP:Code area="PARSING">GENERAL</SAP:Code>
    <SAP:Stack>com.sap.aii.af.service.cpa.CPAObjectNotFoundException: Couldn't retrieve inbound binding for the given P/S/A values: FP=;TP=;FS=ED1CLNT290;TS=;AN=CustTrPowersellS_Out;ANS=urn:maines-net:OTC_079E:PowersellCustomerTerms; at com.sap.aii.af.service.cpa.impl.lookup.CommonLookup.getInboundBinding(CommonLookup.java:237) at com.sap.aii.af.service.cpa.impl.lookup.CommonLookup.getInboundBinding(CommonLookup.java:167) at com.sap.aii.af.service.cpa.InboundRuntimeLookup.<init>(InboundRuntimeLookup.java:88) at com.sap.aii.af.service.cpa.impl.lookup.AbstractLookupManager.getBinding(AbstractLookupManager.java:519) at com.sap.aii.adapter.soap.web.MessageServlet.getBinding(MessageServlet.java:875) at com.sap.aii.adapter.soap.web.MessageServlet.doPost(MessageServlet.java:439) at   etc etc
    Configuration should be fine because many scenarios are working. Can you please help me where could be the error?
    Let me know if you need more info.
    Regards,
    N@v!n

    Hi Naveen,
    We saw your solution about this issue. We are also facing same issue. I wanted to know where we have to update scenario as simple scenario or integrated scenario.
    And could you please tel me what is the main diff between in these two.
    As we are are using PI 7.31 java stack so for this version what we have to use.
    Thanks,
    Shivdeep Kumar

  • ABAP Proxy sender possible in integrated configuration AAE with PI 7.11

    Hi guys,
    we are running PI 7.11.
    We have serveral scenarios where the senderis an ABAP proxy and the receiver is reached by a jave adapter.
    With Ehp1 the SOAP adapter offers the possibilty to chose XI 3.0 as message protocol.
    We use this feature already in scenarios where ABAP proxy is receiver.
    But is it also possible to use it at sender side?
    Kind regards
    Jochen

    Hi Volker,
    thanks for your help.
    You could also use ABAP proxy at sender side during integrated configuration.
    Prerequisite is to implement SAP note  1349125 and use following url for acessing the PI from SAP backends.
    http://<host>:<port>/XISOAPAdapter/MessageServlet?ximessage=true
    With this URL you could ABAP proxies in normal scenarios where integration server is involved as well as  in integrated configurations.
    Kind regards
    Jochen

  • Receive mail with PDF attachment into XI and send to ABAP proxy

    Hi,
    I have a scenario where I need to receive a mail into XI that has a PDF attachment. This attachment needs to be retained as ultimately I need to send the message into CRM via an ABAP proxy and read the attachment and load against a business partner.
    However, as I am only on SP13 I do not have the parameters such "Keep Attachments" available to use.
    So I have two questions:
    1. How do I receive the mail into XI with the PDF attachment ?
    2. How do I read the attachment in an ABAP proxy ?
    Any guidance in either question would be appreciated.
    Cheers
    Colin.

    hi,
    you say that there's no keep attachment
    indicator but does the XI store the attachment or not?
    maybe it stores all attachmens
    (I work with sp16 and I don't remember how it worked with sp13)
    but try maybe it accepts attachments by default
    then it would be quite easy
    if you use then use the attachement in abap proxy
    (like I said you won't have to use any java)
    Regards,
    michal
    <a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>

Maybe you are looking for

  • Draft Message multiple attachments not displayed or sending

    When creating a draft message with mutiple attachments, they are displayed in the preview window but opening the message only displays a single attachment. Sending the message will only send the single attachment. Closing the message window and previ

  • Regrading XML Publisher Report

    Hi, We have customized a report (XML Publisher) in which our template is in XSL format.When using this stylesheet (.XSL) to print out PO's, there are some problems with the page layout, more specifically regarding the page breaks: 1) Extra empty page

  • HP Laserjet Pro 200 M276nw printer is printing problem

    Hi all, I just purchased this new printer, set it up according to the installation instructions, all the pages are coming out with wide red splotches donw the center of every page. I've tried using the "Tools" menu to clean the printer heads and that

  • The file name of many songs are in my library but can't be heard or found, why?

    My itunes library has been off-line for a year or more and when i updated everything my song file names are there and some songs are audible but the majority of them are not and my computer says it can't find the song in my computer, what do i do?

  • Word Wrap in Smartforms

    hi all, how do you word wrap a field value in a cell of a table in smarforms? thanks, sid