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.

cpiParseBufferEncoded

Diese Funktion erweitert die Funktionalität der Implementierungsfunktion cpiParseBuffer() und stellt die Verschlüsselung und den codierten Zeichensatz bereit, in dem die Eingabenachricht dargestellt wird.

Wenn diese Implementierungsfunktion in der Struktur CPI_VFT bereitgestellt wird, können Sie weder cpiParseBuffer() noch cpiParseBufferFormatted() angeben, da die Funktion cpiDefineParserClass() dann mit dem Rückkehrcode CCI_INVALID_IMPL_FUNCTION fehlschlägt.

Definiert in Typ Mitglied
CPI_VFT Bedingt iFpParseBufferEncoded

Syntax

int cpiParseBufferEncoded(
  CciParser*   parser,
  CciContext* context,
  int         encoding,
  int          ccsid); 

Parameter

parser
Die Adresse des Parserobjekts (Eingabe).
context
Die Adresse des Kontextes des Parserobjekts (Eingabe).
encoding
Die Verschlüsselung des Nachrichtenpuffers (Eingabe).
ccsid
Die ID des codierten Zeichensatzes des Nachrichtenpuffers (Eingabe).

Rückgabewerte

Die Größe (in Byte) des restlichen Teils des Nachrichtenpuffers, für den der Parser das Eigentumsrecht übernimmt.

Beispiel

Das folgende Beispiel stammt aus der Musterparserdatei BipSampPluginParser.c:

int cpiParseBufferEncoded(
  CciParser*   parser,
  CciContext* context,
  int            encoding,
  int         ccsid
){
  PARSER_CONTEXT_ST* pc = (PARSER_CONTEXT_ST *)context ;
  int             rc; 

  /* Zeiger auf Nachrichtenpuffer abrufen und Offset festlegen */
  pc->iBuffer = (void *)cpiBufferPointer(&rc, parser);
  pc->iIndex = 0;

  /* Format des Puffers speichern */
  pc->iEncoding = encoding;
  pc->iCcsid = ccsid;

  /* Größe des Puffers speichern */
  pc->iSize = cpiBufferSize(&rc, parser);

  /* Ersten Byte im Datenstrom einsetzen */
  pc->iCurrentCharacter = cpiBufferByte(&rc, parser, pc->iIndex);

  /* Aktuelles Element für das Stammelement festlegen */
  pc->iCurrentElement = cpiRootElement(&rc, parser);

  /* Flag zurücksetzen, um sicherzustellen, dass die Analyse korrekt zurückgesetzt wird */
  pc->iInTag = 0;

  if (pc->trace) {
    fprintf(pc->tracefile, "PLUGIN: <- cpiParseBufferEncoded() 
    retvalue=%d\n", pc->iSize);
    fflush(pc->tracefile);
  }
Bemerkungen | Marken | Downloads | Bibliothek | Support | Feedback

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

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


ReferenzthemaReferenzthema | Version 8.0.0.5 | as08160_