Response with multiple namespaces...

Hi there!
We have several webservices working as "document", they receive a XML document and send a XML document as response.
The problem is that the returned document has a namespace prefix for each XML tag. All of then with the same name space:
[n1:enviar_ofersecResponse xmlns:n1="a name space"]
[n2:IdentificacionMensaje xmlns:n2="a name space" v="respuesta_ofersecen01_20040921.1"/]
[n3:FechaHoraMensaje xmlns:n3="a name space" v="2004-09-21T12:07:30+02:00"/]
[n4:IdentificacionRemitente xmlns:n4="a name space" v="HC_G"/]
[n5:FuncionRemitente xmlns:n5="a name space" v="A08"/]
... and so on...
How avoid this different prefix with the same name space for each tag?. Our xml documents are big... about 5 M... so it's a waste of space and time process all those prefix and namespaces...
Thanks in advance!.

Hello,
We are experiencing this as well as we are upgrading from WLS 7.0 to 8.1. WLS 7.0 worked as expected. We made no changes to the webservices.xml between 7.0 and 8.1. This response element snippet is an example of 7.0 compared to 8.1:
***BEFORE - wls 7***
  <ns1:memberFound>Y</ns1:memberFound>
***AFTER - wls 8.1***
<ns1:memberFound xmlns:ns1="http://www.definityhealth.com/webservice/member/memberlookup">Y</ns1:memberFound>
I'm pursuing this with support and will report back findings here.
thanks,
chad.

