davethecoder wrote:
Hi Tom, I am using the Web Services "Invoke SOAP" Method Operator. I am trying to ensure that I am able to query SD for whatever data I will need more or less as a POC before I move forward and start automating my first processes. I want to use WS calls to avoid the overhead of login/logouts by the out of the box Ops. If I had more time I suppose I could "roll my own" parsing hack" but there must be an appropriate method to accomplish this ........
Thanks for the reply .. again any help is great
--David
So I'm not exactly sure why SDM does this, but the relevant information is returned as part of a CDATA structure inside of the main XML response. And then within that CDATA, the tags are escaped.
So here's what you need to do to get to the relevant info:
[list]
[*]Using the Call Results page of the Invoke Soap Method operator, extract //doSelectReturn and put it in an Operator Dataset variable (for example, innerXml). This method automatically unescapes the XML structure for you.
[*]In the post execution, call the applyXPath function to parse the XML retrieved in the first step. For example, Process.ticketUserId = applyXPath(Process[OpName].innerXml, "//Attribute[AttrName='userid']/AttrValue/text()")
[list]
Let me know if this helps.
Thanks,
Tom