Call transaction in abap server proxy

Hallo
We have a problem with one of our server proxys.
Scenario: SAP - backend system
The functionality implemented is the creation of a service notification
(IW51). The creation is made using batch input/call transaction and is
capsuled in an function module. In case of error by creation, the
message table will be read and a application error will be raise.
In the implementation of the proxy class the function module will be called
and the exceptions will be read and put in the response.
In case of success by the creation of the notification, everything is working ok.
In case of error in the call transaction, we will receive a "server
error" in XI, even if the error is catched and treated. In the trace we can see the error message from the call transaction, even if we do not send these messages in our response anymore.
<?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="1">
  <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> Counter reading smaller than in previous document 10000009340 ( <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 XML element Envelope missing in SOAP message header (SAP XI Extension)</SAP:Stack>
  <SAP:Retry>N</SAP:Retry>
  </SAP:Error>
Ex: if by call transaction we have at the end 2 messages ( first W and second E) , we will see in the tracing in XI the second message ( so the error one ).
In the backend system (SAP), under sxmb_moni the message in question has the status : "green flag".
We used the same way of implemenation for all our interfaces. The only difference is that we are now using a batch and not a bapi or SAP function module for objects creation.
Has someone any idea? . Any suggestion will be really helpful.
Thanks.
Anca

Hi Udo
My response has the following structure:
notification nr
+ 3 fields: message type (E,W,I,S,A)
            message nr
            message text
In case of error I should receive this filled structure and not a internal service error.
When I am testing the class in SAP is working very good.
Proxy Class implementation:
CALL FUNCTION 'Z_B2_CREATENOTIFICATION1'
  EXPORTING
    P_SERNR              = i_sernr
    P_MATNR              = i_matnr
    P_CDGRP              = i_cdgrp
    P_CODE               = i_code
    P_KUNAG              = i_kunag
    P_DATE               = i_data
    P_COUNT              = i_counter
  P_NTYPE              = 'Z7'
  P_VKORG              = '2730'
  P_VTWEG              = '20'
  P_SPART              = '10'
  P_PARVW              = 'AG'
  P_NAME               =
    P_EMAIL              = i_email
IMPORTING
   E_QMNUM              = e_qmnum
   e_return             = e_error
  TABLES
    T_SPARES             = t_spares
EXCEPTIONS
   EQUI_NOT_FOUND       = 1
   ERROR_EMAIL          = 2
   MEAS_POINT           = 3
   ERROR_NOTIF          = 4
   OTHERS               = 5
output-MT_CREATE_NOTIFICATION1RESPON-returncode = sy-subrc.
case SY-SUBRC.
when 1.
output-MT_CREATE_NOTIFICATION1RESPON-rctxt = 'equi'.
when 2.
output-MT_CREATE_NOTIFICATION1RESPON-rctxt = 'error email'.
when 3.
output-MT_CREATE_NOTIFICATION1RESPON-rctxt = 'meas point'.
when 4.
output-MT_CREATE_NOTIFICATION1RESPON-rctxt = 'notification'.
when 5.
data mess type ZB2_EXCHANGE_FAULT_DATA22.
      mess-fault_text = 'others'.
      raise exception type ZB2_CX_FM_CREATE_NOTIFICATION1
             exporting standard = mess.
endcase.
output-MT_CREATE_NOTIFICATION1RESPON-qmnum = e_qmnum.
data out_return type ZB2_DT_RETURN2.
IF e_error-type is not initial.
out_return-type = e_error-type.
out_return-number = e_error-number.
out_return-message = e_error-message.
append out_return to output-MT_CREATE_NOTIFICATION1RESPON-DT_RETURNS.
endif.
Regards,
Anca

Similar Messages

  • Call transaction in ABAP Inbound proxy

    Hi All,
    I am processing transaction KKPAN in inbound proxy. As per my knowledge, there is no BAPI or other way of processing this transaction. I have recorded a BDC, and I am calling this BDC using Call Transaction in my Inbound proxy.
    The problem is, control never returns back to the proxy after I call this BDC using Call Transaction.  However, interestingly, If there is an error in BDC, the control comes back to the proxy. Any ideas, why it does not successfully update data using BDC in inbound proxy?
    Your inputs are appreciated.
    Thanks,
    Navdeep

    Thanks for you response Akshay !
    However, It didn't solve my problem. In my case, the inbound proxy class is being called successfully. The problem comes, when I use Call Transaction in the class. The call transaction works and returns error message, if there is some error in the processing; however, for when there is no error in the BDC data, the control never comes back after call transaction.
    However, if I use SPROXY to test this interface, by copying the payload of the message and using the same user (As in Comm Channel), I am able to call Call Transaction without any problem. The data gets created successfully.
    Now this is getting really tricky.
    Still looking for ideas
    Regards,
    Navdeep
    Message was edited by:
            Navdeep Singla

  • Error when Calling Transaction in ABAP Proxy

    Hi All,
    I'm trying to call a transaction in synchronous ABAP Proxy, but there's a CNTL_ERROR in the details of SXMB_MONI.
    I've checked some threads related to this problem, but they're not solved yet.
    Please advise, can I use "call transaction" in synchronous ABAP Proxy ? Is there any additional setting / code to prevent the error ?
    Thanks in advance,
    Andy S

    Hi Stefan,
    I'm trying to assign marketing attributes in our CRM Business Partner Transaction, which is triggered by messages sent from some 3rd party application.
    Recently, I find out that this transaction (TCode BP) raise the same error (CNTL_ERROR) if run background from SM35. So the problem is not about calling transaction in ABAP Proxy, but due to the TCode BP itself.......
    My ABAPER friend is trying to find the BAPI to replace this call transaction .........
    Thanks a lot for your response........
    Regards,
    Andy S

  • Create a abap server proxy and consume the service with the pi WS Navigator

    hi all:
    i create a abap server proxy ,i use the t_code "sproxy"  to generate the proxy, and then write the abap code to implemente the method;    then i use the T-code (soamanager)  to define the  endpoint,  but when i click the " Open WSDL document for selected binding" to get the WSDL  file ; some error occur,the error is follow:
    ==========================================================================
    Service cannot be reached
    What has happened?
    URL http://foxxi:50000/sap/bc/srt/wsdl/bndg_000C2938EF591DEE8A9A8D3DD5CCB6AD/wsdl11/allinone/ws_policy/document call was terminated because the corresponding service is not available.
    Note
    The termination occurred in system XIF with error code 403 and for the reason Forbidden.
    The selected virtual host was 0 .
    What can I do?
    Please select a valid URL.
    If it is a valid URL, check whether service /sap/bc/srt/wsdl/bndg_000C2938EF591DEE8A9A8D3DD5CCB6AD/wsdl11/allinone/ws_policy/document is active in transaction SICF.
    If you do not yet have a user ID, contact your system administrator.
    ErrorCode:ICF-NF-http-c:000-u:SAPSYS-l:E-i:FOXXI_XIF_00-v:0-s:403-r:Forbidden
    HTTP 403 - Forbidden
    Your SAP Internet Communication Framework Team
    ==========================================================================
    when i go to the ws navigator to consume the service  i can not find the service which i define, but some system content display ,  what's the problem

    had a chance to look at this?
    /people/jitender.chauhan/blog/2009/04/20/service-enabling-in-abap

  • ABAP server proxy as web service provider ??

    Hi friends,
    I am wondering that if is possible to expose an ABAP server proxy as a web service on NetWeaver ABAP. I tried that, but failed to call it.
    I generated a ABAP server proxy by using the PI inbound interface. I can call the ABAP server proxy by PI. From SOAMANAGER of the beckend system, i saw that this just generated ABAP server proxy is a service. Then i curious if this generated ABAP server proxy can be exposed as the web service like other RFC function modules on the same beckend system. So i generated a ABAP client proxy by using the binding WSDL of the ABAP server proxy. But the testing of the generated ABAP client proxy failed.
    So my question is if it is possible  to expose an ABAP server proxy as a web service on NetWeaver ABAP?
    The beckend system is SAP ERP 6.0 EHP4. The PI is 7.11.
    Thanks!

    In other words, is it possible to consume a server proxy by client proxy? If yes, how to consume it?
    Edited by: Chris Xu on Jan 16, 2011 8:59 PM

  • Abap Server Proxy acknowledgment

    Hi All,
    Typicall scenerio FILE->PI->ERP(abap server proxy).
    is there any possibility(excluding BPM) to request acknowledgment from erp to be sent to pi and fill second column in sxi_monitor. similar situation to aleaud in idoc processing..
    BR
    Maciej

    is possible
    take a loko to this.
    http://help.sap.com/saphelp_nw04/helpdata/en/f4/8620c6b58c422c960c53f3ed71b432/frameset.htm
    Acknowledgment Types
    SYSTEM_OK
    Positive system acknowledgment.
    The receiver was reached successfully. For server proxies, this means that the implementing class for the server proxy was found and that the method for inbound processing could be called.

  • ABAP server proxy- parser-item missing error

    Dear all,
    I am working on File to proxy scenario (ABAP server proxy).
    When I executing my scenario, I am getting following error at call adapter pipline step .
       < SAP:Category>XIProtocol</SAP:Category>
      <SAP:Code area="PARSER">ITEM_MISSING</SAP:Code>
      <SAP:P1>Envelope</SAP:P1>
      <SAP:Stack>XML element Envelope missing in SOAP message header (SAP XI Extension)</SAP:Stack>
    I checked my message payload after message mapping it containing the perfect SOAP Envelop.
    What may be the reason for the error?
    Regards,
    navneet.

    navneet
    is your path determined ok.
    /sap/xi/engine?type=entry
          for SAP systems based on SAP BASIS 6.40 (XI 3.0 message protocol).
    /sap/xi/engine?type=receiver
          for SAP systems based on SAP BASIS 6.20 (XI 2.0 message protocol).
    http://help.sap.com/saphelp_nw04/helpdata/EN/85/78af1bf407434796aaf8dbd6d4e7b7/frameset.htm
    Sorry forget my message, this is not applicable for you
    Greets
    Edited by: Patrick Pot on Feb 25, 2009 10:42 AM

  • File to ABAP Server Proxy Scenario

    Hi 2 all,
    I am running File to Server(ABAP) Proxy scenario...
    I have checked the ABAP Server Proxy at application server only and it is working fine....But when i am running the whole scenario my server proxy is not getting executed..( i.e my file is being picked up but proxy is not getting called ..:(( )
    Can i expect some valuable inputs regarding this issue..?
    Regards,

    to debug the problem....
    first check SXMB_MONI of R3 system... where proxy has been created.
    1 .check whether your proxy has been called ... it will be evident you get any message in moni for you interface or namespace..
    2. check you proxy message has not got stucked in queue... sometimes message get stucked in queue and hence proxy are not called.. release the messaeg using smq2.
    ELSE
    1 .go to SXMB_MONI...of XI..
    2. select 'Call Adapter'  in right hand of monitor.
    3. check the 'trace' under Call Adapter.
    4. if you go at end of trace or somewhat near to end.. there should trace like...this ...
    Trace level="1" type="T">Receiver party normalized =</Trace>
      <Trace level="1" type="T">Receiver party external =</Trace>
    - <Trace level="1" type="B" name="CL_XMS_PLSRV_CALL_XMB-CALL_XMS_HTTP">
      <Trace level="2" type="T">Addressing mode: destination</Trace>
      <Trace level="3" type="T">Destination = D67CLNT103_HTTP</Trace>
      <Trace level="3" type="T">Attributes of destination: D67CLNT103_HTTP</Trace>
      <Trace level="3" type="T">Type = H</Trace>
      <Trace level="3" type="T">Pipeline = ENTRY</Trace>
      <Trace level="3" type="T">Action = EXECUTE</Trace>
      <Trace level="3" type="T">Host = XXXXXXX</Trace>
      <Trace level="3" type="T">Port = XXXX7</Trace>
      <Trace level="3" type="T">Client = 103</Trace>
      <Trace level="3" type="T">User = XIAPPLUSER</Trace>
      <Trace level="3" type="T">Language = E</Trace>
      <Trace level="1" type="T">----
    </Trace>
      <Trace level="1" type="T">SSL not active</Trace>
      <Trace level="1" type="T">----
    </Trace>
      <Trace level="3" type="T">Creating HTTP-client</Trace>
      <Trace level="3" type="T">HTTP-client: creation finished</Trace>
      <Trace level="3" type="T">Serializing message object...</Trace>
      <Trace level="3" type="T">HTTP-client: sending http-request...</Trace>
      <Trace level="3" type="T">HTTP-client: request sent</Trace>
      <Trace level="3" type="T">HTTP-client: Receiving http-response...</Trace>
      <Trace level="3" type="T">HTTP-client: response received</Trace>
      <Trace level="3" type="T">HTTP-client: checking status code...</Trace>
      <Trace level="3" type="T">HTTP-client: status code = 200</Trace>
      <Trace level="3" type="T">Deserializing message object...</Trace>
      <Trace level="3" type="T">HTTP-client: closing...</Trace>
      </Trace>
    check whether connection establishment between XI and R3 is successful or not...
    if you are getting same message as above ,,that means ur RFC is working fine...
    problem is on r3 side.. for this go to r3 and check moni...

  • Superclass for ABAP server proxy?

    Hi Experts,
    I generated an ABAP server proxy by using a synchronous inbound interface of XI.
    Can someone tell me which superclass does the server proxy use? I am trying to send an attachment back to XI in the proxy response but am not able to write the code of it.
    Please help.
    Thanks,
    Shobhit

    Hi Prateek,
    This blog is for sending attachment in client proxy. (Sending data from ECC to XI using a trigger in ECC)
    But my requirement is to send the attachment in server proxy (XI calling the ECC proxy program which returns the attachment back to XI synchronously)
    For this purpose Im not able to use the code in https://weblogs.sdn.sap.com/pub/wlg/3509. [original link is broken] [original link is broken] [original link is broken]
    The server prxoy does not recognize the statement
    attachment_protocol ?= prxy->get_protocol(
    if_wsprotocol=>attachments ).
    as the superclass of this method is not accessable by this proxy interface.
    HELP!!
    Regards,
    Shobhit

  • HOW TO RUN ABAP SERVER PROXY IN BACKGROUND?

    Hi All,
    I have a ABAP Server Proxy running in WAS 6.20. This Server Proxy runs as a foreground Process when the scenario is executed. if we run a scenario with huge load or run scenarios with continuous load, due to the fact that the server proxy runs as a foreground process, the system slows down and has some performance issues. How to handle this issue.Is there a way to run the Server Proxy as a background Job. Please do help me out.
    Regards,
    Sundararamaprasad.

    hi,
    here's an idea: encapsulate your proxy call inside an object which can be ran in background.... like an IDoc !
    Steps:
    create a zidoc in ECC and use it from PI to ECC to send data (instead of your direct abap proxy call).
    Afer that, in z_function_module which is used to intregate your zidoc, call your abap proxy.
    in WE20 (partner profile), the process mode of your idoc should be of course "Triggered by background program", and then use a job on program RBDAPP01 (with a variant limited to your zidoc) to process your idocs.
    Note:
    1. the only interest to do that compare to create a real IDoc interface is just (in my mind) to call a common proxy or to want to reuse an existing proxy without too more effort.
    2. of course your current proxy call should be asynchronous.
    I never tested it, so it's without warranty !
    Regards.
    Mickael

  • HOW TO EXECUTE ABAP SERVER PROXY?

    Hi,
    I am working on a scenario in which message is passed from Integration Server to ABAP server proxy.
    In case of client proxy we execute EXECUTE_SYNCHRONOUS methjod of proxy,but I am bit confused in case of server proxies.
    How do we execute server proxy method?

    Hi Similar to Client proxy, you will have the method EXECUTE_SYNCHRONOUS or EXECUTE_ASYNCHRONOUS for your server proxy. If your WebAS is based on 6.4 or above you can test the server proxy with a sample pay load very easily. In T-code sproxy, you will see a menu called proxy, Click on that and click test proxy, check the XML payload and you can enter the payload in the next screen and check your proxy..
    Regards,
    Jai Shankar.

  • Internal table in ABAP Server Proxy

    Hi Experts,
        I have developed a JDBC to ABAP Proxy scenario.
    I have a problem. In my ABAP server proxy I have to import the values into an internal table and pass them to a BAPI for GR creation.
    I get an error like. OCCURS 0 is not allowed in OO concept.
    Can anyone give me examples on declaring internal table in an ABAP Proxy(OO Concept).
    Thanks
    AK

    Hi
    Check this out.
    http://help.sap.com/saphelp_nw70/helpdata/EN/fc/eb3660358411d1829f0000e829fbfe/frameset.htm
    Cheers

  • ABAP Server Proxy OR RFC - for attaching a file

    Hello ABAP gurus,
    Just to give a brief background, systems involved are ERP and PI
    Certain Files (3 files to be exact) are generated in the ERP directory/file system
    I need to transfer these files to PI "without" using the readily available FTP/NFS adapters (this is a limitation - no use of direct FTP is allowed)
    Making the directory as a "shared" directory between ERP and PI is also not an option.
    With the scenario above, I though of using an RFC or an ABAP Server Proxy to attach the said files to send them to PI
    Which is the better way to do it?
    I've seen a documentation for the ABAP Server Proxy that makes it possible to attach files to the proxy message, but for RFC I don't know if this is possible?
    Your expert advise is highly appreciated

    hI,
    Use class CL_PROXY_CLIENT in the program and method IF_PROXY_CLIENT~EXECUTE.
    You can refer documentation of this class as well as if you will search on any search portal using name of this class, you will get the briefe idea with the refernce procedure too.
    Unfortunately I am unable to post you few links but try search on it, hopefully you will get it.
    try below link.
    <link to blocked site removed by moderator>
    Edited by: Thomas Zloch on Oct 7, 2011 10:37 AM

  • ABAP Server Proxy development for creation of IDOC

    Hi all,
    I am working on JDBC to ABAP Server Proxy where i need to populate fields and then i need to mapp to the standard IDOC ie, SHIPMENT_CREATEFROMDATA01 which will create shipment idoc this is my requirement.Can anyone provide me the proxy development part  for creation of IDOC.
    Regards,
    Bhoj

    Hi,
    Create server proxy at the receiver end and deploy it using the following links:
    ABAP Server proxies
    /people/siva.maranani/blog/2005/04/03/abap-server-proxies
    Debugging of Inbound ABAP proxies
    /people/stefan.grube/blog/2006/07/28/xi-debug-your-inbound-abap-proxy-implementation
    File to R/3 via ABAP Proxy
    /people/prateek.shah/blog/2005/06/14/file-to-r3-via-abap-proxy
    How to push data from BI to XI using proxy
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/e698aa90-0201-0010-7982-b498e02af76b
    How to push data into BW from XI using proxy
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/18dfe590-0201-0010-6b8b-d21dfa9929c9
    http://help.sap.com/saphelp_nw04s/helpdata/en/2d/b9766df88f4a24967dae38cb672fe1/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/11/e2bc3d9ecc6b3be10000000a114084/frameset.htm
    Server proxy part1 and part2:
    /people/sap.user72/blog/2005/12/08/integration-builders-through-proxy-server-part--1
    /people/sap.user72/blog/2005/12/13/integration-builders-through-proxy-server-part--2
    Regards,
    Vinod.

  • ABAP server proxy help required

    Hello,
    I want to make two simple ABAP server proxy scenarios
    1. File to ABAP server proxy (async scenario)
    2. File to ABAP server proxy (sync scenario)
    Pls send me the blogs/docs for the above scenarios.
    Regards

    Henry,
    Please go through the below links.
    <b>File to R/3 via ABAP Proxy with good example</b>
    /people/prateek.shah/blog/2005/06/14/file-to-r3-via-abap-proxy
    /people/siva.maranani/blog/2005/04/03/abap-server-proxies
    <b>Synchronous Proxies:</b>
    <b>Outbound Synchronous Proxy</b>
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/profile/abap%2bproxy%2boutbound%2bprogram%2b-%2bpurchase%2border%2bsend
    <b>Inbound Synchronous Proxy</b>
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/profile/abap%2bproxy%2binbound%2bprogram%2b-%2bsales%2border%2bcreation
    Also go through this, if you have problems in your proxy connection.
    <b>How to Activate Proxy.</b>
    /people/vijaya.kumari2/blog/2006/01/26/how-do-you-activate-abap-proxies
    Regards,
    Sarvesh

Maybe you are looking for