WCF custom channel exception hierarchy

The exceptions types thrown by the custom channel are consistent with WCF and are typically a TimeoutException or CommunicationException (or a subclass of CommunicationException). Further details of the error condition, where available, are provided using linked or inner exceptions.


SOAP/JMS interface

The following exceptions are typical examples, and each layer in the architecture of the channel contributes an additional linked exception, for example CommunicationsException has a linked XMSException, which has a linked MQException:
  1. System.serviceModel.CommunicationsExceptions
  2. IBM.XMS.XMSException
  3. IBM.WMQ.MQException
Key information is captured and provided in the data collection of the highest CommunicationException in the hierarchy. This capture and provision of data prevents the need for the applications to link to each layer in the architecture of the channel in order to interrogate the linked exceptions, and any additional information they might contain. The following key names are defined:

  • IBM.XMS.WCF.ErrorCode: The error message code of the current custom channel exception.
  • IBM.XMS.ErrorCode: The error message of the first XMS exception in the stack.
  • IBM.WMQ.ReasonCode: The underlying IBM MQ reason code.
  • IBM.WMQ.CompletionCode: The underlying IBM MQ completion code.


Non-SOAP/Non-JMS interface

The following exceptions are typical examples, and each layer in the architecture of the channel contributes an additional linked exception, for example CommunicationsException has a linked MQException:
  1. System.ServiceModel.CommunicationsExceptions
  2. IBM.WMQ.MQException
Key information is captured and provided in the data collection of the highest CommunicationException in the hierarchy. This capture and provision of data prevents the need for the applications to link to each layer in the architecture of the channel in order to interrogate the linked exceptions, and any additional information they might contain. The following key names are defined:

  • IBM.WMQ.WCF.ErrorCode: The error message code of the current custom channel exception.
  • IBM.WMQ.ReasonCode: The underlying IBM MQ reason code.
  • IBM.WMQ.CompletionCode: The underlying IBM MQ completion code.