Similar Messages

  • XML Structured Index with multiple namespaces

    Hi,
    I'm having some trouble creating an xmlindex with structured component on a clob xmltype column without registered schema, whose data uses multiple namespaces.
    The code I'm using atm:
    CREATE TABLE "DECLARATIONS"
        "ID" NUMBER(19,0),
        "XML" "SYS"."XMLTYPE"
    CREATE INDEX decl_header_ix ON "DECLARATIONS"(xml) INDEXTYPE IS XDB.XMLINDEX
      PARAMETERS ('PATHS (INCLUDE (/emcs:emcsDeclaration/emcs:header//*)
                          NAMESPACE MAPPING (xmlns:emcs="http://www.myurl.eu/myapp/schema/emcs/nl"))');
    INSERT INTO "DECLARATIONS" VALUES (1,'
    <?xml version = ''1.0'' encoding = ''UTF-8'' standalone = ''yes''?>
    <emcs:emcsDeclaration xsi:schemaLocation="http://www.myurl.eu/myapp/schema/emcs/nl emcs_domain.xsd"
    xmlns:common="http://www.myurl.eu/myapp/schema/common"
    xmlns:emcs="http://www.myurl.eu/myapp/schema/emcs/nl"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
       <emcs:header>
          <common:identifier>70</common:identifier>
          <common:declarationSequenceNumber>54566</common:declarationSequenceNumber>
          <common:dateCreated>2010-10-21-01:00</common:dateCreated>
          <common:status>01 Draft e-AAD in preparation</common:status>
       </emcs:header>
    </emcs:emcsDeclaration>');A this moment it's not desirable for us to register the schemas used in oracle. According to the documentation I should be able to add a structured component to the index as follows:
    BEGIN
          DBMS_XMLINDEX.registerParameter('MY_XSI_GROUP_PARAMETER'
                  , 'ADD_GROUP GROUP MY_XSI_GROUP
                   XMLTABLE decl_header
                   XMLNAMESPACES (''http://www.myurl.eu/myapp/schema/emcs/nl'' AS emcs,
                           ''http://www.myurl.eu/myapp/schema/common'' AS common),
                        COLUMNS
                  status VARCHAR2(30)  PATH ''/emcs:emcsDeclaration/emcs:header/common:status/text()''
       END;
    ALTER INDEX DECL_HEADER_IX PARAMETERS('PARAM MY_XSI_GROUP_PARAMETER');However this results in an ORA-00904: invalid identifier. After some experimenting it seems that oracle tries to parse the namespace URLs as identifiers (even tho http://download.oracle.com/docs/cd/E14072_01/appdev.112/e10492/xdb_indexing.htm#BCGJAAGH & http://download.oracle.com/docs/cd/E14072_01/appdev.112/e10492/xdb_xquery.htm#BABJCHCC specify the former), so I swapped them around:
    BEGIN
          DBMS_XMLINDEX.dropParameter('MY_XSI_GROUP_PARAMETER');
          DBMS_XMLINDEX.registerParameter('MY_XSI_GROUP_PARAMETER'
              , 'ADD_GROUP GROUP MY_XSI_GROUP
              XMLTABLE decl_header
              XMLNAMESPACES (emcs ''http://www.myurl.eu/myapp/schema/emcs/nl'',
              common ''http://www.myurl.eu/myapp/schema/common''),
              COLUMNS
              status varchar2(30)  PATH ''/emcs:emcsDeclaration/emcs:header/common:status/text()''
       END;
    ALTER INDEX DECL_HEADER_IX PARAMETERS('PARAM MY_XSI_GROUP_PARAMETER');Oracle seems to get a bit further with this, resulting in a ORA-19102: XQuery string literal expected. Here I pretty much hit a dead end. Removing the xmlnamespaces declaration altogether leads to a ORA-31013: Invalid XPATH expression. Going through the examples on http://www.liberidu.com/blog/?p=1805 works fine, but as soon as I try to add namespaces to it they stop working as well.
    So my question is: how do I get xmlnamespaces (with non-default namespaces) to work in a structured xmlindex component?

    If you want, I can help you tomorrow. Call me at my nieuwegein office or mail me at marco[dot]gralike[at]amis[dot]nl
    I have some time tomorrow, so I can help you with this. My next presentation for UKOUG will be on XML indexes strategies anyway...
    In the meantime and/or also have a look at:
    XML Howto's (http://www.liberidu.com/blog/?page_id=441) specifically:
    XML Indexing
    * Unstructured XMLIndex (part 1) – The Concepts (http://www.liberidu.com/blog/?p=228)
    * Unstructured XMLIndex (Part 2) – XMLIndex Path Subsetting (http://www.liberidu.com/blog/?p=242)
    * Unstructured XMLIndex (Part 3) – XMLIndex Syntax Dissected (http://www.liberidu.com/blog/?p=259)
    * Unstructured XMLIndex Performance and Fuzzy XPath Searches (http://www.liberidu.com/blog/?p=310)
    * Structured XMLIndex (Part 1) – Rules of Numb (http://www.liberidu.com/blog/?p=1791)
    * Structured XMLIndex (Part 2) – Howto build a structured XMLIndex (http://www.liberidu.com/blog/?p=1798)
    * Structured XMLIndex (Part 3) – Building Multiple XMLIndex Structures (http://www.liberidu.com/blog/?p=1805)
    The posts were based on Index for XML with Repeated Elements maybe that is a bit better to read than on my notepad on the internet (aka blog)
    Edited by: Marco Gralike on Oct 28, 2010 7:51 PM

  • XPath expression with multiple namespaces?

    Hello all.
    I have been scouring the forums and Google and can't seem to find anything similar to my problem.
    I have the following XML with three namespaces. Two are defined in the root element and the third is defined in the the IdSession element. To make things even more confusing, the second and third namespaces have the same prefix, 'f'.
    This is the xml:
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <NamespaceTestCall xmlns="http://my.default/namespace"
    xmlns:f="http://my.second/namespace">
    ...<f:Level1>
    ......<f:IdSession xmlns:f="http://my.third/namespace">12345</f:IdSession>
    ......<Language>ENG</Language>
    ...</f:Nivel1>
    </NamespaceTestCall>
    My question is, how do I get at the IdSession element? Don't I need to create an XPath object and assign it more than one NamespaceContext?
    This is what I am doing:
    Document xmlDocument = loadXML(xmlSource);
    XPath xpathEvaluator = XPathFactory.newInstance().newXPath();
    xpathEvaluator.setNamespaceContext(new NamespaceContextProvider("a", "http://my.third/namespace"));
    ... xpathEvaluator.evaluate("//a:IdSession", ...);
    This code works but it might not return the 'IdSession' I want, since by searching like this '//a:IdSession' it is looking in the whole document. If there were another 'IdSession' somewhere else in the document with the same URI, it would be returned. I want the 'IdSession' that lives inside of 'Level1'.
    So what I would like to do is something like this:
    ... xpathEvaluator.evaluate("/*/Level1/a:IdSession", ...);
    But this does NOT work because 'Level1' has its own namespace. So what it seems like I need to do is the following:
    ... xpathEvaluator.evaluate("/*/b:Level1/a:IdSession", ...);
    Having already added the 'Level1' namespace to the XPath object, with the prefix 'b'. But unlike JDOM, there is no 'add' functionality, only 'set', meaning if you call set twice the second call overwrites the first.
    Is there anyway to do this?
    Many thanks!
    Bob

    Hello,
    Sorry, that was my bad. I should have explained that NamespaceContextProvider is nothing more than my implementation of the NamespaceContext interface. The way I did it, I simply implemented getNamespaceURI() and getPrefix(). And the constructor accepted two parameters -- prefix and URI. So my problem was that when I assigned this NamespaceContext to my XPath object it would only have one prefix and one URI.
    But I found an implementation here:
    http://www.oreillynet.com/cs/user/view/cs_msg/50304
    that instead of only having one prefix and URI uses a map. Thus its method setNamespace() adds the prefix and URi to the map, and getPrefix() and getPrefixes() retrieve them from the map.
    Now when I want to use more than one namespace I simply call setNamespace() as many times as necessary, adding a prefix and URI pair each time, and when I am done I assign it to my XPath object.
    And it works!
    Thanks for the response!
    Bob

  • XSD validation with multiple namespaces

    Hi All,
    I'm trying to validate some XML using an XSD that contains multiple namespace schema descriptions, as such, the main XSD file must import an XSD for each namespace.
    The difficulty is that I cannot seem to find a way (in Oracle) to run a XSD validation using this (multi-XSD file) method.
    Has anyone out there tackled a similar problem?
    Cheers,
    Ben

    check out the class
    CL_XML_SCHEMA
    Regards
    Raja

  • Using xpath.evaluate(): xpath exp with multiple namespaces

    Hi,
    I have to evaluate a xpath expression with parent node and child node having different namespaces. Like : env:parent/mig:child.
    I have set the namespacecontext for the child node[i.e., for the prefix 'mig'.]
    But am getting this error :
    javax.xml.transform.TransformerException: Prefix must resolve to a namespace: env
    How can I set the namespace context for both the parent and child nodes? Or is there are any other way of doing it?
    I cant use //mig:child as the requirement needs the whole xpath expression [env:parent/mig:child] to be given as input for the xpath.evaluate() method.
    Here's the code :
    File file = new File("D:\\Backup\\XMLs\\test.xml");
    Document xmlDocument = builder.parse(file);
    XPath xpathEvaluator = XPathFactory.newInstance().newXPath();
    xpathEvaluator.setNamespaceContext(new NamespaceContextProvider("env", "http://xmlns.oracle.com/apps/account/1.0"));
    NodeList nodeList =
    (NodeList)xpathEvaluator.evaluate("/env:parent/mig:child", xmlDocument,
    XPathConstants.NODESET);
    xpathEvaluator.setNamespaceContext(new NamespaceContextProvider("mig", "http://xmlns.oracle.com/apps/account/1.0"));
    Thanks in advance.

    If you want, I can help you tomorrow. Call me at my nieuwegein office or mail me at marco[dot]gralike[at]amis[dot]nl
    I have some time tomorrow, so I can help you with this. My next presentation for UKOUG will be on XML indexes strategies anyway...
    In the meantime and/or also have a look at:
    XML Howto's (http://www.liberidu.com/blog/?page_id=441) specifically:
    XML Indexing
    * Unstructured XMLIndex (part 1) – The Concepts (http://www.liberidu.com/blog/?p=228)
    * Unstructured XMLIndex (Part 2) – XMLIndex Path Subsetting (http://www.liberidu.com/blog/?p=242)
    * Unstructured XMLIndex (Part 3) – XMLIndex Syntax Dissected (http://www.liberidu.com/blog/?p=259)
    * Unstructured XMLIndex Performance and Fuzzy XPath Searches (http://www.liberidu.com/blog/?p=310)
    * Structured XMLIndex (Part 1) – Rules of Numb (http://www.liberidu.com/blog/?p=1791)
    * Structured XMLIndex (Part 2) – Howto build a structured XMLIndex (http://www.liberidu.com/blog/?p=1798)
    * Structured XMLIndex (Part 3) – Building Multiple XMLIndex Structures (http://www.liberidu.com/blog/?p=1805)
    The posts were based on Index for XML with Repeated Elements maybe that is a bit better to read than on my notepad on the internet (aka blog)
    Edited by: Marco Gralike on Oct 28, 2010 7:51 PM

  • Complex xml with multiple namespaces giving LPX-00601: Invalid token error

    Hi
    Apologies if this is a really simple question.
    I have not worked with xml before and I'm drowning in different ways to do the extract.
    I have a very complex xml, sample below, which I'm trying to do one siple extract to get myself going.
    I have the data in a table in an xmltype column,
    I am trying to extract containernumber first and get the error.
    select xml_column, extract(xml_column,'/env:Envelope/env:Body/ns0:QueryCntrNumberResponse/ns0:QueryResContainerDetail/ns1:ContainerNumber/ns2:ContainerNumber')
    from test_xml;
    Not sure if I should use the namespaces and have tried without but results are always NULL
    I would really appreciate any pointers around these ultiple namespaces.
    Thanks
    Nicki
    XML Sample
    <?xml version="1.0" encoding="UTF-8"?>
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
                  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xmlns:ns0="http://com.cargosmart.cargotracking.webservice.cntr.dto"
                  xmlns:ns1="http://com.cargosmart.cargotracking.webservice.common.dto"
                  xmlns:ns2="http://com.cargosmart.cargotracking.webservice.basic.dto"
                  xmlns:ns3="http://com.cargosmart.cargotracking.webservice.bl.dto"
                  xmlns:ns4="http://com.cargosmart.cargotracking.webservice.bkg.dto">
      <env:Body>
        <ns0:QueryByCntrNumberResponse>
          <ns0:QueryRes ult="">
            <ns0:QueryCriteria>
              <ns1:CarrierSCACCode>APLU</ns1:CarrierSCACCode>
              <ns1:ContainerNumber>APZU344693-1</ns1:ContainerNumber>
            </ns0:QueryCriteria>
            <ns0:ContainerDetail>
              <ns1:ContainerNumber>
                <ns2:ContainerNumber>APZU344693</ns2:ContainerNumber>
                <ns2:ContainerCheckDigit>1</ns2:ContainerCheckDigit>
                <ns2:GrossWeight>
                  <ns2:Weight>20260.8</ns2:Weight>
                  <ns2:WeightUnit>KGS</ns2:WeightUnit>
                </ns2:GrossWeight>
              </ns1:ContainerNumber>
    NOT THE FULL COLUMN

    Could I just ask you one more question.
    I had already expanded the query to include the repeating sections using xmlsequence.
    Has that been replaced too?
                select extractvalue(xml_column,'/env:Envelope/env:Body/ns0:QueryByCntrNumberResponse/ns0:QueryResult/ns0:ContainerDetail/ns1:ContainerNumber/ns2:ContainerNumber',
                  'xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" 
                  xmlns:ns0="http://com.cargosmart.cargotracking.webservice.cntr.dto"
                  xmlns:ns1="http://com.cargosmart.cargotracking.webservice.common.dto"
                  xmlns:ns2="http://com.cargosmart.cargotracking.webservice.basic.dto"
                  xmlns:ns3="http://com.cargosmart.cargotracking.webservice.bl.dto"
                  xmlns:ns4="http://com.cargosmart.cargotracking.webservice.bkg.dto"') col1,
                  extractvalue(value(t2),'/ns1:Event/ns1:EventDescription', 'xmlns:ns1="http://com.cargosmart.cargotracking.webservice.common.dto"') Event_Description,
                  extractvalue(value(t2),'/ns1:Event/ns1:EventDT/ns2:LocDT', 'xmlns:ns1="http://com.cargosmart.cargotracking.webservice.common.dto" xmlns:ns2="http://com.cargosmart.cargotracking.webservice.basic.dto"') Event_DT,
                  extractvalue(value(t2),'/ns1:Event/ns1:Location/ns2:LocationName', 'xmlns:ns1="http://com.cargosmart.cargotracking.webservice.common.dto" xmlns:ns2="http://com.cargosmart.cargotracking.webservice.basic.dto"') location
    from test_xml t1,
    table(xmlsequence(extract(t1.xml_column,'/env:Envelope/env:Body/ns0:QueryByCntrNumberResponse/ns0:QueryResult/ns0:ContainerDetail/ns1:Event','xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" 
                  xmlns:ns0="http://com.cargosmart.cargotracking.webservice.cntr.dto"
                  xmlns:ns1="http://com.cargosmart.cargotracking.webservice.common.dto"
                  xmlns:ns2="http://com.cargosmart.cargotracking.webservice.basic.dto"
                  xmlns:ns3="http://com.cargosmart.cargotracking.webservice.bl.dto"
                  xmlns:ns4="http://com.cargosmart.cargotracking.webservice.bkg.dto"'))) t2;

  • Read XML response with multiple root elements

    Hi ,
    I am trying to achieve the below scenario but unable to do so.Please help urgently.
    I am getting a response from a service which has multiple root elements.these root elements can change at runtime..I need to read the different root elements and extract data from its sub elements.
    Regards...
    Hoping for an anwser..

    i assume on runtime the service just returns 1 rootnode, but this rootnode can change
    you could use a switch after the invoke
    if $response/myroot1
    assign $response/myroot to myroot1_var
    if $response/myroot2
    assign $response/myroot to myroot2_var
    etc
    so you check what's in the root node before you assign to you temp variable
    or if you have logic which is specific based on this root nod you can just implement all these branches in the switch and execute logic in there based on the selected rootnode
    several implementations are possible

  • HTTPURLConnection response with multiple Set-Cookie Header key

    I set up a connection to a server and it gives me a response. This response has two header keys but when I loop through like so many reference and how-to sites tell me I only get one and its the last value.
    This is some code that I'm using:
    for (int i=1; (headerName = conn.getHeaderFieldKey(i))!=null; i++) {
         System.out.println(headerName);
         if (headerName.equals("Set-Cookie")) {                 
                     cookie += conn.getHeaderField(i);   }           
         }Has anyone attempted this successfully? This code was copy and pasted from an example claimed to work but I used it myself and it doesn't work.
    This is the response message:
    HTTP/1.1 302 Moved Temporarily
    Date: Mon, 16 Feb 2009 03:47:47 GMT
    Server: Apache
    Set-Cookie: JSESSIONID=E7C54E0ECE8CCFD89EF91FF8A47E34BC; Path=/
    Location: http://<SITEURL>/redirecting.jsp
    Content-Length: 0
    P3P: CP="CAO DSP COR CURa ADMa DEVa OUR IND PHY ONL UNI COM NAV INT DEM PRE PSA"
    Keep-Alive: timeout=15, max=15
    Connection: Keep-Alive
    Content-Type: text/html;charset=ISO-8859-1
    Set-Cookie: BIGipServerI2O_pool_A=1815557130.20480.0000; path=/

    I just read in the Bug database that this is a JDK 1.4 bug, with no workaround proposed. I am using JDK 1.3.
    Does anyone out there know about a workaround or what other scheme I could use to do the same thing? (For me it's necessary to set at least the User-Agent and the Cookie headers).

  • Issue with extracting node values of an XMLElement with multiple namespaces

    I have created a Table with XMLType Column
    CREATE TABLE xmlNode
    ( ID numeric(10) primary key,
    DATA XMLType);
    Then inserted one row
    INSERT INTO xmlNode(ID, DATA) VALUES(1, '<lineItemElement orderLineItemID="12323" transactionType="New" xmlns="http://rcss.bell.ca/schema/lineitemmessages">
    <rcss:catalogeID xmlns:rcss="http://rcss.bell.ca/schema/PartnerBatch">3234</rcss:catalogeID>
    <rcss:venueID xmlns:rcss="http://rcss.bell.ca/schema/PartnerBatch">345345</rcss:venueID>
    <rcss:startDate xmlns:rcss="http://rcss.bell.ca/schema/PartnerBatch">2007-09-10T00:00:00Z</rcss:startDate>
    <rcss:endDate xmlns:rcss="http://rcss.bell.ca/schema/PartnerBatch">2007-09-10T00:00:00Z</rcss:endDate>
    <rcss:contact contactID="234234" xmlns:rcss="http://rcss.bell.ca/schema/PartnerBatch">
    <rcss:address>
    <rcss:streetAddress1>?asdsd</rcss:streetAddress1>
    <rcss:streetAddress2>?sdss</rcss:streetAddress2>
    <rcss:city>?ddf</rcss:city>
    <rcss:province>?sdcfsdcf</rcss:province>
    <rcss:country>sds</rcss:country>
    <rcss:postalCode>1121332</rcss:postalCode>
    </rcss:address>
    </rcss:contact>
    </lineItemElement>')
    Then i ran:
    SELECT
    extractValue(data,'/lineItemElement/rcss:catalogeID','xmlns=http://rcss.bell.ca/schema/lineitemmessages, xmlns:rcss=http://rcss.bell.ca/schema/PartnerBatch')
    from xml where id=1
    There is nothing returned.
    Please advise how could I get the node value when there is namespace?
    I know how to extract values if there is one namespace but i'm not able to extract values if there are two namespaces.
    Any help is appreciable!!
    Thanks in Advance.

    I fixed that problem too. What I thought was a singleton was actually a repeating element. I needed to be able to "multiply" the repeating node for the main node, but I couldn't find a concise way of doing this in SQL. So instead I did it in with two loops.
    FOR rec IN (
    SELECT
         extractvalue(value(e), 'surchargeEntry/company',p_namespace) company
         ,extractvalue(value(e), 'surchargeEntry/surchargeType',p_namespace) surcharge_type
         ,extractvalue(value(e), 'surchargeEntry/shortDescription',p_namespace) short_description
         ,extractvalue(value(e), 'surchargeEntry/longDescription',p_namespace) long_description
         ,e.column_value surcharge_entry_xml
         FROM TABLE(xmlsequence(extract(p_xml, 'surchargeInquiryResponse' ||
         '/surchargeAttributes/surchargeEntry'
                                                                                    ,p_namespace))) e
    ) LOOP
    FOR rec_country IN (
    SELECT
         extractvalue(value(c), 'country/originationCountry',p_namespace) origination_country
         ,extractvalue(value(c), 'country/destinationCountry',p_namespace) destination_country
         FROM TABLE(xmlsequence(extract(rec.surcharge_entry_xml, 'surchargeEntry/country',p_namespace))) c
    LOOP
    nafta_fee_obj.append_surcharge_entry_data(
              v_arr
              ,r_surcharge_entry(
              rec.company
              ,rec.surcharge_type
              ,rec.short_description
              ,rec.long_description
              ,rec_country.origination_country
              ,rec_country.destination_country
    END LOOP;
    END LOOP;
    I populate a collection, which is easy to pass around between routines. I can easily convert the collection to a ref cursor, and index-by array, comma-delimited string, etc.
    Apparently, the namespace is required in SQL, but not in staright PL/SQL.
    I've also noticed that the docs say xmltype() has all these member functions, but when I try to use some of them, I get an error that it's undefined. Like getNumVal(). There are some functions I can use in SQL, or PL/SQL, but not vice-versa.
    - Dan Clamage

  • XMLTable with multiple namespaces

    I have a web service that returns the following XML:
    <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
       <s:Body>
          <GetGeoLocationIDByWellTagIDResponse xmlns="http://tempuri.org/">
             <GetGeoLocationIDByWellTagIDResult xmlns:a="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
                <a:int>9110910</a:int>
             </GetGeoLocationIDByWellTagIDResult>
          </GetGeoLocationIDByWellTagIDResponse>
       </s:Body>
    </s:Envelope>There is the possibility of more than one Int being returned, so I am trying to use xmltable to pull out this information. But I am having some difficulty pulling out the ID node, because (I am guessing) the node is named "a:int". Here is an example of how I am attempting to get this data:
    select x.*
    from
    (select xmltype.createxml('<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
       <s:Body>
          <GetGeoLocationIDByWellTagIDResponse xmlns="http://tempuri.org/">
             <GetGeoLocationIDByWellTagIDResult xmlns:a="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
                <a:int>9110910</a:int>
             </GetGeoLocationIDByWellTagIDResult>
          </GetGeoLocationIDByWellTagIDResponse>
       </s:Body>
    </s:Envelope>') xml from dual) t,
    xmltable(
    xmlnamespaces (
    'http://tempuri.org/' as "e",
    'http://schemas.microsoft.com/2003/10/Serialization/Arrays' as "a"),
    '//e:GetGeoLocationIDByWellTagIDResponse/a:GetGeoLocationIDByWellTagIDResult'
    passing t.xml
    columns
    loc_id int path 'a:int'
    ) x;This just returns null.
    How do I references the "a:int" node in the columns clause to correctly get this record back?

    SQL> with sample_data as (
      2    select xmltype('<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
      3     <s:Body>
      4        <GetGeoLocationIDByWellTagIDResponse xmlns="http://tempuri.org/">
      5           <GetGeoLocationIDByWellTagIDResult xmlns:a="http://schemas.microsoft.com/2003/10/Serialization/Arrays" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
      6              <a:int>60395867</a:int>
      7              <a:int>7948500</a:int>
      8              <a:int>2282774</a:int>
      9              <a:int>47054172</a:int>
    10              <a:int>47434315</a:int>
    11              <a:int>52639251</a:int>
    12           </GetGeoLocationIDByWellTagIDResult>
    13        </GetGeoLocationIDByWellTagIDResponse>
    14     </s:Body>
    15  </s:Envelope>') xml
    16    from dual
    17  )
    18  select x.loc_id
    19  from sample_data t
    20     , xmltable(
    21         xmlnamespaces (
    22           'http://schemas.microsoft.com/2003/10/Serialization/Arrays' as "a"
    23         , 'http://schemas.xmlsoap.org/soap/envelope/' as "s"
    24         , default 'http://tempuri.org/'
    25         )
    26       , '/s:Envelope/s:Body/GetGeoLocationIDByWellTagIDResponse/GetGeoLocationIDByWellTagIDResult/a:int'
    27         passing t.xml
    28         columns
    29           loc_id number path '.'
    30       ) x
    31  ;
        LOC_ID
      60395867
       7948500
       2282774
      47054172
      47434315
      52639251
    6 rows selected

  • Extract on xmltype with multiple namespaces

    Given the following xml instance document can you share an example to retrieve the data of the <TransactionNumber> and <IdValue> elements using the XMLType data type. This document is generated by XBD and has 3 different namespaces.
    declare
    lv_xml xmltype := xmltype(
    '<ConfirmAddStudentDeposit xmlns="urn:sungardsct:udc:ws:messages:1.0">
         <StudentDepositIdentifier>
              <AccountIdentifier xmlns="urn:sungardsct:udc:domain:ar:1.0">
                   <IdValue xmlns="urn:sungardsct:udc:resources:common:1.0" name="BannerUID">210009102</IdValue>
              </AccountIdentifier>
              <TransactionNumber xmlns="urn:sungardsct:udc:domain:ar:1.0">8</TransactionNumber>
              <ReceiptNumber xmlns="urn:sungardsct:udc:domain:ar:1.0">1606</ReceiptNumber>
         </StudentDepositIdentifier>
    </ConfirmAddStudentDeposit>');
    lv_frag xmltype;
    begin
    lv_frag := lv_xml.extract('/ConfirmAddStudentDeposit/StudentDepositIdentifier/TransactionNumber', 'xmlns="urn:sungardsct:udc:ws:messages:1.0" xmlns="urn:sungardsct:udc:domain:ar:1.0"');
    if lv_frag is null then
    dbms_output.put_line('NO good');
    else
    dbms_output.put_line('maybe working');
    end if;
    end;

    You'll need to use prefixs or namespaces
    declare
    lv_xml xmltype := xmltype(
    '<ConfirmAddStudentDeposit xmlns="urn:sungardsct:udc:ws:messages:1.0">
    <StudentDepositIdentifier>
    <AccountIdentifier xmlns="urn:sungardsct:udc:domain:ar:1.0">
    <IdValue xmlns="urn:sungardsct:udc:resources:common:1.0" name="BannerUID">210009102</IdValue>
    </AccountIdentifier>
    <TransactionNumber xmlns="urn:sungardsct:udc:domain:ar:1.0">8</TransactionNumber>
    <ReceiptNumber xmlns="urn:sungardsct:udc:domain:ar:1.0">1606</ReceiptNumber>
    </StudentDepositIdentifier>
    </ConfirmAddStudentDeposit>');
    lv_frag xmltype;
    begin
    lv_frag := lv_xml.extract('/a:ConfirmAddStudentDeposit/a:StudentDepositIdentifier/c:TransactionNumber', 'xmlns:a="urn:sungardsct:udc:ws:messages:1.0" xmlns:c="urn:sungardsct:udc:domain:ar:1.0"');
    if lv_frag is null then
    dbms_output.put_line('NO good');
    else
    dbms_output.put_line('maybe working');
    end if;
    end;

  • View responses with multiple users

    When i publishes a document, others can't see the responses.
    We use the same acrobat.com account. In their tracker they can't
    see the responses of my published file, although they use the same
    Acrobat.com account. We use Acrobat Pro 9 and Tracker to manage our
    PDF files.

    We set up a response document as a team. This document is
    distributed to acrobat.com and is an open access document which is
    linked to on a website. Customers fill in the document en responses
    should be visible to the team. Only the team member whom ditributed
    the document is seeing the responses.
    Other team members cannot see the responses in their Acrobat
    tracker software (al on different Pc's), although we use the same
    Acrobat.com account settings. Is it possible to see the responses
    for all the team members on different computers?

  • XML doc with multiple namespaces

    Hi,
    a little stupid question...
    Is it possible to get a xml file that assigns two different namespaces and I don't want to use a prefix?
    example:
    xml doc uses namespace xmlns:a="someuri" and xmlns:b="otheruri"
    <?xml version="1.0" encoding="UTF-8"?>
    <Root xmlns="someuri" xmlns:b="otheruri">
    <test/>
    <b:rest/>
    </Root>
    Some way to get prefix b out of it?
    Thanx

    okay, it was a stupid question...
    solution:
    <?xml version="1.0" encoding="UTF-8"?>
    <Root xmlns="someuri" xmlns:b="otheruri">
    <test/>
    <rest xmlns="otheruri"/>
    </Root>

  • XML with multiple namespaces

    I have an XML file
    <?xml version="1.0"?>
    -<Document xmlns="http://www.taleo.com/ws/integration/toolkit/2011/05">
    +<Attributes>
    -<Content>
    -<ExportXML xmlns="http://www.taleo.com/ws/integration/toolkit/2005/07/action/export">
    -<record>
    <field name="ContestNumber">12000000RT</field>
    <field name="JobInformation,JobType,Description">Experienced</field>
    </record>
    </ExportXML>
    </Content>
    </Document>
    I am using the following file to retrieve the data
    SELECT *
       FROM XMLTable(XMLNAMESPACES('http://www.taleo.com/ws/integration/toolkit/2011/05' as "n1",
       'http://www.taleo.com/ws/integration/toolkit/2005/07/action/export' as  "n2"), '//n1:Document/Content/n2:ExportXML/record'
                passing xmltype(
                     bfilename('TEST','TALEOOUT-12-26.xml')
                     , nls_charset_id('AL32UTF8')
         columns
         ContestName varchar2(1000) path 'field[1]'
         )What am i doing wrong

    This was the code that worked.Thanks A_Non .
    SELECT *
       FROM XMLTable(XMLNAMESPACES('http://www.taleo.com/ws/integration/toolkit/2011/05' as "n1",
       'http://www.taleo.com/ws/integration/toolkit/2005/07/action/export' as  "n2"),
       '/n1:Document/n1:Content/n2:ExportXML/n2:record'
                passing xmltype(
                     bfilename('TEST','TALEOOUT-12-26.xml')
                     , nls_charset_id('AL32UTF8')
         columns
         ContestNumber VARCHAR2 (4000) path 'n2:field[1]',
         Job_Info_JobTypDesc VARCHAR2 (4000) path 'n2:field[2]',
         JobFamily VARCHAR2 (4000) path 'n2:field[3]',.........
    )Edited by: Rameshkumar T on Nov 30, 2012 10:59 AM

  • Parsing across multiple namespaces... best practice?

    Howdy all, here's my situation:
    I am attempting to create a simple interface to a particular type of webdav server which has some unusual XML data coming back, and need some advice on the best way to parse this XML.
    I have a generic "query" object which consists of a set of "Fields", a "Scope" and a set of "Constraints". This query is ultimately formed as an XML request sent to the WebDAV server. The response is also a generic "ResultSet" response, which consists of "Rows". Each Row consists of "Fields" (the same type as in the query). A Field is basically a key/value pair (all Strings), and a namespace which describes the location of the field within the WebDAV server. (obviously modelled on a JDBC-style interaction)
    I need to build a generic parser which can create a ResultSet from a raw XML document.
    For Example:
    Given a "query" with the following fields:
    FIELD 1
    namespace: urn:schemas:httpmail
    name:fromemail
    FIELD 2
    namespace: DAV
    name: id
    The query will basically say (pseudo SQL)
    "select "urn:schemas:httpmail:fromemail", "DAV:id" from <scope> where <constraints>"
    This will return an XML document something like this:
    <a:multistatus
          xmlns:a="DAV:"
          xmlns:b="urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/"
          xmlns:c="xml:"
          xmlns:d="urn:schemas:httpmail:"
          xmlns:e="urn:schemas:mailheader:">
       <a:response>
          <a:href>
                http://blah.blah.com/someurl
          </a:href>
          <a:propstat>
             <a:status>
                   HTTP/1.1 200 OK
             </a:status>
             <a:prop>
                <d:fromemail>
                     [email protected]
                </d:fromemail>
                <a:id>
                      AQsAAAAARgAgCwAAAABGeAIAAAAA
                </a:id>
             </a:prop>
          </a:propstat>
       </a:response>
       <a:response>
       </a:response>
    </a:multistatus>
    So.. I then need to create a ResultSet object, which looks like this:
    ResultSet<Object>
    |---Rows<Collection>
        |---Row<Object>
            |---Field<Object>
                |---name: fromemail
                |---namespace: urn:schemas:httpmail
                |---value: [email protected]
            |---Field<Object>
                |---name: id
                |---namespace: DAV
                |---value: AQsAAAAARgAgCwAAAABGeAIAAAAA
        |---Row<Object>
                ....As you can see, I need BOTH the value, and the original data relating to the namespace and field name in the java object returned.
    Problems I am having:
    1. Parsing multiple namespaces. The path to multistatus/response/prop/fromemail (for example) spans two namespaces, hence can't use Commons Digester
    2. Including XML element names as values in the returned object. I need/want to be able to store the XML element name (eg "fromemail") as a value in the java object returned.
    I'm looking for thoughts as to the best way to deal with this... XPath?, DOM/SAX? etc
    Any help you can provide.
    Cheers

    Howdy all, here's my situation:
    I am attempting to create a simple interface to a particular type of webdav server which has some unusual XML data coming back, and need some advice on the best way to parse this XML.
    I have a generic "query" object which consists of a set of "Fields", a "Scope" and a set of "Constraints". This query is ultimately formed as an XML request sent to the WebDAV server. The response is also a generic "ResultSet" response, which consists of "Rows". Each Row consists of "Fields" (the same type as in the query). A Field is basically a key/value pair (all Strings), and a namespace which describes the location of the field within the WebDAV server. (obviously modelled on a JDBC-style interaction)
    I need to build a generic parser which can create a ResultSet from a raw XML document.
    For Example:
    Given a "query" with the following fields:
    FIELD 1
    namespace: urn:schemas:httpmail
    name:fromemail
    FIELD 2
    namespace: DAV
    name: id
    The query will basically say (pseudo SQL)
    "select "urn:schemas:httpmail:fromemail", "DAV:id" from <scope> where <constraints>"
    This will return an XML document something like this:
    <a:multistatus
          xmlns:a="DAV:"
          xmlns:b="urn:uuid:c2f41010-65b3-11d1-a29f-00aa00c14882/"
          xmlns:c="xml:"
          xmlns:d="urn:schemas:httpmail:"
          xmlns:e="urn:schemas:mailheader:">
       <a:response>
          <a:href>
                http://blah.blah.com/someurl
          </a:href>
          <a:propstat>
             <a:status>
                   HTTP/1.1 200 OK
             </a:status>
             <a:prop>
                <d:fromemail>
                     [email protected]
                </d:fromemail>
                <a:id>
                      AQsAAAAARgAgCwAAAABGeAIAAAAA
                </a:id>
             </a:prop>
          </a:propstat>
       </a:response>
       <a:response>
       </a:response>
    </a:multistatus>
    So.. I then need to create a ResultSet object, which looks like this:
    ResultSet<Object>
    |---Rows<Collection>
        |---Row<Object>
            |---Field<Object>
                |---name: fromemail
                |---namespace: urn:schemas:httpmail
                |---value: [email protected]
            |---Field<Object>
                |---name: id
                |---namespace: DAV
                |---value: AQsAAAAARgAgCwAAAABGeAIAAAAA
        |---Row<Object>
                ....As you can see, I need BOTH the value, and the original data relating to the namespace and field name in the java object returned.
    Problems I am having:
    1. Parsing multiple namespaces. The path to multistatus/response/prop/fromemail (for example) spans two namespaces, hence can't use Commons Digester
    2. Including XML element names as values in the returned object. I need/want to be able to store the XML element name (eg "fromemail") as a value in the java object returned.
    I'm looking for thoughts as to the best way to deal with this... XPath?, DOM/SAX? etc
    Any help you can provide.
    Cheers

Maybe you are looking for

  • What monitors are compatible with MacBook Pro 13"?

    Apart from Apple Cinema, what monitors are compatible with my new MacBook Pro 13"? I need something less expensive than an Apple Cinema monitor, but large enough to reduce my neck/eye strain. I understand that it has something to do with Thunderbolt.

  • What additional plug ins needed for video

    http://veehd.com/video/3724046_Derren-Brown-Investigates-1 says I need additional plug in to play.But no plug in shown when clicked. I already downloaded DivX Plus Web Player I then get a message that a manual install is available but that brings me

  • ECM Set status authorisations

    Dear All, I am implementing ECM for BOM, but having problem during authorizations to set status  to users. As we have implemented there scenarios for ECM. 1.     Creator 2.     Reviewer 3.     Approver Now I want to set authorization as given below t

  • If I change my site do I "publish to folder"?

    Hello All, Now that I have my site up and running. If I make a change to it do I have to "publish to folder" again and then upload by FTP? Or can I make the change and my FTP program automatically finds the change when it uploads? Thanks, Mike

  • [solved]USB wont boot on some computers.

    Hi all. I have installed arch on a usb from a running arch system after doing pacman -S arch-install-scripts. It boots on my Acer Aspire One which picks it up as a USB-HDD however when I tried to boot it on a different computer it didn't work and fal