Xpath and Get XML Document Data

Good Morning,
I have just recently gotten involved in a project that requires communicating with some web services (axis2). We have existing scripts that handle this already, but they were built when we weren't on axis2 so now the XML output from the web service call is slightly different and i am no longer able to use the same xpath statement in the Get XML Document Data step.
I am receiving either null values or a prefix namespace error. I am new to xpath and have been reading as best i can from http://www.w3schools.com/xpath/ to try and understand how to write my statements to pull out the data i want correctly.
I have read that sometimes the editor has problems if the XML contains namespace declarations, etc.
Below is an example XML output where I'd like to be able to read the value in the ax211:success. My xpath gets prefix namespace errors as it doesn't recognize ax211.
Xpath: /descendant::ns:validateCertificationResponse/child::ns:return/child::ax211:success
Perhaps my xpath statement is just incorrect and wouldn't retrieve what i expect it to....
Any advice is appreciated.
Thanks,
Kevin

Hi,
well, it appears that text() is automatically appended to the XPath query for some reason in UCCX, this is why you actually see the text node within the ax211:success element. This //*[local-name()="success"] select the whole node, not its first child (which is actually the first element, which also happens to be a text).
Anyway,
// - anywhere
* - any node
And within this "everything" you actually search with the condition within the angular brackets.
G.

