Skip to Content
avatar image
Former Member

IDOC to SOAP

Hi. Dear Experts.

I have many scenarios IDOC-to- SOAP.

We send information from SAP to another system , and WebService return
a fault excepcion when the information is not correct , when this happens


I need to send an email.

I know IDOC doesn't support syncronous.
How can I handle this without BPM?

I just check this option , but I not sure.

http://scn.sap.com/community/pi-and-soa-middleware/blog/2006/11/20/webservice-calls-from-a-user-defined-function

Regards

Fabrizio

Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

6 Answers

  • Best Answer
    Jul 07, 2013 at 01:03 PM

    Hi

    Develop as a standard sync interface and implement alert mechanism, you can suppress/Ignore SOap response at mapping level.if PI not received valid response then ALERTs generates an email.

    Thank you,

    Raj

    Add comment
    10|10000 characters needed characters exceeded

  • Jul 07, 2013 at 02:00 PM

    Basically this what you need to do to avoid ccbpm. Create inbound and outbound service interfaces as sync mode in ESR. You will do request mapping as usual. But you need to create some dummy mapping in idoc side to map the response of soap to idoc. configure soap adapter and idoc adapter as usual. since idoc is async based, it won't pull message from soap to idoc but you see log trace of response message in moni. if this message has error, due to alert config you will get mail.

    Note: There is a blog about unleash sync scenario in scn. please search for it.

    Add comment
    10|10000 characters needed characters exceeded

  • Jul 07, 2013 at 04:44 PM

    Hi Fabrizio,

    Please try the following:

    • Set up multi-mapping for the response scenario.
    • One target message would be a dummy message type with just one field. In case of success response, map it to this structure. Set up a dummy file receiver for this scenario and do an NFS and dump the file on the application server in append mode. If the frequency of Interface is high, create files.

    Ignore this file.To add value, Put the unique identifier received from SOAP response message into the only field existing in this file.

    • Second target message would be a mail package API. In case of error(fault exception), set up the mail scenario and map it to the mail receiver.
    • You will need 2 receivers (one dummy and one mail) for the above.

    This way you should be able to achieve the requirement.

    Hope it works!

    Ambrish

    NB: I remember that fault messages are not available in ccBPM.

    Also, you won't be able to set up your sender (IDoc message interface) as synchronous.

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Jul 08, 2013 at 05:55 AM

    Thanks for your inputs.

    I have a question, if I choose the synchronous for response.

    If posible to get some values from the request , because the WebServices send back a fault structure with a text like "KeyCode is incorrect ".

    and when the data is correct send back another structure . "Record Saved succesfully"

    I want to get the IDOc number and another values in case whe web service send back a fault structure.

    Regards

    Fabrizio

    Add comment
    10|10000 characters needed characters exceeded

    • Hi Fabrozio,

      You can send this IDoc to multiple web services. the system will treat each as independent of each other.

      You can check with these new WS providers as to whether they will send a response or not and if yes, you can design the interfaces accordingly.

      Hope it is clear.

      Ambrish

  • Jul 08, 2013 at 08:16 PM

    Without ccbpm you cannot handle multiple receivers sync response.

    @Fabrizio - You are correct.

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Nov 19, 2014 at 05:52 PM

    Experts, let´s see if you could help me.

    We´ve got interfaces using Proxy and Idoc.

    Proxy - PI - Soap

    Idoc - PI - Soap

    On ECC side there will be a customized monitor which will show the interfaces status. It was required because client wants their users to handle the monitor.

    We´ve been asked to inform all status. Here´s the problem/ challenge:

    Interfaces are asynchronous but they want this monitor to inform system ack if message could not be delivered for any reasons, let´s say 3rd party system is down. We know since Soap uses HTTP, an HTTP code will be returned(4*,5*). Is there a way to get those codes and send them to ECC so it could update interfaces status on monitor z?

    Thanks in advanced.

    Add comment
    10|10000 characters needed characters exceeded