How to call Pause

I'm attempting to call Pause on the entire ommConsumer as opposed to a single symbol. I've tried using the login handle as well as the omm connection hanle, but in both cases I get an Invalid Usage Exception with the following message:

OMMConsumer::reissueClient() has been called with a different domain type than that of the original request message.

I don't know how to interpret this message (what is a domain type and why would it be different from the original request message)

Below is my code. Any suggestions? Thanks.

 public void Pause()
{
ReqMsg reqMsg = new ReqMsg();
reqMsg.MsgModelType = RDM.MESSAGE_MODEL_TYPES.MMT_MARKET_PRICE;
reqMsg.InteractionType = ReqMsg.InteractionTypeFlag.Pausse;
OMMItemIntSpec ommItemIntSpec = new OMMItemIntSpec();
ommItemIntSpec.Msg = reqMsg;
try
{
ommConsumer.ReissueClient(ommConnIntSpecHandle, ommItemIntSpec);
log.Debug("Request to pause feed service sent");
}
catch(ThomsonReuters.RFA.Common.InvalidUsageException e)
{
log.Error(e.Message);
}
}
Tagged:

Best Answer

  • zoya faberov
    zoya faberov ✭✭✭✭✭
    Answer ✓

    Pause/Resume is the feature of Market Price domain only, so the exception refers to that.

    Pause is misspelled, but is probably not why you see it.

    To reissue on all items, please reissue on login stream. I.e.:

      /*
    * Reissue a login, for pause all/resume all.
    */
    public void reissueLogin(int indication)
    {
    OMMItemIntSpec spec = new OMMItemIntSpec();
    spec.setMsg(encodeLogin(CommandLine.variable("user"), RDMUser.NameType.USER_NAME,
    indication));
    _ommConsumer.reissueClient(_loginHandle, spec);
    }


Answers