cancel
Showing results for 
Search instead for 
Did you mean: 

IDOC to SOAP

Former Member
0 Kudos

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-defi...

Regards

Fabrizio

Accepted Solutions (1)

Accepted Solutions (1)

rajasekhar_reddy14
Active Contributor
0 Kudos

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

Answers (5)

Answers (5)

Former Member
0 Kudos

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.

baskar_gopalakrishnan2
Active Contributor
0 Kudos

Without ccbpm you cannot handle multiple receivers sync response.

@Fabrizio - You are correct.

Former Member
0 Kudos

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

ambrish_mishra
Active Contributor
0 Kudos

Hi Fabrizio,

For this, you need to populate the IDoc number in one of the request structure fields and work with the Web service provider to send that field back with response.

Hope it helps!

Ambrish

Former Member
0 Kudos

Hi.

Thanks for your input.

Now the client wants to send the information to another two systems
I know this is no posible in synchronous scenario.

Regards

Fabrizio.

ambrish_mishra
Active Contributor
0 Kudos

Hi Fabrizio,

Do you mean client wants to send IDoc information to 2 other systems or the SOAP response. This is indeed possible. You can set up multiple receivers for the scenario.

Ambrish

Former Member
0 Kudos

Hi. Ambrish.

The IDOC will be send to another 2 systems(Web Services). For sync it will not posible , only I will get only one response.

Regards.

Fabrizio.

ambrish_mishra
Active Contributor
0 Kudos

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

ambrish_mishra
Active Contributor
0 Kudos

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.

baskar_gopalakrishnan2
Active Contributor
0 Kudos

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.