2017-05-09 2 views
0

J'essaie d'utiliser fn: contient comme condition xpath dans wso2 esb filtre médiateur.en utilisant la fonction Xpath dans wso2 esb

Je dois trouver si le motif suivant: // est présent dans une chaîne donnée. Par conséquent j'ai sauvé la chaîne (adresse) dans une propriété et ai appelé cette propriété du filtre médiateur.

adresse = Mq: //[email protected]

J'ai essayé des combinaisons ci-dessous et rien travaillé

fn:contains('get-property('address')','://') 
fn:contains(get-property('address'),'://') 
fn:contains("get-property('address')",'://') 

Si je donne à la place la chaîne d'adresse elle-même de get -property ça a marché! mais la combinaison ci-dessous a fonctionné

"fn:contains(get-property('address'),'://')" 

mais après l'enregistrement, le xpath mentionné ci-dessus ne s'affiche pas dans la vue de conception. XPATH était vide.

Des entrées sur cette question s'il vous plaît?

Répondre

0

Il semble que vous vous amusiez avec des citations. Pour contourner ce problème, vous pouvez utiliser $ ctx au lieu de get-property(). $ ctx est un Synapse xpath variable qui vous permet d'accéder aux propriétés définies sur la portée par défaut. Vous pouvez vérifier le lien pour d'autres variables xpath.

Essayez d'utiliser:

"fn:contains($ctx:address,'://')" 
+0

Il a travaillé !! Merci beaucoup –

+0

Heureux d'aider, et bienvenue à Stack Overflow. Si cette réponse a résolu votre problème, veuillez le marquer comme accepté. – ophychius