Problem determination on the WCF custom channel for IBM MQ

We can use IBM MQ trace to collect detailed information about what various parts of the IBM MQ code is doing. When using Windows Communication Foundation (WCF), a separate trace output is generated for the WCF custom channel trace integrated with the Microsoft WCF infrastructure trace.

Fully enabling trace for the WCF custom channel produces two output files:
  1. The WCF custom channel trace integrated with the Microsoft WCF infrastructure trace.
  2. The WCF custom channel trace integrated with XMS .NET.

By having two trace outputs, problems can be tracked at each interface using the appropriate tools, for example:

  • WCF problem determination using suitable Microsoft tooling.
  • IBM MQ MQI client issues using the XMS trace format.

To simplify trace enablement, the .NET 3 TraceSource and XMS .NET trace stack are both controlled using a single interface.

  • 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.
  • WCF trace configuration
    There are two options for configuring WCF trace. We can either configure trace programmatically or through an environment variable.
  • WCF XMS First Failure Support Technology ( FFST )
    We can collect detailed information about what various parts of the IBM MQ code is doing by using IBM MQ trace. XMS FFST has its own configuration and output files for the WCF custom channel.
  • WCF version information
    WCF version information aids with problem determination and is included in the assembly metadata of the custom channel.
  • WCF hints and tips
    The following hints and tips are in no significant order, and might be added to when new versions of the documentation are released. They are subjects that might save you time if they are relevant to the work that we are doing.

Parent topic: Developing Microsoft Windows Communication Foundation (WCF) applications with IBM MQ