WebSphere Message Broker Version 8.0.0.5 Betriebssysteme: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Sehen Sie sich die Informationen zur aktuellen Produktversion im IBM Integration Bus Version 9.0 an.

cciUserDebugTrace

Mit cciUserDebugTrace können Sie eine Nachricht aus einem Nachrichtenkatalog (mit Einfügungen) in einen Benutzertrace schreiben, wenn dieser in der Debugstufe aktiv ist.

Ist der Benutzertrace nicht auf Debugstufe aktiv, wird ein Eintrag in den Service-Trace geschrieben, wenn dieser aktiv ist.

Syntax

void cciUserDebugTrace(
  int*           returnCode,
  CciObject*     object,
  const CciChar* messageSource,
  int            messageNumber,
  const char*    traceText,
  ...
);

Parameter

returnCode
Empfängt den Rückkehrcode von der Funktion (Ausgabe). Die Eingabe eines Eingabeparameters für einen Nullzeiger zeigt an, dass der benutzerdefinierte Knoten nicht für Fehler zuständig sein möchte. Alle Ausnahmebedingungen, die bei der Ausführung dieses Aufrufs ausgegeben werden, werden beim nächsten vorgeschalteten Knoten im Nachrichtenfluss erneut ausgegeben. Wenn der Eingabeparameter nicht NULL ist, gibt die Ausgabe den Erfolgsstatus des Aufrufs an. Wenn während der Ausführung eine Ausnahmebedingung auftritt, wird *returnCode bei der Ausgabe auf CCI_EXCEPTION gesetzt. Rufen Sie CciGetLastExceptionData auf, um weitere Informationen zu der Ausnahmebedingung zu erhalten.
object
Die Adresse des Objekts, das dem Traceeintrag (Eingabe) zugeordnet werden soll. Bei dem Objekt kann es sich um die Adresse eines CciNode*- oder CciParser*-Objekts handeln. Wenn Sie einen CciNode*-Objekt angeben, wird dessen Name in den Trace geschrieben. Wenn Sie ein CciParser*-Objekt angeben, wird der Name desjenigen Knotens in den Trace geschrieben, der den Parser erstellt hat. Mit diesem Objekt wird auch bestimmt, ob der Eintrag in den Trace geschrieben wird. Der Eintrag wird nur hineingeschrieben, wenn der Trace für den Knoten aktiv ist. Knoten übernehmen ihre Trace-Einstellungen vom Nachrichtenfluss.
Wenn dieser Parameter NULL lautet, wird die Tracestufe für die Ausführungsgruppe zurückgegeben.
messageSource
Der vollständig qualifizierte Standort und Name der Windows-Nachrichtenquelle oder der Linux-, UNIX- oder z/OS-Nachrichtenkatalog.

Geben Sie auf allen Betriebssystemen BIPmsgs an, um den aktuellen Nachrichtenkatalog für den Broker zu verwenden. Als Alternative können Sie auch Ihren eigenen Nachrichtenkatalog erstellen.

Beim Formatieren des Trace wird eine Nachricht aus der landessprachlichen Version dieses Katalogs geschrieben.

Es gilt die länderspezifische Einstellung der Umgebung, in der der Trace formatiert wird. Sie können den Broker auf einem Betriebssystem ausführen, das Protokoll auf diesem Betriebssystem lesen und es dann auf einem anderen Betriebssystem formatieren. Wenn der Broker beispielsweise unter Linux, UNIX oder z/OS ausgeführt wird, dort aber keine CAT-Datei vorhanden ist, können Sie das Protokoll lesen und es dann auf ein Windows-System übertragen, wo es mithilfe der Datei .properties formatiert wird.

Wenn dieser Parameter NULL lautet, tritt genau dasselbe ein wie beim Angeben einer leeren Zeichenfolge. D. h., alle anderen Informationen werden in das Protokoll geschrieben, und das Feld für den Katalog enthält als Wert eine leere Zeichenfolge. Deshalb kann das Formatierungsprogramm für Protokolle die Nachrichtenquelle nicht finden und die Formatierung dieses Eintrags schlägt fehl.

messageNumber
Die Nummer, die die Nachricht innerhalb des Parameters 'messageSource' kennzeichnet (Eingabe). Wenn der Parameter 'messageSource' keine Nachricht enthält, die dem Parameter 'messageNumber' entspricht, kann das Formatierungsprogramm für Protokolle diesen Eintrag nicht formatieren.
traceText
Eine Folge aus Zeichen, die auf NULL (Eingabe) endet. Diese Zeichenfolge wird in den Service-Trace geschrieben und so können Traceeinträge leicht mit Pfaden durch den Quellcode in Verbindung gebracht werden. Beispielsweise könnte es mehrere Pfade durch den Code geben, die dieselbe Nachricht (messageSource und messageNumber) im Trace zur Folge haben. Zwischen diesen verschiedenen Pfaden kann mithilfe von traceText unterschieden werden. Die Zeichenfolge für 'traceText' ist also eine statische Literalzeichenfolge im Quellcode. Deshalb befindet sich dieselbe Zeichenfolge sowohl in der Quellcodedatei als auch in der formatierten Tracedatei.
...
Eine Argumentenliste für C-Variablen, die andere Nachrichteneinfügungen, die die Nachricht begleiten, enthält (Eingabe). Diese Einfügungen werden als Zeichenfolgen behandelt und es wird vorausgesetzt, dass der Typ der Variablenargumente pointer to char ist. Das letzte Argument in dieser Liste muss (char*)0 sein.
  • Bei benutzerdefinierten Erweiterungen, die auf verteilten Plattformen ausgeführt werden, müssen sich die char*-Argumente in der Codepage ISO-8859-1 (ibm-918) befinden.
  • Bei benutzerdefinierten Erweiterungen, die auf z/OS-Plattformen ausgeführt werden, müssen sich die char*-Argumente in der Codepage EBCIDIC (1047) befinden.
Diese Anforderungen gelten für alle char*-Argumente in traceText und die variable Argumentenliste für Einfügungen (...).

Rückgabewerte

Keine. Wenn ein Fehler auftritt, gibt der Parameter returnCode die Fehlerursache an.

Beispiel

const CciChar*   myMessageSource=CciString("SwitchMSG",BIP_DEF_COMP_CCSID);
CciNode* thisNode = ((NODE_CONTEXT_ST*)context)->nodeObject;

const char* mbElementName  = mbString((CciChar*)&elementName,BIP_DEF_COMP_CCSID);
const char* mbElementValue = mbString((CciChar*)&elementValue,BIP_DEF_COMP_CCSID);
const char* traceTextFormat = "Switch Element: name=%s, value=%s";
char* traceText = (char*)malloc(strlen(traceTextFormat) + 
                                strlen(mbElementName) + 
                                strlen(mbElementValue));
sprintf(traceText,traceTextFormat,mbElementName,mbElementValue);
    
cciUserDebugTrace(&rc,
                 (CciObject*)thisNode,
                 myMessageSource,
                 2,
                 traceText,
                 mbElementName,
                 mbElementValue,
                 (char*)0);
free((void*)mbElementName);
free((void*)mbElementValue);
free((void*)traceText);
Bemerkungen | Marken | Downloads | Bibliothek | Support | Feedback

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Letzte Aktualisierung:
        
        Letzte Aktualisierung: 2015-02-28 16:22:07


ReferenzthemaReferenzthema | Version 8.0.0.5 | as24510_