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

Power Automate Video Tutorials

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

Power Automate Video Tutorials

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

Power Automate Video Tutorials

Helpful resources

Announcements
Community Conference

Power Platform Community Conference

Check out the on demand sessions that are available now!

Power Platform ISV Studio

Power Platform ISV Studio

ISV Studio is designed to become the go-to Power Platform destination for ISV’s to monitor & manage published applications.

Tech Marathon

Maratón de Soluciones de Negocio Microsoft

Una semana de contenido con +100 sesiones educativas, consultorios, +10 workshops Premium, Hackaton, EXPO, Networking Hall y mucho más!

Top Solution Authors
Top Kudoed Authors
Users online (7,261)