subscribeCall.setNoDataIntervalSeconds(10);
subscribeCall.setSessionInfo(TestConstants.publishMsgWithDelayCmd);
subscribeCall.setMask(TestConstants.mask);
subscribeCall.setRequestBody("100003|1");
TestCallback cbk = new TestCallback(true);
subscribeCall.invoke(cbk, 2000);
SCMPMessage reply = cbk.getMessageSync(2000);
TestUtil.checkReply(reply);
String sessionId = reply.getSessionId();
Thread.sleep(55000);
// receive publication - get message
SCMPReceivePublicationCall receivePublicationCall = new SCMPReceivePublicationCall(this.requester,
TestConstants.pubServerName1, sessionId);
cbk = new TestCallback();
receivePublicationCall.invoke(cbk, 20000);
reply = cbk.getMessageSync(20000);
TestUtil.checkReply(reply);
Assert.assertFalse(reply.getHeaderFlag(SCMPHeaderAttributeKey.NO_DATA));
Thread.sleep(55000);
cbk = new TestCallback();
receivePublicationCall.invoke(cbk, 20000);
reply = cbk.getMessageSync(20000);
TestUtil.checkReply(reply);
Assert.assertFalse(reply.getHeaderFlag(SCMPHeaderAttributeKey.NO_DATA));
Thread.sleep(55000);
cbk = new TestCallback();
receivePublicationCall.invoke(cbk, 20000);
reply = cbk.getMessageSync(20000);
TestUtil.checkReply(reply);
Assert.assertFalse(reply.getHeaderFlag(SCMPHeaderAttributeKey.NO_DATA));
Thread.sleep(55000);
SCMPClnUnsubscribeCall unSubscribeCall = new SCMPClnUnsubscribeCall(this.requester, TestConstants.pubServerName1, sessionId);
cbk = new TestCallback();
unSubscribeCall.invoke(cbk, 3000);
reply = cbk.getMessageSync(3000);
TestUtil.checkReply(reply);
}