cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
Advocate II
Advocate II

XPATH returns null

Hi all. I'm trying to automate some tasks with Tableau. Basically the flow is:

 

  1. Logon request to Tableau Server via HTTPS
  2. Extract token
  3. Pass tokens into other HTTPS requests
  4. ???
  5. Profit

I got pretty much everything worked out and working but I really don't like how I get the token out. Currently I'm using a convoluted mix of Search() and Substring() to extract it. I would love to use XPATH as its a lot easier to implement and I'm always game to learn new things.

 

Here is the XML data that is returned by the logon request:

 

 

 

<?xml version='1.0' encoding='UTF-8'?>
<tsResponse xmlns="http://tableau.com/api" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://tableau.com/api http://tableau.com/api/ts-api-3.6.xsd">
    <credentials token="THIS IS TOKEN">
        <site id="THIS IS SITE" contentUrl=""/>
        <user id="THIS IS USERID"/>
    </credentials>
</tsResponse>

 

 


From this I would like to extract the following string "THIS IS TOKEN" using XPATH. I used this tool to test the XPATH expression and this seems to work "string(/tsResponse/credentials/@token)"

 

The issue is running it into flow. Initially I was using the HTTP request action but I didn't want to make too many requests so I created a mockup where I paste a sample payload into a Compose action and have a second compose action that executes the XPATH.

 

This is the expression I use on the second Compose action where "Compose 2" has the text"

 

 

 

xpath(xml(outputs('Compose_2')),'string(/tsResponse/credentials/@token)')

 

 

Here is the result of the flow.

 

image.png

 

I've tired a few other XPATH examples from online and they seem to work but I just can't get this to function correctly. Any idea what I am doing wrong?

1 ACCEPTED SOLUTION

Accepted Solutions
Highlighted
Super User III
Super User III

Re: XPATH returns null

Try the following:

 

xpath(xml(outputs('Compose_2')),'//*[local-name()="credentials"]/@token')


Did I answer your question? Mark my post as a solution!

If you liked my response, please consider giving it a thumbs up


Proud to be a Flownaut!

Learn more from my blog

View solution in original post

4 REPLIES 4
Highlighted
Super User III
Super User III

Re: XPATH returns null

Try the following:

 

xpath(xml(outputs('Compose_2')),'//*[local-name()="credentials"]/@token')


Did I answer your question? Mark my post as a solution!

If you liked my response, please consider giving it a thumbs up


Proud to be a Flownaut!

Learn more from my blog

View solution in original post

Highlighted
Community Support
Community Support

Re: XPATH returns null

 

Hi @RTW ,

 

Please try to refer to the following method to configure Flow:

xPath-parsing-noob

XML-convert-to-other-XML-format

 

In addition, you can follow the link and get more details about the XPath() function:

https://docs.microsoft.com/en-gb/azure/logic-apps/workflow-definition-language-functions-reference#x...

 

Best Regards,

Community Support Team _ Barry
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Highlighted
Advocate II
Advocate II

Re: XPATH returns null

@abm Thank you, this worked.

 

I had to modify it slightly to xpath(xml(outputs('Compose_2')),'string(//*[local-name()="credentials"]/@token)') to get the correct output.

 

So, that being said, what did I do wrong?

Highlighted
Super User III
Super User III

Re: XPATH returns null

Hi @RTW 

 

XPath queries are not the straight forward ones. Glad to hear that it is working.

 

Thanks



Did I answer your question? Mark my post as a solution!

If you liked my response, please consider giving it a thumbs up


Proud to be a Flownaut!

Learn more from my blog

Helpful resources

Announcements
secondImage

August 2020 CYST Winners!

Check out the winners of the recent 'Can You Solve These?' community challenge!

thirdImage

Experience what's new for Power Automate

Join us for an in-depth look at the new Power Automate features and capabilities at the free Microsoft Business Applications Launch Event.

firstImage

Power Platform 2020 release wave 2 plan

Features releasing from October 2020 through March 2021

thirdimage

Power Automate Community User Group Member Badge

Fill out a quick form to claim your user group badge now!

Top Solution Authors
Top Kudoed Authors
Users online (4,445)