Proxy to JMS scenario, auto-acknowledge
we have the following PI scenario:
|--> (jms) --> SAP PI JMS Queue SAP R/3 --> (proxy) --> SAP PI | |--> (soap) --> 3rd Party
The interface is routed depending on the content of the message. All the Service Interface have been defined synchronous because the jms and the soap part use the same SI. The part proxy-soap works fine and the caller program receives the response of the webservice consumption. However, even though the message is placed in the queue properly, the proxy-jms comunication fails with a "MESSAGE.GENERAL - Exception of class CX_AI_SYSTEM_FAULT", because the JMS queue is not sending back the acknowladge that the message has been delivered. I guess this is due to we are using a synchronous SI. If i check the adapter log i can see the following error:
Information JMS Message was forwarded to the JMS provider succesfully."
Error Acknowledgement handling failed for type AckNotSupported. Reason: java.lang.Exception: Acknowledgement not possible for synchronous message.
Error Acknowledgement handling failed for type SystemAck. Reason: java.lang.Exception: Acknowledgement not possible for synchronous message.
What we want is PI to place the message in the queue without waiting for any response. Is there any way to achive this without changing the type of the service interface to asynchronous? I have read the blogs
but they are not useful for us because we don't want the jms consumer to send the acknowledge that the message has been processed. I have also tried to configure the JMS Receiver adapter with the flag "Return XI Delivery Acknowledgment (Adapter Is Endpoint)", but it didn't work.
Does anybody can help me?
Thank you in advance,
Roger Allué i Vall