Show TOC Anfang des Inhaltsbereichs

Funktionsdokumentation Message-ID Erzeugung, Persistenz und Mapping Dokument im Navigationsbaum lokalisieren

Verwendung

Das Mapping einer XI-Message-ID auf eine externe Message-ID wird gespeichert, um doppelte Messages ermitteln zu können oder um eine Message rückverfolgen zu können. Für das Mapping können Sie den MessageIdMapperverwenden.

Siehe unter: Schritte im asynchronen Empfänger-/Outbound-Message-Fluss und Schritte im asynchronen Sender-/Inbound-Message-Fluss

Interface-Überblick

Merkmal

Wert

Name

AF Utility Service

Zweck

Erzeugung von Message-ID Mappings zur Überprüfung von doppelten Einträgen und für die Verfolgung im PMI

Typ

J2EE-Service

Technischer Name

com.sap.aii.af.service.idmap

com.sap.aii.utilxi.misc.api

Zertifizierung

Optional

Syntax

Siehe JavaDoc (.\index.html) package com.sap.aii.af.service.idmap

Funktionsumfang

package my.adapter.ra;

import com.sap.aii.af.service.idmap.MessageIDMapper;

import com.sap.aii.utilxi.misc.api.GUIDFactory;

import com.sap.guid.IGUID;

 

public onMessage() throws ResourceException {

     

   try {

       // Create the XI message ID. This ID is used later in den modules and set

       // as GUID of the resulting new XI message.

// It must be consistent for the audit log entries

       IGUID xmbmsgid = GUIDFactory.getInstance().createGUID(IGUID.VERSION_TIME);

      

       // Forward the external message and the XI message ID to use to the XI AF MP

       ModuleData inputModuleData = new ModuleData();

       inputModuleData.setPrincipalData(message);

       inputModuleData.setSupplementalData("my.adapter.xmbmsgid", xmbmsgid);

       ModuleData outputModuleData =

moduleProcessor.process(handler.getName(), inputModuleData);

      

       // Save message ID mapping for duplicate recognition and PMI logging

       // PMI logging is triggered inside the messageIDmapper

       messageIDMapper.createIDMap(jmsmsgid, xmbmsgid.toHexString(),

System.currentTimeMillis() + 1000*3600*24);

      

   }

   catch(Exception e) {

  

   }

Dieser Auszug zeigt den Einsatz des MessageIDMapper. Er zeigt außerdem die Verwendung der GUIDFactory und IGUID-Hilfsklasse, die die Erzeugung einer ID vor dem Anlegen der Message ermöglichen.

Dieser Mechanismus kann eingesetzt werden, wenn die XI-Message zu einem späteren Zeitpunkt, z.B. in den Modulen des Adapter-Framework erzeugt wird. Das Mapping muss jedoch im Adapter durchgeführt werden, damit dieser Vorgang der allgemeinen Strategie zum Einsatz von Transaktionen entspricht.

Hinweis

Im Aufruf für createIDMap() muss die XI-Message-ID als hexadezimaler String angegeben werden.

Ende des Inhaltsbereichs