cancel
Showing results for 
Search instead for 
Did you mean: 

Quality of Service

Former Member
0 Kudos

Folks,

How is QoS enforced on SOAP Adapter ? By just selecting QoS in Processing Parameters just doesn't work. What are the other settings done at J2EE level ?

Thanks,

Manish Kosarkar

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

HI,

As explained above only we can handle in sender side of SOAP.

This is from SOAP..

Under Quality of Service, specify how the message is to be processed by the Integration Engine/PCK.

· Best Effort (synchronous processing)

· Exactly Once (asynchronous processing)

If the client sends a GUID, execution is guaranteed exactly once. See also: Ensuring Exactly Once Processing

· Exactly Once In Order (asynchronous processing using queues)

If the client sends a GUID, execution is guaranteed exactly once maintaining the sequence of successive messages.

Specify the Queue Name

You can ensure exactly-once end-to-end processing in the following ways:

· The SOAP message provided by the SOAP client must contain a unique GUID. This can be provided in a valid XI message header in the SOAP message header or specified in a corresponding query string in the URL.

If the SOAP client then receives an empty SOAP message in HTTP 200 as a response, this means that the message has been successfully persisted and will be processed exactly once.

If the SOAP client receives a SOAP fault or any response not in HTTP 200, it must resend the message until it receives an empty SOAP message in HTTP 200.

If the GUID is set by the SOAP client, you must set the Use Encoded Headers and Use Query String indicators.

· The SOAP adapter generates a GUID. This becomes relevant if the SOAP client does not provide the GUID. In this case, you must set the Quality of Service in the sender SOAP adapter to Exactly Once. The GUID is generated and the adapter calls the XI service exactly once.

If the XI message is successfully persisted, the adapter sends an empty SOAP message (HTTP 200) to the SOAP client as a response. The SOAP client now knows that the message has been sent successfully.

If the SOAP client receives a SOAP fault, it must resend the message until it receives an empty SOAP message (HTTP 200).

If the SOAP client receives an incomplete HTTP 200, the client can assume that the message has been processed successfully.

If the SOAP client receives an incomplete HTTP 4xx or 5xx, the client can assume that the message has not been processed.

If the SOAP client does not receive a response, the situation is uncertain. In this case, it should send the message again. However, this can mean that the message is executed more than once.

J2EE settings-- . see below threads.. may be usefull.

Regards

Chilla..

Former Member
0 Kudos

SAP XI term Quality of service describing how the transmission and process-ing of messages is to be handled. Possible values are:

BE = BestEffort (synchronous call, no transactional guarantees for transmission and processing)

EO = ExactlyOnce (asynchronous call, guarantee for local transactional handling, exactly-once transmission and exactly-once processing)

EOIO = ExactlyOnceInOrder (as for EO but with serialization guarantee on a given queue name).

The other parameters are described below.

After activating the SOAP adapter channel, you can send SOAP messages to the

following address:

http://<host>:<j2ee-port>/XISOAPAdapter/MessageServlet?

channel=<party>:<service>:<channel>

If the SOAP adapter channel belongs to a service without party, the address is as

follows:

- 12 -

http://<host>:<j2ee-port>/XISOAPAdapter/MessageServlet?

channel=:<service>:<channel>

bhavesh_kantilal
Active Contributor
0 Kudos

In the receiver SOAP adapter there is no option to seletc the QOS. The QOS is then taken from the SOAP header of your message , ie. from the Inbound Message Interface.

if it is Synch --> QOS --> BE

If it is Asynch --> QOS --> EO

if the SOAP header already has the QOS as EOIO then it is maintained as EOIO.

Regards

Bhavesh

bhavesh_kantilal
Active Contributor
0 Kudos

Hi,

For the sender of the receiver.?

For the sender SOAP adapter you need to make the QOS setting in the both the WSDL and also in the Sender Adapter.

Regards

Bhavesh