Skip to Content

This blog outlines the situation where idoc acknowledgement status needs to be updated when the receiver is a webservice and is called using the SOAP adapter.

IDoc AAE communication channel was used on the sender


Asynchronous Scenario

In case if only system acknowledgement is required from an asynchronous scenario of posting to a webservice  then the following parameters need to be checked and updated :

1) Ensure that the persistence flag of the Java IDoc adapter is enabled in NWA.

2) The following parameter needs to be set in SOAP receiver communication channel.

  1. XMBWS.GenerateSysAck – true

Synchronous Scenario

In some cases we have a requirement of updating the

This scenario basically shows the usage of RequestResponseBean where the response can be used to trigger a separate scenario. This was to enable tracking of the application acknowledgement message returned from the web service from idoc status tracking in ECC.The application message returned from the receiver sent back the original idoc number which was used to create an ALEAUD idoc to post into ECC.

For this purpose two scenarios were created – Scenario 1 triggering Scenario 2.

Scenario 1 : IDoc to SOAP Webservice request call

Scenario 2 : SOAP Webservice response mapped to ALEAUD

Scenario 1:


1) Create the first scenario in the standard asynchronous way with mapping and ID objects.

2) The only difference would be the receiver communication channel with RequestResponseBean adapter module as shown in the screenshot below.

3) This configuration will post the response to the Scenario 2 . The scenario 2 should be configured as follows :

Sender Communication Component – Receiver Business System of Scenario 1

Sender Service and namespace– by default this would be receiver interface of Scenario 1.

This is over ridden here by the parameter replaceInterface in the receiver communication channel of  Scenario 1 as shown in the screenshot above to match the sender interface and namespace of Scenario 2.

Scenario 2:

  1. As mentioned above, the scenario 2 is configured using the same sender interface name and namespace as in receiver communication channel of  Scenario 1.
  2. The important part is that the scenario should have the receiver system as virtual receiver as well – refer to the screenshot below (Thanks to the SAP consultant for showing us the way – without this guidance it would have been tough to get the resolution!).
  3. This scenario has the receiver channel configured as IDoc Receiver for posting the ALEAUD idoc with the necessary mapping to map to the relevant idoc status.
  4. Note that the sender communication channel can be dummy (so for example a dummy file channel can be used as well)  for this scenario as the response is placed in the pipeline directly by the Request Response Bean in the first scenario.

In case if the webservice returns standard fault messages and the requirement is to capture the same approach can be applied

using the following parameters in receiver communication channel of Scenario 1.

  • interfaceOnFault – interface name for forwarding an application error message.
  • interfaceNamespaceOnFault – interface namespace of the interface above.

Handling of a similar scenario in a different approach was  found in the link below – adding here for reference

http://scn.sap.com/community/pi-and-soa-middleware/blog/2013/03/25/requestresponse-bean-for-idocaae-adapter

To report this post you need to login first.

3 Comments

You must be Logged on to comment or reply to a post.

  1. Amol Bharti

    Thanks Subhro for this descriptive article. Out of curiosity, I tried this in PI 7.11 and did exactly the same configuration, But I am getting an error in SOAP receiver channel –

    MP: exception caught with cause com.sap.engine.interfaces.messaging.api.exception.MessagingException: SOAP: response message contains an error XIAdapter/HTTP/ADAPTER.HTTP_EXCEPTION – HTTP 500 Internal Server Error

    Do you know what could be the reason here.

    -Amol

    (0) 
  2. rishabh sharma

    Hi Subhro,

    Please advice me and correct me.

    Scenario: Idoc to Soap Synchronous.

    Idoc will be same for sending and receiving data

    Idoc is extended.

    ESR Part.

    1. Idoc is imported from ECC.

    2. External Definitions are developed from the WSDL definition of third party.

    3. Service Interface: Asynchronous service interface of WSDL definition as a target structure.

    4. Message Mappings: Idoc fields are mapped with ED fields for Request message and similarly for Response process , the response fields of same WSDL definition are mapped with Idoc fields.

    5. Operation Mappings: 1 OM with Idoc in source structure and Asynchronous SI in Target structure.

    ID part

    1 Communication Channel ; 1 Receiver communication channel with SOAP receiver.

    2.Receiver determination :

    3:Interface Determination :

    4: Receiver agreement ;

    Please advice further how to use request response bean to  make this scenario synchronous.

    I want that Idoc should trigger with input of Soap Response and post the information in SAP.

    Thanks,

    Rishabh

    (0) 

Leave a Reply