When I use RVCM transport with Invoke task, how come I do NOT see any Operations?

When I use RVCM transport with Invoke task, how come I do NOT see any Operations?

book

Article ID: KB0092190

calendar_today

Updated On:

Products Versions
TIBCO IntegrationManager -
Not Applicable -

Description

Resolution:
Invoke task supports only One-way operations with RVCM.

So if you do NOT have any One-Way operations in your class you will NOT see any Operations in the "Operations" field of Invoke task.
If you use RV transport, instead of RVCM for your Invoke task, you will see all the Operations in the "Operations" field.


Here is an example to illustrate why  you should not use RVCM transport for Request-Reply, Invoke(Client-Server) tasks.

The client app has a req-rep task with a timeout of 30 seconds. Whenever a request is sent out, a listener object is created on the client side for the reply message.
The client now sends out a RVCM request message to the server. But currently the server is down. The request message is stored in the ledger so that it can be consumed by the server at a later time.

30 seconds pass by. The req-rep task times out. At this point the listener object created on the client side is also terminated. The error transition is taken and eventually the job ends.

The server comes up a minute later. The request is received and processed and the reply is sent back to the client. But there is no listener for this reply message.

As can be seen the whole purpose of using RVCM is pointless. It is an overhead. The only exception, where you can use RVCM is for one way requests.

Req-Rep, Invoke are strictly synchronous models. RVCM makes sense only for asynchronous operations.

Issue/Introduction

When I use RVCM transport with Invoke task, how come I do NOT see any Operations?

Environment

Product: TIBCO IntegrationManager Version: 4.5.0 OS: All --------------------