Further intercommunication considerations

Channel-exit programs
What are channel-exit programs?
Processing overview
Channel security exit programs
Channel send and receive exit programs
Channel send exit programs -- reserving space
How you reserve space and use it
What happens at the receiving end of the channel
Multiple send exits
Channel message exit programs
Message conversion outside the message exit
Channel message retry exit program
Channel auto-definition exit program
Writing and compiling channel-exit programs
WebSphere MQ for z/OS
WebSphere MQ for iSeries
WebSphere MQ for Windows server, WebSphere MQ client for Windows
WebSphere MQ for AIX
WebSphere MQ for HP-UX
WebSphere MQ for Solaris
WebSphere MQ for Linux
SSPI security exit
Channel-exit calls and data structures
Data definition files
MQ_CHANNEL_EXIT - Channel exit
Syntax
Parameters
ChannelExitParms (MQCXP) - input/output
ChannelDefinition (MQCD) - input/output
DataLength (MQLONG) - input/output
AgentBufferLength (MQLONG) - input
AgentBuffer (MQBYTE×AgentBufferLength) - input/output
ExitBufferLength (MQLONG) - input/output
ExitBufferAddr (MQPTR) - input/output
Usage notes
C invocation
COBOL invocation
RPG invocation (ILE)
RPG invocation (OPM)
System/390(R) assembler invocation
MQ_CHANNEL_AUTO_DEF_EXIT - Channel auto-definition exit
Syntax
Parameters
ChannelExitParms (MQCXP) - input/output
ChannelDefinition (MQCD) - input/output
Usage notes
C invocation
COBOL invocation
RPG invocation (ILE)
RPG invocation (OPM)
System/390(R) assembler invocation
MQXWAIT - Wait in exit
Syntax
Parameters
Hconn (MQHCONN) - input
WaitDesc (MQXWD) - input/output
CompCode (MQLONG) - output
Reason (MQLONG) - output
C invocation
System/390(R) assembler invocation
MQCD - Channel definition
Exit name fields
Fields
ChannelName (MQCHAR20)
Version (MQLONG)
ChannelType (MQLONG)
TransportType (MQLONG)
Desc (MQCHAR64)
QMgrName (MQCHAR48)
XmitQName (MQCHAR48)
ShortConnectionName (MQCHAR20)
MCAName (MQCHAR20)
ModeName (MQCHAR8)
TpName (MQCHAR64)
BatchSize (MQLONG)
DiscInterval (MQLONG)
ShortRetryCount (MQLONG)
ShortRetryInterval (MQLONG)
LongRetryCount (MQLONG)
LongRetryInterval (MQLONG)
SecurityExit (MQCHARn)
MsgExit (MQCHARn)
SendExit (MQCHARn)
ReceiveExit (MQCHARn)
SeqNumberWrap (MQLONG)
MaxMsgLength (MQLONG)
PutAuthority (MQLONG)
DataConversion (MQLONG)
SecurityUserData (MQCHAR32)
MsgUserData (MQCHAR32)
SendUserData (MQCHAR32)
ReceiveUserData (MQCHAR32)
UserIdentifier (MQCHAR12)
Password (MQCHAR12)
MCAUserIdentifier (MQCHAR12)
MCAType (MQLONG)
ConnectionName (MQCHAR264)
RemoteUserIdentifier (MQCHAR12)
RemotePassword (MQCHAR12)
MsgRetryExit (MQCHARn)
MsgRetryUserData (MQCHAR32)
MsgRetryCount (MQLONG)
MsgRetryInterval (MQLONG)
HeartbeatInterval (MQLONG)
BatchInterval (MQLONG)
NonPersistentMsgSpeed (MQLONG)
StrucLength (MQLONG)
ExitNameLength (MQLONG)
ExitDataLength (MQLONG)
MsgExitsDefined (MQLONG)
SendExitsDefined (MQLONG)
ReceiveExitsDefined (MQLONG)
MsgExitPtr (MQPTR)
MsgUserDataPtr (MQPTR)
SendExitPtr (MQPTR)
SendUserDataPtr (MQPTR)
ReceiveExitPtr (MQPTR)
ReceiveUserDataPtr (MQPTR)
ClusterPtr (MQPTR)
ClustersDefined (MQLONG)
NetworkPriority (MQLONG)
LongMCAUserIdLength (MQLONG)
LongRemoteUserIdLength (MQLONG)
LongMCAUserIdPtr (MQPTR)
LongRemoteUserIdPtr (MQPTR)
MCASecurityId (MQBYTE40)
RemoteSecurityId (MQBYTE40)
SSLCipherSpec (MQCHAR32)
SSLPeerNamePtr (MQPTR)
SSLPeerNameLength (MQLONG)
SSLClientAuth (MQLONG)
KeepAliveInterval (MQLONG)
LocalAddress (MQCHAR48)
BatchHeartbeat (MQLONG)
HdrCompList [2] (MQLONG)
MsgCompList [16] (MQLONG)
CLWLChannelRank (MQLONG)
CLWLChannelPriority (MQLONG)
CLWLChannelWeight (MQLONG)
ChannelMonitoring (MQLONG)
ChannelStatistics (MQLONG)
C declaration
COBOL declaration
RPG declaration (ILE)
RPG declaration (OPM)
System/390(R) assembler declaration
Visual Basic declaration
MQCXP - Channel exit parameter
Fields
StrucId (MQCHAR4)
Version (MQLONG)
ExitId (MQLONG)
ExitReason (MQLONG)
ExitResponse (MQLONG)
ExitResponse2 (MQLONG)
Feedback (MQLONG)
MaxSegmentLength (MQLONG)
ExitUserArea (MQBYTE16)
ExitData (MQCHAR32)
MsgRetryCount (MQLONG)
MsgRetryInterval (MQLONG)
MsgRetryReason (MQLONG)
HeaderLength (MQLONG)
PartnerName (MQCHAR48)
FAPLevel (MQLONG)
CapabilityFlags (MQLONG)
ExitNumber (MQLONG)
ExitSpace (MQLONG)
SSLCertUserId (MQCHAR12)
SSLRemCertIssNameLength (MQLONG)
SSLRemCertIssNamePtr (PMQVOID)
SecurityParms (PMQCSP)
CurHdrCompression (MQLONG)
CurMsgCompression (MQLONG)
C declaration
COBOL declaration
RPG declaration (ILE)
RPG declaration (OPM)
System/390(R) assembler declaration
MQXWD - Exit wait descriptor
Fields
StrucId (MQCHAR4)
Version (MQLONG)
Reserved1 (MQLONG)
Reserved2 (MQLONG)
Reserved3 (MQLONG)
ECB (MQLONG)
C declaration
System/390(R) assembler declaration
Problem determination in DQM
Error message from channel control
Ping
Dead-letter queue considerations
Validation checks
In-doubt relationship
Channel startup negotiation errors
When a channel refuses to run
Triggered channels
Conversion failure
Network problems
Adopting an MCA
Registration time for DDNS
Dial-up problems
Retrying the link
Retry considerations
Shared channel recovery on z/OS
Data structures
User exit problems
Disaster recovery
Channel switching
Connection switching
Client problems
Terminating clients
Error logs
Error logs for Windows
Error logs on UNIX(R) systems
Error logs on z/OS
Message monitoring