cancel
Showing results for 
Search instead for 
Did you mean: 

Asynchronous SOAP adapter

Former Member
0 Kudos

Hi,

Please let me know under what circumstances would one want to use the SOAP Adapter with asyncrnous interfaces.

Edited by: Jyotika Manghani on Dec 28, 2007 8:48 AM

Accepted Solutions (1)

Accepted Solutions (1)

aashish_sinha
Active Contributor
0 Kudos

Hi,

You need to configure the SOAP adapter so that you can exchange SOAP messages between the Integration Engine and remote clients or servers of Web services.

The SOAP adapter provides a runtime environment that includes various SOAP components for the processing of SOAP messages. You can combine these SOAP components with separate components to meet your needs and requirements.

The SOAP adapter uses a helper class to instantiate and control SOAP components. If you want to use your own SOAP processing logic you must make your helper class known to the SOAP adapter.

To configure the SOAP adapter you must specify the following:

● The helper class that implements the following interface:

com.sap.aii.messaging.adapter.ModuleBubbleHelper

● The parameter values for the specified helper class

For example, you must specify the following parameters for the helper class ModuleBubbleHelperXMBWSImpl (instantiates a BubbleBag to integrate remote Web services with the Integration Engine):

○ Information about the Integration Engine destination (when the Integration Engine is acting as a service provider and therefore the SOAP adapter must be configured as a sender adapter).

○ Information about the Web service provider destination (when the Integration Engine is acting as a service client and therefore the SOAP adapter must be configured as a receiver adapter).

○ Various options for controlling the conversion of multi-part Integration Engine SOAP messages and Web service SOAP messages

The following arguments are mandatory:

&#9675; XI.QualityOfService=<QualityOfService>

Specifies how the Integration Engine should process a message. The following values are permitted:

&#9632; XI.QualityOfService=BE (Best Effort, means synchronous processing)

&#9632; XI.QualityOfService=EO (Exactly Once, means asynchronous processing)

&#9632; XI.QualityOfService=EOIO (Exactly Once in Order, means asynchronous processing using queues)

You must also define a queue name for EOIO:

Refer http://help.sap.com/saphelp_nw04/helpdata/en/bf/27fd3b651f6a1ce10000000a11402f/content.htm

http://help.sap.com/saphelp_nw04/helpdata/en/2f/41e641fb6e3f5de10000000a1550b0/content.htm

Hope this will help you in some extend.

Regards

Aashish Sinha

PS : reward points if helpful

Edited by: Aashish Sinha on Dec 28, 2007 9:01 AM

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi Jyothika,

In one of our projects we had to map a single file into multiple files and then map each of these files to idoc.

That is we had two mappings.First was 1:N and the second was 1:1.

In this case we used a receiver SOAP adapter in asynchronous mode to send out all the N files generated as a result of the first mapping to a web service.

The outbound interface of the second mapping was exposed as a web service and hence a sender SOAP adapter was used (again in asynchronous mode). The URL of this webservice was where the receiver SOAP adapter was sending the N files to.

So the scenario was file-> SOAP-> SOAP-> idoc.

So you can use a receiver SOAP adapter in asynchronous mode when you want the webservice you are consuming to only perform some action and are not expecting any reponse from it.

Similarly use sender SOAP adapter in asynchronous mode when the webservice is just performing some action and not returning any response.

Thanks and regards,

Shweta

P.S: Please reward points if useful

Former Member
0 Kudos

Hi Jyotika,

Reliable messaging is a key feature needed for asynchronous communication using web services. The concept of reliable messaging is the act of sending one or more messages from a sender to a receiver in a manner that guarantees a level of assurance that message(s) are delivered. Thereby the message delivery service has some quality, the so-called "Quality of Service" (QoS) that can be requested unilaterally by the sender by populating message elements designed for this purpose. To achieve this goal for the web services world, an interoperable reliable messaging specification is needed as a standard that is supported by all vendors.

SOAP adapter of SAP XI is used to achieve reliable messaging from any Server to SAP XI. The SOAP adapter of SAP XI is configured such that the messages are to be processed using the Quality of Service Exactly Once (asynchronous processing).

Therefore it is necessary that the Server sends a SAP XI compliant SOAP message to SAP XI. It needs appropriate values to achieve reliable messaging as parameters in a URL .

For reliable messaging :

1.One way is integration without a resend mechanism .

2.Also integration with a resend mechanism can be used.Based on the http response of the SAP SOAP adapter it would be possible to implement a resend mechanism . For this the send port property “Delivery Notification” has to be to ”Transmitted”.

3. The http response that contains the information whether the SOAP message was send successfully (http 200), whether the duplicate check has thrown a SOAP exception or any other error (for example http 400) can be obtained from the response of the SAP XI SOAP adapter.

4. SOAP port can be configured as a dynamic port which allows setting the URI of the consumed web service provided by SAP XI dynamically. The port is created based on existing port types that are provided as a Web Reference

For further information go through the pdf :

https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/7521a237-0701-0010-499b-b32...

*Pls: Reward points if helpful*

Regards,

Jyoti