IBM FileNet P8, Version 5.2.1            

Fonction de lien partenaire

La fonction de lien partenaire présente dans la boîte de dialogue du générateur d'expression affiche l'en-tête de lien partenaire (Partner Link) pour les liens d'appel de lien partenaire (Invoke partner).

L'en-tête de lien partenaire est stocké dans une zone créée au moment du transfert et appelée F_EndPointRef<nom_lien partenaire>. Pour changer cet en-tête, vous pouvez modifier la zone F_EndPointRef<nom_lien partenaire> comme suit :

  • Le service Web représenté par l'en-tête requiert un en-tête SOAP. Par exemple, si vous utilisez la fonction d'authentification, l'en-tête contient une section de contrôle et vous devez insérer le nom d'utilisateur et le mot de passe appropriés dans cette section.
  • Le service Web représenté par l'en-tête contient le noeud final spécifié dans le code WSDL. Pour modifier ce noeud final, vous pouvez insérer un autre noeud final dans la section de l'adresse. Ceci vous permet d'appeler un autre noeud final pour obtenir le même service.
En-tête de message

Dans l'exemple d'en-tête ci-dessus, le nom du lien d'appel de partenaire est InvAuth1. Pour modifier l'en-tête, vous pouvez utiliser au choix la fonction système Assign ou l'affectation à une étape pour affecter un en-tête modifié à la référence de noeud final partenaire (F_EndPointRefInvAuth1 en l'occurrence).

Codage

Si vous devez placer des informations sensibles dans l'en-tête F_EndPointRef<nom_lien partenaire>, utilisez la fonction encode() afin de coder ces informations sensibles. Le système de flux de travaux pourra décoder les information codées avant l'envoi du message.

Authentification

Dans l'exemple d'en-tête ci-dessus, le service appelé demande une authentification et la section de contrôle est donc incluse dans l'en-tête. En général, vous remplacez USERNAME et PASSWORD par des variables et l'utilisateur entre les valeurs appropriées à une étape quelconque avant l'étape d'appel (Invoke). Vous utilisez une affectation pour insérer ces valeurs dans l'en-tête.

  1. Dans une fonction système Assign ou une affectation incluse dans une étape générale avant l'étape Invoke, entrez un nom de variable temporaire quelconque pour l'affectation puis ouvrez le générateur d'expression.
  2. Dans le générateur d'expression, modifiez l'en-tête comme suit pour en faire une expression de chaîne valide :
    1. Coupez (vers le presse-papiers) le nom F_EndPointRefInvAuth1) au début du message. Vous le collerez comme nom de l'affectation.
    2. Si vous ne définissez pas de noeud final de variable, supprimez la ligne Optional Final Soap Address dans la boîte de dialogue.
    3. Ajoutez des doubles guillemets droits (") à chaque double guillemet droit existant au début et à la fin du message.
    4. Remplacez USERNAME et PASSWORD par les noms de zone appropriés (par exemple, MyUserName et MyPassword) et ajoutez des guillemets ouverts et fermés et des signes plus afin d'insérer les noms de zone dans l'expression de chaîne.
          "<wsa:EndPointReference xmlns:wsa=""http://schemas.xmlsoap.org/ws/2003/03/addressing"">    
                  <wsa:ReferenceProperties>           
                         <wsse:Security xmlns:wsse=""http://schemas.xmlsoap.org/ws/2002/12/secext"">      
                               <wsse:UsernameToken>                           
                                      <wsse:Username>" + MyUserName + "</wsse:Username>                               
                                      <wsse:Password>" + MyPassword + "</wsse:Password>                       
                               </wsse:UsernameToken>          
                         </wsse:Security>     
                 </wsa:ReferenceProperties>
          </wsa:EndPointReference>"
  3. Fermez le générateur d'expression puis collez le nom de la référence du noeud final (dans cet exemple F_EndPointRefInvAuth1) dans la zone de nom (Name) de l'affectation.
Conseil : Dans le cas improbable où vous souhaitez entrer directement le nom d'utilisateur et le mot de passe dans le message, entrez les chaînes sans les guillemets ni les signes plus.

Noeud final alternatif

Noeud final alternatif

Le code WSDL du service Web appelé indique le noeud final. Vous pouvez indiquer un autre noeud final avec la procédure suivante. Vous devrez remplacer la valeur OPTIONAL_SOAP_ADDRESS dans l'en-tête par un nouveau noeud final. Notez que le service fourni par le noeud final alternatif doit avoir exactement les mêmes exigences en matière d'entrée et de sortie.

  1. Dans une fonction système Assign ou une affectation incluse dans une étape générale avant l'étape Invoke, entrez un nom de variable temporaire quelconque pour l'affectation puis ouvrez le générateur d'expression.
  2. Dans le générateur d'expression, modifiez l'en-tête comme suit pour en faire une expression de chaîne valide :
    1. Coupez (vers le presse-papiers) le nom (dans cet exemple F_EndPointRefInvAuth1) depuis le début du message. Vous le collerez comme nom de l'affectation.
    2. Remplacez OPTIONAL_FINAL_SOAP_ADDRESS par la chaîne du nouveau noeud final (sans guillemets) ou insérez une variable préalablement définie avec la valeur en ajoutant des doubles guillemets et des signes plus.
    3. Ajoutez des doubles guillemets droits (") à chaque double guillemet droit existant au début et à la fin du message.
  3. Fermez le générateur d'expression puis collez le nom de la référence du noeud final (dans cet exemple F_EndPointRefInvAuth1) dans la zone de nom (Name) de l'affectation.


Last updated: March 2016
bpfe011.htm

© Copyright IBM Corp. 2016.