WebSphere Enterprise Service Bus, Version 6.2.0 Systèmes d'exploitation: AIX, HP-UX, i5/OS, Linux, Solaris, Windows


Propagation d'en-tête de protocole à partir de liaisons d'exportation non SCA

Le service de contexte est chargé de la propagation du contexte (y compris les en-têtes de protocole comme l'en-tête JMS et le contexte utilisateur comme l'ID de compte) tout au long du chemin d'appel SCA (Service Component Architecture). Le service de contexte offre un ensemble d'API et de paramètres configurables.

Lorsque la propagation du service de contexte est bidirectionnelle, le contexte de réponse écrasera systématiquement le contexte en cours. Lorsque vous exécutez un appel d'un composant SCA à un autre, la réponse présentera un contexte différent. Un composant de service aura un contexte entrant, mais si vous appelez un autre service, celui-ci écrasera le contexte sortant d'origine. Le contexte de réponse deviendra alors le nouveau contexte.

Lorsque la propagation du service de contexte est unidirectionnelle, le contexte d'origine reste à l'identique.

Le cycle de vie du service de contexte est associé à un appel. Une demande dispose d'un contexte associé et le cycle de vie de ce context est lié au traitement de cette demande particulière. Lorsque le traitement de cette demande se termine, le cycle de vie de ce contexte s'achève.

Exemple

Voici un exemple de code.
//Import the necessary classes;
import com.ibm.bpm.context.ContextService;
import com.ibm.websphere.sca.ServiceManager;
import com.ibm.bpm.context.cobo.ContextObject;
import com.ibm.bpm.context.cobo.ContextObjectFactory;
import com.ibm.bpm.context.cobo.HeaderInfoType;
import com.ibm.bpm.context.cobo.UserDefinedContextType;

//Locate ContextService;
ContextService contextService = (ContextService)ServiceManager.INSTANCE.locateService("com/ibm/bpm/context/ContextService");

// Get header info
HeaderInfo headerInfo = contextService.getHeaderInfo();
// Get user defined context in current execution context
UserDefinedContextType userDefinedContext = contextService.getUserDefinedContext();
if(userDefinedContext == null){ // create a new context if context is null
userDefinedContext = ContextObjectFactory.eINSTANCE.createUserDefinedContextType()
}

// Do some modification to header info and userDefinedContext

// Set user defined context back to the current execution context.
contextService.setUserDefinedContext(userDefinedContext);

// Set header info back to the current execution context.
contextService.setHeaderInfo(headerInfo);
Remarque : Dans le composant de flux de médiation, les API ContextService ne doivent pas être employées. Utilisez le modèle de programmation SMO pour accéder au contexte.

Les services de contexte possèdent des règles et des tables configurables qui dictent le comportement de la liaison. Pour plus d'informations, voir la documentation API et SPI générées disponible à la section Référence. Lors du développement dans WebSphere Integration Developer, vous pouvez définir le service de contexte sur les propriétés d'importation ou d'exportation. Pour plus de détails, reportez-vous aux informations relatives aux liaisons d'importation et d'exportation dans le centre de documentation de WebSphere Integration Developer.


concept Rubrique concept

Conditions d'utilisation | Commentaires en retour


Icône d'horodatage Dernière mise à jour: 07 juillet 2010


http://publib.boulder.ibm.com/infocenter/dmndhelp/v6r2mx/topic//com.ibm.websphere.wesb620.doc/doc/cdev_propsmoheaders.html
Copyright IBM Corporation 2005, 2010. All Rights Reserved.
Ce centre d'information est mis en service par la technologie Eclipse (http://www.eclipse.org).