Examples of SCMPMessageFault


Examples of org.serviceconnector.scmp.SCMPMessageFault

      LOGGER.trace("timeout receive publication timer datapointer subscriptionId " + subscriptionId);
      subscription = subscriptionRegistry.getSubscription(subscriptionId);
      if (subscription == null) {
        LOGGER.trace("subscription not found - already deleted subscriptionId=" + subscriptionId);
        // subscription has already been deleted
        SCMPMessageFault fault = new SCMPMessageFault(reqMsg.getSCMPVersion(), SCMPError.SUBSCRIPTION_NOT_FOUND,
            subscriptionId);
        fault.setMessageType(reqMsg.getMessageType());
        response.setSCMP(fault);
      } else {
        // tries polling from queue
        SCMPMessage message = this.publishMessageQueue.getMessage(subscriptionId);
        if (message == null) {
          LOGGER.trace("no message found on queue - subscription timeout set up no data message subscriptionId="
              + subscriptionId);
          // no message found on queue - subscription timeout set up no data message
          reqMsg.setHeaderFlag(SCMPHeaderAttributeKey.NO_DATA);
          reqMsg.setIsReply(true);
          this.response.setSCMP(reqMsg);
        } else {
          // message polling successful
          LOGGER.trace("message found on queue - subscription timeout set up reply message subscriptionId="
              + subscriptionId);
          // set up reply
          SCMPMessage reply = null;
          if (message.isPart()) {
            // message from queue is of type part - outgoing must be part too, no poll request
            reply = new SCMPPart(message.getSCMPVersion(), false, message.getHeader());
          } else {
            reply = new SCMPMessage(message.getSCMPVersion(), message.getHeader());
          }
          reply.setSessionId(subscriptionId);
          reply.setMessageType(reqMsg.getMessageType());
          reply.setIsReply(true);
          reply.setBody(message.getBody());
          this.response.setSCMP(reply);
        }
      }
    } catch (Exception ex) {
      LOGGER.warn("timeout expired procedure failed, " + ex.getMessage());
      SCMPMessageFault scmpFault = new SCMPMessageFault(reqMsg.getSCMPVersion(), SCMPError.SERVER_ERROR, ex.getMessage());
      scmpFault.setMessageType(SCMPMsgType.RECEIVE_PUBLICATION);
      scmpFault.setLocalDateTime();
      response.setSCMP(scmpFault);
    } finally {
      if (subscription != null) {
        // reset subscription timeout to ECI
        subscriptionRegistry.resetSubscriptionTimeout(subscription, subscription.getSubscriptionTimeoutMillis());
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.