Similar Messages

  • UCCX XPath on Get XML Document Data Step always returns null

    Hello,
    Can someone tell whats wrong with my XPath, because it always returns null. I have tried different variations and nothing. I'm using UCCX 7.0
    XML
    <?xml version="1.0" encoding="utf-8" ?>
    <GetManagersResult xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.labdomain.com/">
      <ClaimManagersList>
        <X_CLAIM_MANAGER>
          <ClaimManagerUserName>test</ClaimManagerUserName>
        </X_CLAIM_MANAGER>
      </ClaimManagersList>
    </GetManagersResult>
    XPATH
    "/descendant::GetManagersResult/child::ClaimManagersList/child::X_CLAIM_MANAGER/child::ClaimManagerUserName"
    During debug, this is the value of the xml document when it reaches the Get XML Document Data step:
    TEXT[<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<GetManagersResult xmlns=\"http://www.labdomain.com/\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\r\n  <ClaimManagersList>\r\n    <X_CLAIM_MANAGER>\r\n      <ClaimManagerUserName>test</ClaimManagerUserName>\r\n    </X_CLAIM_MANAGER>\r\n  </ClaimManagersList>\r\n</GetManagersResult>]

    It's your XML namespace in the root element.
    First off, I have never seen the CRS Editor play nice when XML namespaces are involved.
    Secondly, with your namespace in place, not even a generic xpath expression tester can find your data.  See attachements.
    I think that if you find a way to either: not send, or remove the namespace from your document, your xpath expression will work.
    With Namespaces
    Without Namespaces

  • Cisco UCCX 10.6 Get XML Document Data XPath count() function

    Hi
    I'd like to retrieve the number of XML nodes in a document to make a script more efficient.
    e.g. with this XML, I'd like to know how many <message> nodes there are:
    <messages>
    <message>contentA</message>
    <message>contentA</message>
    <message>contentA</message>
    </messages>
    I've tried iNodeCount = Get XML Document Data (inputXMLfile, "count(//messages/message)")
    If I try this in an XPath expression tester then I get the result I'm expecting - an integer of 3. However, in UCCX this produces the error "Can not convert #NUMBER to a NodeList!"... What am I doing wrong?
    Thanks

    Hi, 
    you may want to use a Set or a Do step to execute Java code. 
    First, reference the XML file (within the repository) by calling DOC[myFile.xml] and of course, assigning this value to a Document type variable, e.g.: 
    Set myDocument = DOC[myFile.xml]
    Then add a Do step that actually does the XPath part of the job. 
    There's a nice step by step explanation of it here: http://viralpatel.net/blogs/java-xml-xpath-tutorial-parse-xml/
    Remember, you can get the Inputstream object of the myDocument variable using the getInputStream() method on it.
    G.

  • Get XML Document Data Issue

    After tweak bunch of times the argument inside "Get XML Document Data" I´m still not able to obtain a no null value. Could someone help me to find out what i´m doing wrong?
    <?xml version="1.0" encoding="UTF-8"?>
    <Holidays>
      <Holiday>Date=1/2/2013</Holiday>
      <Holiday>Date=1/2/2013</Holiday>
      <Holiday>Date=8/4/2013</Holiday>
      <Holiday>Date=9/4/2013</Holiday>
      <Holiday>Date=1/5/2013</Holiday>
      <Holiday>Date=17/5/2013</Holiday>
      <Holiday>Date=27/5/2013</Holiday>
      <Holiday>Date=6/6/2013</Holiday>
      <Holiday>Date=23/6/2013</Holiday>
      <Holiday>Date=6/4/2013</Holiday>
      <Holiday>Date=25/12/2013</Holiday>
      <Holiday>Date=26/12/2013</Holiday>
    </Holidays>
    Xpath:
    "/descendant::Holidays/child::Holiday[attribute::symbol='DateString']/child::LAST"
    thank in advance.

    Hi,
    The script first obtain today´s date in this format 1/2/2013 and stores in DateString variable. Then create a XML document based on this:
    <?xml version="1.0" encoding="UTF-8"?>
      Date=1/2/2013
      Date=1/2/2013
      Date=8/4/2013
      Date=9/4/2013
      Date=1/5/2013
      Date=17/5/2013
      Date=27/5/2013
      Date=6/6/2013
      Date=23/6/2013
      Date=6/4/2013
      Date=25/12/2013
      Date=26/12/2013
    that i´ve upload to uccx. it uses get XML Document Data function and stores the result in DataResult variable.
    if
    DataResult == null meets True it makes a call redirect to an extension
    if false that means "1/2/2013" was found inside the XML archive and sends to another extension.
    The problem i see through reactive debug is that always return null,
    In brief: I do not know how to tell using the function "find 1/2/2013 inside Holidays.xml document"
    this is what I putted inside get XML Document Data function:
    "/descendant::Holidays/child::Holiday[attribute::symbol='DateString']/child::LAST"

  • UCCX GET XML Document data - how to force language path

    Hi,
    I saw that with UCCX, If the trigger have is language FR_CA, when I will use the Get XML Document Data (docTemp, etc,etc )
    It will get the value of the file located in the path of  FR_CA in the document management.
    Lets say, If the trigger language is FR_CA, Is there any way I can use the GET XML Document to open a file in the EN_CA in the document management ?
    How can I do that ?
    ps : The upload document have this function, we can force a language but I have no idea how to handle this with the Get XML Document.
    Thanks

    I will attach a screenshot of how you can specify the language folder that the Document lives in, regardless of the language of the Trigger or Contact.
    Notice that in the variable I am simply referencing the Document filename.  This will assume the language of the Contact.
    But also notice that within the step, I am saying that the Source document should be found in the L[en_CA] language folder. This does not change the language of the Contact; it simply tells the system to look in a different folder for the file.
    Of course, if your Document is not language specific, you could always put it in the Default language folder and then it will be available to all Contacts regardless of Language setting.
    Anthony Holloway
    Please use the star ratings to help drive great content to the top of searches.

  • How to check empty return from Get XML Document Data?

    If Get XML Document Data doesn't return a result, how do you test it? String.isEmpty() doesn't do the trick, it still throws the exception "java.lang.NullPointerException". I can't seem to be able to match that up to a cisco exception with a "On Exception Goto" step (which I put right before the XML Document Data step). Any clues anyone?

    Hi,
    Try this:
    variable=Get XML Document Data ()
    if(variable == null) then
         true
         false
    Gabriel.

  • Get XML Document Data step always returns NULL

    Hi All,
    I was hoping someone might be able to help with this.
    I'm writing a holiday script, it uses XML to check whether the date is a holiday or halfday. XML below
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <Holidays>
      <Holiday Date="1/1/2012">Holiday</Holiday>
      <Holiday Date="3/1/2012">Halfday</Holiday>
      <Holiday Date="6/1/2012">Holiday</Holiday>
      <Holiday Date="5/4/2012">Halfday</Holiday>
      <Holiday Date="6/4/2012">Holiday</Holiday>
      <Holiday Date="8/4/2012">Holiday</Holiday>
      <Holiday Date="9/4/2012">Holiday</Holiday>
      <Holiday Date="30/4/2012">Halfday</Holiday>
      <Holiday Date="1/5/2012">Holiday</Holiday>
      <Holiday Date="17/5/2012">Holiday</Holiday>
      <Holiday Date="27/5/2012">Holiday</Holiday>
      <Holiday Date="6/6/2012">Holiday</Holiday>
      <Holiday Date="23/6/2012">Holiday</Holiday>
      <Holiday Date="6/4/2012">Holiday</Holiday>
      <Holiday Date="3/11/2012">Halfday</Holiday>
      <Holiday Date="25/12/2012">Holiday</Holiday>
      <Holiday Date="26/12/2012">Holiday</Holiday>
      <Holiday Date="19/10/2012">Halfday</Holiday>
    </Holidays>
    However when I debug the script the result of the Get XML Document step always returns null.
    Xpath work great in notepad++
    My code is attached, anyone with any pointers?
    Regards,
    Andy

    Your XPATH of:
    "/Holidays/Holiday[@Date='+DateString+']"
    Needs to be:
    "/Holidays/Holiday[@Date='"+DateString+"']"
    Good luck and happy scripting!
    Anthony Holloway
    Please use the star ratings to help drive great content to the top of searches.

  • When trying to get to a CUIC permalink report via a get XML document data step in UCCX, we get a SSL certificate error

    Has anyone found a way to overcome the SSL certificate error via UCCX editor?  See attached screenshots.  Thanks!

    Hi, not easily, no.
    But I guess this has already been discussed/answered by Sam Womack in a later post. What you need to do is talk to TAC and have them upload the client certificate into your UCCX's keystore.
    G.

  • Error while getting xml document  with default connection in 8iJServer

    I had used GZIP utility to zip and store the document in
    the CLOB. If i use thin drivers and GZIP to retieve this document it works fine.
    instead of thin drivers if i use oracle8iJserver defalut
    connection i get the follwing error
    :Error while getting xml document Not in GZIP format.
    your response is appreciated.
    thanks
    sanjay.

    Hi Yepin Jin,
    I am facing the same issue did you solved it?
    Regards,
    Orlando Covault

  • Date fields and compare and get the later date of the fields

    I am trying to compare these date fields and compare and get the later date of the fields
    Tables are
    TABCASER
    TABCASER1
    EVCASERS
    Field
    Are
    TABCASER1.CASER_no
    The dates are to be compared and then get the records with the highest or latest date value.
    TABCASER1.CASERRECIEVEDDATE
    EVCASERS.FINALEVDATES
    EVCASERS.PUBLICATIONDATE
    EVCASERS.PUBLICATIONDATE
    TABCASER.COMPAREACCEPDATE
    I have this code but I am trying to figure out what it all means.
    I have several questions.
    1.
    1.     greatest it is used here to compare right? How do I then output this ? do I store it to a var (coldfusion) ultimately , I wish to send it to a page of records
    2.     is it necessary to use todate? And to_date? What does this do?
    3.     decode, is this necessary too. What does this do? NULL?
    4.     
    5.     
    6.     when I do get the query results how do I send it to coldsuion and out put to a display.
    Someone sent me this code.
    is there abetter way of doing this? To compare the dates and store in a var to display. thanks
    Here is my code below:
    Greatest(
         CASE
              WHEN INSTR(TABCASER1.CASER_no,'-CE') > 0 THEN
         decode(TABCASER1.CASERRECIEVEDDATE,NULL,TO_DATE('01/01/1900','mm/dd/yyyy'),TABCASER1.CASERRECIEVEDDATE)
                             WHEN INSTR(TABCASER1.CASER_no,'-ERNIE') > 0 THEN
         decode(EVCASERS.FINALEVDATES,NULL,TO_DATE('01/01/1900','mm/dd/yyyy'),EVCASERS.FINALEVDATES)
                             WHEN INSTR(TABCASER1.CASER_no,'-MONIE') > 0 THEN
         decode(EVCASERS.PUBLICATIONDATE,NULL,TO_DATE('01/01/1900','mm/dd/yyyy'),EVCASERS.PUBLICATIONDATE)
                             WHEN INSTR(TABCASER1.CASER_no,'-NADINE') > 0 THEN
         decode(EVCASERS.PUBLICATIONDATE,NULL,TO_DATE('01/01/1900','mm/dd/yyyy'),EVCASERS.PUBLICATIONDATE)
                             ELSE
         decode(TABCASER.COMPAREACCEPDATE,NULL,TO_DATE('01/01/1900','mm/dd/yyyy'),TABCASER.COMPAREACCEPDATE)
                        END
              ,decode(TABCASER.COMPAREACCEPDATE,NULL,TO_DATE('01/01/1900','mm/dd/yyyy'),TABCASER.COMPAREACCEPDATE))
              between TO_DATE('#dateformat(form.startDate,"mm/dd/yyyy")#','MM/DD/YYYY') and TO_DATE('#dateformat(form.endDate,"mm/dd/yyyy")#','MM/DD/YYYY')
    is there abetter way of doing this? To compare the dates and store in a var to display. thanks

    Hi
    If you have date datatypes than:
    select
    greatest(TABCASER1.CASERRECIEVEDDATE, EVCASERS.FINALEVDATES, EVCASERS.PUBLICATIONDATE, EVCASERS.PUBLICATIONDATE, TABCASER.COMPAREACCEPDATE)
    from TABCASER, TABCASER1, EVCASERS
    where ...-- join and other conditions
    1. greatest is good enough
    2. to_date creates date dataype from string with the format of format string ('mm/dd/yyyy')
    3. decode(a, b, c, d) is a function: if a = b than return c else d. NULL means that there is no data in the cell of the table.
    6. to format the date for display use to_char function with format modell as in the to_date function.
    Ott Karesz
    http://www.trendo-kft.hu

  • I haven't set up my game center with my apple id so when i am trying to set it up and get to birth date part it starts all over how do i fix this?

    I haven't set up my game center with my apple id so when i am trying to set it up and get to birth date part it starts all over how do i fix this?

    If the problem persists, you'll probably have to make another apple id, it wont take off any games or music or apps or anything you've bought it will all stay there, i have two apple id's and i don't have a problem with anything.

  • Get xml Document result via Toplink.

    Hi.
    I want to get XML Document result instead of the entities of the table by using the Toplink.
    Who have some advices?
    Thanks.

    Please try the toplink forum.

  • XPATH in a XML Document

    Hi guys, I need again your help.
    I have many xml documents and I need create a class that "search" data at this xml documents. What I can do this!?!?
    For example, I wanna get the Paul ages in the age.xml document!!!!! I wanna create a method like this:
    SearchXmlfile search = new SearchXmlFile();
    String result = search.get("/person@age[person@attribute = 'paul']"); //I pass the xpath like parameter
    Someone know What I can do this?!!?
    Just another question. When I create a transformer I set the Source and Result "Objects" (SAX, DOM or Stream). And where i set the xsl file?!!? I am reading the jwsdp tutorial and I don't understand where I configure the xsl file transformer to the transformer object!!!!
    Thanks Again.
    Giscard.

    1. For selecting nodes with an XPath expression parse with the JDom parser and select nodes with the XPath class.
    http://www.jdom.org/
    2. Set the stylesheet in the Transformer.
               DocumentBuilderFactory factory =
                DocumentBuilderFactory.newInstance();
                DocumentBuilder builder = factory.newDocumentBuilder();
               Document document = builder.parse(new File("c:/input.xml"));
                TransformerFactory tFactory =
                    TransformerFactory.newInstance();
                StreamSource stylesource = new StreamSource(stylesheet);//Set the Stylesheet
                Transformer transformer = tFactory.newTransformer(stylesource);
                DOMSource source = new DOMSource(document);
                StreamResult result = new StreamResult(System.out);
                transformer.transform(source, result);

  • How to get xml-document in 10g in simplest way ?

    Hi,
    I'm new in xml, there are so many tools to work with xml:
    what is the simplest way to get a xml-file from 10g-database ?
    I have : 10g R2 and a xsd.file to describe the xml-structure
    thank you
    Norbert

    There is no automatic way to generate XML documents from an arbitary set of relational tables using the information contained in an XML Schema. Typically the easiest way to generate XML from relational data is to use the SQL/XML operators (XMLElement, XMLAGG, XMLAttribtues, XMLForest). There are many examples of using these operators in the forums You can validate the generated XML against the XML Schema by registering the XML Schema with XML DB and then using the XMLType.SchemaValidate() method

  • Display PDF and get possibly modified data back

    Hello
    we want to display a PDF in the SAP-GUI, either inline or external via the registered application (Adobe Reader, Adobe Acrobat or whatever).
    If the user has an application that is capable of editing a PDF-Document, we need to get the document's new data to store it in a document server under a new version.
    So is there any possibility to display a PDF and register some sort of callback that is triggered and gets passed the document's data (in any format)?
    The only solution I found so far, is to display a PDF Form with Adobe Reader extensions and send the entered form-data via a service-call, initiated by embedded Java-Script in the PDF, back to the server. We need however the document's full data and we are going to display normal PDF documents that have no form-fields.
    Thanks alot

    Hi Kai,
    To be generic, SAP Adobe Forms are similar to Smartforms when it comes to form designing and printing.
    The added advantages include, you can have online as well as offline forms where users can edit pdf's i.e. Enter Data in editable fields and can be uploaded or used as per the requirement.
    So your requirement can be surely met using SAP Adobe Forms.

Maybe you are looking for

  • Query Updation recovery in Oracle

    Is there any way I can track changes made to the database timewise. I modified a column value from front end by mistake. It actually toggles the column value in the table from 'Y' to 'N' or vice versa upon clicking it. Im not sure how many times I to

  • How can I pay my prepaid bill with a Verizon Wireless gift card?

    I have a prepaid account and when I switched to Verizon I traded my old iPhone in and was given a $200 gift card from Verizon. I made sure that you can use the gift card to pay your bill. But when I go into My Verizon, I can't find a place to pay. Do

  • Implement row-level security using Oracleu2019s Virtual Private Databases (VPD)

    Environment: Business Objects XI R2; Oracle 10g Functional Requirement: Implement row-level security using Oracleu2019s Virtual Private Databases (VPD) technology. The restriction is that the Business Objects Universe connection should use a generic/

  • Performace of httpservice

    I have recently written a flex app that downloads some xml data from a URL using HTTPService to call a php script and return xml. This works fine as it is a v. simple app, but what if there were many requests to this URL. A friend told me to use amfp

  • Decoding USB Prober output on iMac

    I'm troubleshooting a USB issue with an old joystick device. I can't find explanations to the various fields in USB Prober, i.e. what are the consequences of specific values/labels. I would like to verify that this device will not work with OS Maveri