Xmlns presence prevents e4x access to XML data

I have been pulling my hair out trying to simply access data
within a tag from an XML object. When I remove the xmlns attribute
it works, otherwise it doesn't. In the code below when I remove
"xmlns=http://xyz" the List displays the data. What do I need to
add to keep this xmlns in the XML and still populate the List box?
Thanks, JH
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="
http://www.adobe.com/2006/mxml"
layout="vertical" horizontalAlign="center">
<mx:Script>
<![CDATA[
public var ydata:XML =
<theResponse xmlns="
http://xyz">
<theReturn>
<myId>1234</myId>
<myId>2345</myId>
<myOther>5678</myOther>
</theReturn>
</theResponse>;
]]>
</mx:Script>
<mx:VBox width="100%" height="100%"
horizontalAlign="center">
<mx:List width="50%" dataProvider="{ydata..myId}"
height="20%"/>
</mx:VBox>
</mx:Application>

Try declaring a default namespace. This is at the instance
socpe level:
default xml namespace = "
http://xyz";
Tracy

Similar Messages

  • Accessing XML data from a different class

    Hi all,
    I have an xml class that loads xml data, I need to access the data from another class. I have imported the xml classinto the new class and created a new instance of it. However when I try to access the xml data it is coming back as null. I understand this is almost certainly because when it is called the xml data hasn't completed it's load. How can I get round this?
    xml class:
    package {
        import flash.xml.*;
        import flash.events.*;
        import flash.net.*
        import flash.display.*
        public class xml extends MovieClip
            public var xmlRequest:URLRequest;
            public var xmlLoader:URLLoader;
            public var xmlImages:XML;
            public function xml()
                xmlRequest = new URLRequest("images.xml");
                xmlLoader = new URLLoader(xmlRequest)
                xmlLoader.addEventListener(Event.COMPLETE, xmlLoaded);
                xmlLoader.load(xmlRequest);
            private function xmlLoaded(event:Event):void
                trace(xmlLoader.data);
                xmlImages = new XML(xmlLoader.data);
    Thanks in advance

    One of the ways:
    package {
         import flash.xml.*;
        import flash.events.*;
        import flash.net.*
        import flash.display.*
        public class XMLLoader extends EventDispatcher
              public var xmlRequest:URLRequest;
              public var xmlLoader:URLLoader;
              public var xmlImages:XML;
              public function XMLLoader()
              public function loadXML(url:String):void {
                   xmlLoader = new URLLoader()
                   xmlLoader.addEventListener(Event.COMPLETE, xmlLoaded);
                   xmlLoader.load(new URLRequest(url));
              private function xmlLoaded(event:Event):void
                   trace(xmlLoader.data);
                   xmlImages = new XML(xmlLoader.data);
                   dispatchEvent(event);
    Usage:
    var xmlLoader:XMLLoader = new XMLLoader();
    xmlLoader.addEventListener(Event.COMPLETE, onXMLLoad);
    xmlLoader.loadXML("images.xml"):
    function onXMLLoad(e:Event):void{
         trace(xmlLoader.xmlImages);

  • Import xml data in Access when multiple rows use the same fieldname

    HI.
    First of all sorry for my english :-) I have a LiveCycle Designer ES form with multiple rows that I send via e-mail as XML data.
    example:
    Row 1
    Firstname: John  Lastname: Dow
    Row 2
    Firstname: Steve  Lastname: Austin
    The exported XML is OK but when I want to import it into my Access database, only one row is imported. I pretty sure that the problem comes from the fact that may exported XML use the same fieldname (what is important if I want to import data in the correct Access field) but I don't know what to do to be able to import all the rows of the same Form.
    Any idea?
    Thanks a lot
    Frederic

    Hi Viktor,
    In case of order recognition rules you should increase the relevancy in the newer version of the cartridge so appropriate ORR will be triggered. In other xqueries, you can try using new namespace as a model variable for each and every version of the cartridge
    Regards,
    JP

  • XML data access

    I've been looking at Spry now since it was announced trying
    to figure out if I can use it for a project I'm starting. I love
    the HTML markup nature and how it allows you to simplify they
    creation of a page. It reminds me of Tapestry or Clay in how you
    can imbed some custom HTML tags and don't have to recreate the
    design of a page in JavaScript code.
    I'm having a bit of trouble with the XML data flattening that
    occurs and the selection model. It makes for some really nice
    master-detail pages, but is too restrictive for other uses.
    Here's what I'm wanting to do. I have this XML:
    <group id="g1">
    <app id="a1">
    <os>Mac</os> <os>Windows</os>
    </app>
    <app id="a2">
    <os>Linux</os> <os>AS400</os>
    <app>
    </group>
    I'd like to end up with this result:
    <dl>
    <dt>a1<dt>
    <dd><li>Mac</li>
    <li>Windows</li></dd>
    <dt>a2<dt>
    <dd><li>Linux</li>
    <li>AS400<li></dd>
    </dl>
    I want to display multiple levels of the XML at the same
    time. Normally, I'd just loop through the list of APP's, and then
    loop through the list of OS's to create this. But because of the
    way Spry flattens XML data and doesn't make available children, I
    can't get the behavior I want. When I load in this XML, I could
    subsequently run through the list of applications, create new data
    sets for each application getting the OS items, and add the dataset
    as an item to each row in the APP's dataset or stick it in some
    other associative array. But I haven't been able to figure out how
    to access that information in a loop inside a loop. For all I know,
    there isn't even a way to have a loop inside a loop.
    What I really need / want is to be able to access any value
    in my XML document at any time. I envision the markup to achieve
    what I want as something like this:
    var dsApps = new Spry.Data.XMLDataSet(url, '/app'); // <--
    specifying URL would give me an array of the XML nodes for that
    path
    <span spryregion="dsApps">
    <dl>
    <!-- have added 'spryvalue' which applies a label to the
    iteration value -->
    <span spryrepeatchildren="dsApps" spryvalue="app">
    <!-- Access to data could be one of three ways
    'dataset:label:path', 'label:path', or 'path' with parts that are
    left out being automatically calculated from current environment
    -->
    <dt>{dsApps:app:@id} {app:@id} {@id} - all should be
    same</dt>
    <!-- Here we want to iterate over the OS items below the
    current app node. We identify this with the form 'path' value.
    Repeats would presume you are specifying a dataset, not a path
    -->
    <dd spryrepeatchildren='app:os">
    <!-- I can specify a value from a my parent loop, and the
    {os} defaults to the current loop -->
    <li>{app:@id} - {os}</li>
    </dd>
    </dl>
    </span>
    I don't have all the answers, but if I could access any data
    in the XML document, that would just seem to allow more complicated
    XML structures without resorting to numerous tricks or just being
    completely unable to do what I want.
    -d

    I can't send the file as it indeed does hold confidential
    data, however the expressions I was using were:
    var dsActivities = new Spry.Data.XMLDataSet("activities.xml",
    "activities/activity");
    var dsActivityDetails = new
    Spry.Data.XMLDataSet("activities.xml", "activities/activity[title =
    '{dsActivities::title}']");
    var dsAudience = new Spry.Data.XMLDataSet("activities.xml",
    "activities/activity[title =
    '{dsActivities::title}']/audiences/audience");
    And a snippet of the XML:
    <?xml version="1.0"?>
    <activities lastUpdated="3/20/2006">
    <activity>
    <activityID>1</activityID>
    <title>Foo</title>
    <dateUpdated>1/11/2006</dateUpdated>
    <themes>
    <theme>foo</theme>
    <theme>bar</theme>
    </themes>
    <keywords>
    <keyword>foo</keywordsItem>
    <keyword>bar</keyword>
    </keywords>
    <category>Foo</category>
    <type>Bar</type>
    <audiences>
    <audience>Foo</audience>
    <audience>Bar</audience>
    <audience>Baz</audience>
    </audiences>
    <cost>$1</cost>
    <links>
    <link title="Foo" location="foo.pdf"></link>
    <link title="Bar" location="bar.pdf"></link>
    </links>
    <examples>
    <example sector="foo" title="Foo"
    location="foo.html"></example>
    <example sector="bar" title="Bar"
    location="bar.html"></example>
    </examples>
    <description><![CDATA[The quick brown fox
    jumped.]]></description>
    </activity>
    <activity>
    </activity>
    </activities>

  • Spry xml data set, accessing specific rows

    Hello. I've been trying to build a website using Spry XML
    Data Sets, and while I've accomplished my goals for now, I don't
    think the solution I came up with is the best.
    The website consists of several areas that show projects.
    Each project has several fields that are to be filled with content
    retrieved from the xml files, but the projects are not all exactly
    alike and some have specific fields that others don't require.
    All the info is available in several languages, so for now
    I've created an xml file for each one. An xml file could be like
    Code Part1. (Why I can't add several code snippets along the post
    baffles me. I mean, I can't, right?)
    This dataset, for simplicity purposes, is not dependent on
    the language (Code Part2).
    And then there are the content areas (Code Part3).
    So as you see, each project has its own structure. This makes
    using spry:repeat a not very effective method for filling in all
    the content. Ideally I should be able to access each row in the
    dataset through some sort of value, like id, or one of its
    children's values. The ds_RowID depends on the row order, so unless
    there's another way to use it, it doesn't solve my problem.
    Here's what I've come up with (Code Part4).
    This works (in FF3 OSX, at least), although there are some
    other problems that might make it necessary to create a spry:region
    (or at least use spry:repeat) for each field. Anyway, it sounds
    silly and wasteful to go through every row of the dataset everytime
    for each of the fields that need to be filled.
    My hope is that I'm ignorant of some much better method of
    achieving my goals, something more direct and elegant.
    Can anyone help me out with this? Thank you very much in
    advance.

    Hi there
    You are indeed absolutely correct a spry region should have been shown, my appologise for that, the code is wrapped in a standard spry region.
    That being said i have used a work around in the SQL SELECT statement of the xmlExportObj, Recordset to find the information required without having to do any IF, ELSE on the page.
    Many thanks for your reply and for pointing out my mistake in how I had presented my question.
    My next question is to follow seperately
    Regards
    Ray

  • Best Practices for Accessing the Configuration data Modelled as XML File in

    Hi,
    I refer the couple of blof posts/Forum threads on How to model and access the Configuration data as XML inside OSB.
    One of the easiest and way is to
    Re: OSB: What is best practice for reading configuration information
    Another could be
    Uploading XML data as .xq file (Creating .xq file copy paste all the Configuration as XML )
    I need expert answers for following.
    1] I have .xsd file which is representing the Configuration data. Structure of XSD is
    <FrameworkConfig>
    <Config type="common" key="someKey">proprtyvalue</Config>
    <FrameworkConfig>
    2] As my project will move from one env to another the property-value will change according to the Environment...
    For Dev:
    <FrameworkConfig>
    <Config type="common" key="someKey">proprtyvalue_Dev</Config>
    <FrameworkConfig>
    For Stage :
    <FrameworkConfig>
    <Config type="common" key="someKey">proprtyvalue_Stage</Config>
    <FrameworkConfig>
    3] Let say I create the following Folder structure to store the Configuration file specific for dev/stage/prod instance
    OSB Project Folder
    |
    |---Dev
    |
    |--Dev_Config_file.xml
    |
    |---Stage
    |
    |--Stahe_Config_file.xml
    |
    |---Prod
    |
    |-Prod_Config_file.xml
    4] I need a way to load these property file as xml element/variable inside OSb message flow.?? I can't use XPath function fn:doc("URL") coz I don't know exact path of XMl on deployed server.
    5] Also I need to lookup/model the value which will specify the current server type(Dev/Stage/prod) on which OSB MF is running. Let say any construct which will act as a Global configuration and can be acccessible inside the OSb message flow. If I get the vaalue for the Global variable as Dev means I will load the xml config file under the Dev Directory @runtime containing key value pair for Dev environment.
    6] This Re: OSB: What is best practice for reading configuration information
    suggest the designing of the web application which will serve the xml file over the http protocol and getting the contents into variable (which in turn can be used in OSB message flow). Can we address this problem without creating the extra Project and adding the Dependencies? I read configuration file approach too..but the sample configuration file doesn't show entry of .xml file as resources
    Hope I am clear...I really appreciate your comments and suggestion..
    Sushil
    Edited by: Sushil Deshpande on Jan 24, 2011 10:56 AM

    If you can enforce some sort of naming convention for the transport endpoint for this proxy service across the environments, where the environment name is part of the endpoint you may able to retrieve it from $inbound in the message pipeline.
    eg. http://osb_host/service/prod/service1 ==> Prod and http://osb_host/service/prod/service2 ==> stage , then i think $inbound/ctx:transport/ctx:uri can give you /service/prod/service1 or /service/stage/service1 and applying appropriate xpath functions you will be able to extract the environment name.
    Chk this link for details on $inbound/ctx:transport : http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/userguide/context.html#wp1080822

  • How to Filter E4x Xml data in a tile list?

    Hello!
    I'm simply trying to use a search box for some xml data I have in a tile list. Can anyone point me in the right direction?
    Here's the tile list:
    <mx:HTTPService id="GetXmlService"
    resultFormat="e4x"         
    fault="getXMLFault(event);"
    result="getXMLResult(event);"
    showBusyCursor="true" /> 
    <mx:TileList id="tileList"
    dataProvider="{GetXmlService.lastResult.image}"
    itemRenderer="CustomItemRenderer"
    columnCount="4"
    columnWidth="125"
    rowCount="2"
    rowHeight="150"
    themeColor="haloSilver"
    verticalScrollPolicy="on"
    itemClick="tileList_itemClick(event);" backgroundAlpha="0" height="487" borderStyle="none" y="30" right="10" left="10"/>
    And here's the XML Data:
    <?xml version="1.0"?>
    <gallery>
    <image username="People1"  rating="5" insession="yes" />
    </gallery>

    hi,
    This may help you
    http://gumbo.flashhub.net/filtering/  source included....(ignore extra file in the source, i forgot to clean the project before I built it).
    basically all I have done is have a list with the xml dataprovider, you can do an incremental search on the list using the xmllistcollection filter function
    http://flashhub.net/filter/ source included.......
    this is using a filter to refine a tilelist by a category.
    David

  • I lost my Iphone 5 today in Johor Bahru. Not install Find my Phone/Icloud/Offline. How to prevent others access my email and data ? Or how to remote lost mode/locking phone ?

    I lost my Iphone 5 today in Johor Bahru. Not install Find my Phone/Icloud/Offline. How to prevent others access my email and data ? Or how to remote lost mode/locking phone ?

    suyantosdf wrote:
    I lost my Iphone 5 today in Johor Bahru. Not install Find my Phone/Icloud/Offline. How to prevent others access my email and data ? Or how to remote lost mode/locking phone ?
    If you didn't enable find my iphone in icloud settings on your phone, then you can't do a lost mode or lock your phone.
    I would assume you had a passcode on your phone to lock it.  If you didn't then start changing your passwords.
    Report the lost to your phone carrier - local authorities.

  • Accessing local XML as data source

    Are there any instruction on how to do this.  the Xcelsius 2008 user guide shows instructions for server side where a script is required.  I can't imagine that this would be required for a local XML file.
    thanks

    Martin, here is a short walkthrough I wrote:
    <br>Basic Workflow
       1. Enter the file path in the "XML Data URL" field (e.g. c:\documents and settings\user\desktop\xmlfile.xml)
       2. Click "Enable Load"
       3. Click the plus button for as many ranges as you want
             3.a. Each range name must correspond to a matching variable name in the XML file (so if you name Range_0 to "Test", there must be a variable named "Test" in xmlfile.xml)
       4. Bind the ranges to ranges of cells (e.g. A1 through A10)
       5. In the XML file referenced in Step 1, make sure there are data values to be read
       6. Set the Usage tab's refresh options or use a Connection Refresh button
       7. Run the model and verify that the data loads from the XML file into the cell bindings
    <br>The data that is read from the XML file into the Excel cells will be used as if it was entered manually into the embedded Excel sheets. It can be used by reference in other Excel cell formulas, by components, and in any other fashion that cell data can be used in Xcelsius 2008.
    Here is the basic format required of the XML file:
    <data>
    <variable name="Test">
    <row><column>1</column><column>2</column></row>
    <row><column>10</column></row>
    </variable>
    </data>
    <br>If the file contains 1 variable (the range) with 5 row tags, each row tag with 1 column tag and 1 data value, the data will be read into Xcelsius as...
    A1 = 10
    A2 = 2
    A3 = 13
    A4 = 4
    A5 = 5
    The range can be bound to any column; A1:A5 was selected arbitrarily for demonstration.
    Note that the range will not conform to the Xcelsius binding. That is, if the XML file defines 5 rows with 1 column, that corresponds to a vertical listing of 5 cells; so, if you bind the XMLData connection range to 1 row and 5 columns, you will only see 1 data value.

  • Cannot Access XML Data : Error # 2032

    Hi All,
    I am getting the above error when I am passing the URL parameters ( 4 of them) to child swf which receives them and based on it , it will access 6 other XMLs.
    When I use flash parameters the child swf shows the error message, while if I do it without parameters the child swf is able to access the XMLs.
    Please suggest????
    PS: I have uploaded all the dev files( parent and child SWF) , 6 XMLs at the same sharepoint location.
    Edited by: NamitJain on Dec 21, 2011 12:12 PM

    Hi,
    What Flash Variable format you are using? I hope it is XML, could you please confirm it?
    Regards,
    Nakul Mehta

  • Does having stolen iphone blacklisted prevent  thieves access personal data on iphone.

    Hi
    my iphone was lost/stolen when on holiday  in France. I have had it blacklisted(almost immediately)  but unsure how much protection this gives me in terms of access theives would have to personal data from my phone i.e. access to emails, notes etc. Also, how much protection (if any) would my 4 digit PIN have given me again in terms of someone getting into my phone and accessing my personal data?

    ztolley89 wrote:
    If they do not have the PIN, they won't be able to get into the phone to my knowledge
    If they really want to get into it, it will take them about 30 seconds, even without the PIN.
    The data on the phone, unless in extremely capable hands, should be safe from capture. And having the phone blacklisted, they won't be able to use it either
    Don't need to be "extremely capable" at all. Just need an app on their computer.
    But as suggested, most will simply erase it and sell the iPhone.

  • Problem while accessing a complex data type

    hi,
    I am getting a problem while accessing a complex data type
    I have a wsdl as:
    <?xml version="1.0" encoding="UTF-8" ?>
    - <definitions name="OutlookReminderService" targetNamespace="http://ws.aftek.com/outlook-reminder" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:ns2="http://ws.aftek.com/outlook-reminder/schemas" xmlns:ns3="http://java.sun.com/jax-rpc-ri/internal" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://ws.aftek.com/outlook-reminder" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    - <types>
    - <schema targetNamespace="http://ws.aftek.com/outlook-reminder/schemas" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://ws.aftek.com/outlook-reminder/schemas" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
    <import namespace="http://java.sun.com/jax-rpc-ri/internal" />
    - <complexType name="TaskVO">
    - <sequence>
    <element name="dueDate" type="long" />
    <element name="percentageComplete" type="int" />
    <element name="priorty" type="int" />
    <element name="reminderDate" type="long" />
    <element name="reminderSet" type="boolean" />
    <element name="startDate" type="long" />
    <element name="status" type="int" />
    <element name="subject" type="string" />
    <element name="taskId" type="string" />
    </sequence>
    </complexType>
    - <complexType name="NoSuchUserException">
    - <sequence>
    <element name="message" type="string" />
    </sequence>
    </complexType>
    - <complexType name="ArrayOfContactVO">
    - <complexContent>
    - <restriction base="soap11-enc:Array">
    <attribute ref="soap11-enc:arrayType" wsdl:arrayType="tns:ContactVO[]" />
    </restriction>
    </complexContent>
    </complexType>
    - <complexType name="ContactVO">
    - <sequence>
    <element name="birthDate" type="long" />
    <element name="companyAddress" type="string" />
    <element name="companyName" type="string" />
    <element name="emailID1" type="string" />
    <element name="emailID2" type="string" />
    <element name="emailID3" type="string" />
    <element name="faxNumber" type="string" />
    <element name="firstName" type="string" />
    <element name="homeAddress" type="string" />
    <element name="lastName" type="string" />
    <element name="middleName" type="string" />
    <element name="mobileNumber" type="string" />
    <element name="phoneNumber" type="string" />
    <element name="workContactNumber" type="string" />
    </sequence>
    </complexType>
    </schema>
    - <schema targetNamespace="http://java.sun.com/jax-rpc-ri/internal" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://java.sun.com/jax-rpc-ri/internal" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
    <import namespace="http://ws.aftek.com/outlook-reminder/schemas" />
    - <complexType name="arrayList">
    - <complexContent>
    - <extension base="tns:list">
    <sequence />
    </extension>
    </complexContent>
    </complexType>
    - <complexType name="list">
    - <complexContent>
    - <extension base="tns:collection">
    <sequence />
    </extension>
    </complexContent>
    </complexType>
    - <complexType name="collection">
    - <complexContent>
    - <restriction base="soap11-enc:Array">
    <attribute ref="soap11-enc:arrayType" wsdl:arrayType="anyType[]" />
    </restriction>
    </complexContent>
    </complexType>
    </schema>
    </types>
    <message name="OutlookServer_addTaskResponse" />
    - <message name="OutlookServer_getListResponse">
    <part name="result" type="ns3:arrayList" />
    </message>
    - <message name="OutlookServer_getContactListResponse">
    <part name="result" type="ns2:ArrayOfContactVO" />
    </message>
    - <message name="NoSuchUserException">
    <part name="NoSuchUserException" type="ns2:NoSuchUserException" />
    </message>
    - <message name="OutlookServer_getContactList">
    <part name="String_1" type="xsd:string" />
    </message>
    - <message name="OutlookServer_getList">
    <part name="String_1" type="xsd:string" />
    </message>
    - <message name="OutlookServer_addTask">
    <part name="String_1" type="xsd:string" />
    <part name="TaskVO_2" type="ns2:TaskVO" />
    </message>
    - <message name="OutlookServer_reminderOccurredResponse">
    <part name="result" type="xsd:boolean" />
    </message>
    - <message name="OutlookServer_reminderOccurred">
    <part name="String_1" type="xsd:string" />
    <part name="TaskVO_2" type="ns2:TaskVO" />
    </message>
    - <portType name="OutlookServer">
    - <operation name="addTask" parameterOrder="String_1 TaskVO_2">
    <input message="tns:OutlookServer_addTask" />
    <output message="tns:OutlookServer_addTaskResponse" />
    <fault message="tns:NoSuchUserException" name="NoSuchUserException" />
    </operation>
    - <operation name="getContactList" parameterOrder="String_1">
    <input message="tns:OutlookServer_getContactList" />
    <output message="tns:OutlookServer_getContactListResponse" />
    <fault message="tns:NoSuchUserException" name="NoSuchUserException" />
    </operation>
    - <operation name="getList" parameterOrder="String_1">
    <input message="tns:OutlookServer_getList" />
    <output message="tns:OutlookServer_getListResponse" />
    <fault message="tns:NoSuchUserException" name="NoSuchUserException" />
    </operation>
    - <operation name="reminderOccurred" parameterOrder="String_1 TaskVO_2">
    <input message="tns:OutlookServer_reminderOccurred" />
    <output message="tns:OutlookServer_reminderOccurredResponse" />
    <fault message="tns:NoSuchUserException" name="NoSuchUserException" />
    </operation>
    </portType>
    - <binding name="OutlookServerBinding" type="tns:OutlookServer">
    <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
    - <operation name="addTask">
    <soap:operation soapAction="" />
    - <input>
    <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ws.aftek.com/outlook-reminder" use="encoded" />
    </input>
    - <output>
    <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ws.aftek.com/outlook-reminder" use="encoded" />
    </output>
    - <fault name="NoSuchUserException">
    <soap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="NoSuchUserException" namespace="http://ws.aftek.com/outlook-reminder" use="encoded" />
    </fault>
    </operation>
    - <operation name="getContactList">
    <soap:operation soapAction="" />
    - <input>
    <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ws.aftek.com/outlook-reminder" use="encoded" />
    </input>
    - <output>
    <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ws.aftek.com/outlook-reminder" use="encoded" />
    </output>
    - <fault name="NoSuchUserException">
    <soap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="NoSuchUserException" namespace="http://ws.aftek.com/outlook-reminder" use="encoded" />
    </fault>
    </operation>
    - <operation name="getList">
    <soap:operation soapAction="" />
    - <input>
    <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ws.aftek.com/outlook-reminder" use="encoded" />
    </input>
    - <output>
    <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ws.aftek.com/outlook-reminder" use="encoded" />
    </output>
    - <fault name="NoSuchUserException">
    <soap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="NoSuchUserException" namespace="http://ws.aftek.com/outlook-reminder" use="encoded" />
    </fault>
    </operation>
    - <operation name="reminderOccurred">
    <soap:operation soapAction="" />
    - <input>
    <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ws.aftek.com/outlook-reminder" use="encoded" />
    </input>
    - <output>
    <soap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ws.aftek.com/outlook-reminder" use="encoded" />
    </output>
    - <fault name="NoSuchUserException">
    <soap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="NoSuchUserException" namespace="http://ws.aftek.com/outlook-reminder" use="encoded" />
    </fault>
    </operation>
    </binding>
    - <service name="OutlookReminderService">
    - <port binding="tns:OutlookServerBinding" name="OutlookServerPort">
    <soap:address location="http://truptid:8080/outlook-reminder-service/outlook" />
    </port>
    </service>
    </definitions>
    My client is :
    private static String     BODY_NAMESPACE_VALUE     = "http://ws.abc.com/outlook-reminder";
         private static String     ENCODING_STYLE_PROPERTY     = "javax.xml.rpc.encodingstyle.namespace.uri";
         private static String     NS_XSD                         = "http://www.w3.org/2001/XMLSchema";
         private static String     URI_ENCODING               = "http://schemas.xmlsoap.org/soap/encoding/";     
    try{
    ServiceFactory factory = ServiceFactory.newInstance();
                        Service service = factory.createService(new QName("OutlookReminderService"));
                        QName port =new QName("OutlookReminderService","OutlookServerPort");
                        Call call =service.createCall(port);
                        call.setTargetEndpointAddress("http://localhost:8080/outlook-reminder-service/outlook?wsdl");
                        call.setProperty(Call.SOAPACTION_USE_PROPERTY, new Boolean(true));
                        call.setProperty(Call.SOAPACTION_URI_PROPERTY, "");
                        call.setProperty(ENCODING_STYLE_PROPERTY, URI_ENCODING);
                        call.getReturnType();
                        call.setOperationName(new QName(BODY_NAMESPACE_VALUE, "getList"));
                        QName QNAME_TYPE_STRING = new QName(NS_XSD, "string");
                        call.addParameter("String_1", QNAME_TYPE_STRING, ParameterMode.IN);
                        //http://ws.aftek.com/outlook-reminder/schemas
                        QName QNAME_TYPE_VO = new QName("http://schemas.xmlsoap.org/soap/encoding/", "Array");
                        System.out.println("Before Add Parameter");
                   //     call.addParameter("result", QNAME_TYPE_VO, ParameterMode.OUT);
                        call.setReturnType(QNAME_TYPE_VO,ArrayList.class);
                        System.out.println("After Add Parameter");
                        Object[] params ={oUserVO.getUserName()};
                        oArrayList =(ArrayList)call.invoke(params);
                        System.out.println("After Invoked");
                        //System.out.println("invoked"+ arrayList);          
                   catch(SOAPFaultException faultException)
                        moLogger.debug("SOAPFaultException : ", faultException);
                   catch(RemoteException oremoteException)
                        moLogger.debug("RemoteException", oremoteException);
              catch(ServiceException oServiceException)
                        moLogger.debug("ServiceException", oServiceException);          }          
    Error got is :
    trailing block elements must have an id attribute
         at com.sun.xml.rpc.encoding.SOAPDeserializationContext.deserializeMultiRefObjects(SOAPDeserializationContext.java:81)
         at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:239)
         at com.sun.xml.rpc.client.dii.CallInvokerImpl.doInvoke(CallInvokerImpl.java:103)
         at com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:492)
         at com.ail.dhg.poc.business.dao.ContactDAO.getList(ContactDAO.java:255)
         at com.ail.dhg.poc.business.facade.ContactFacade.getList(ContactFacade.java:189)
         at com.ail.dhg.poc.business.AcceptInput.main(AcceptInput.java:72)
    java.lang.NullPointerException
         at com.ail.dhg.poc.business.dao.ContactDAO.getList(ContactDAO.java:277)
         at com.ail.dhg.poc.business.facade.ContactFacade.getList(ContactFacade.java:189)
         at com.ail.dhg.poc.business.AcceptInput.main(AcceptInput.java:72)
    Message was edited by:
    trupti_d

    Use lower case letters for your variable names (name, pwd). The code works then.
    package com.bluenile.bean;
    import java.io.*;
    public class Bean1 implements Serializable
    private String name="Uname";
    private String pwd="Pword";
    public String getName()
    return name;
    public String getPwd()
    return pwd;
    void setName(String name)
    this.name = name;
    void setPwd(String pwd)
    this.pwd = pwd;
    <HTML>
    <BODY BGCOLOR="#FFFFFF">
    <%@ page language="java" contentType="text/html" %>
    <jsp:useBean id="b1" class="com.bluenile.bean.Bean1" />
    <ul>
    <li>Name : <jsp:getProperty name="b1" property="name" />
    <li>Pwd : <jsp:getProperty name="b1" property="pwd" />
    </ul>
    </BODY>
    </HTML>

  • Trying to pass xml data to a web service

    I'm working on an Apex application that is required to pass data to a web service for loading into another (non Oracle) system. The web service expects two stings as input, the first string is simply an ID, the second string is an xml document. I generate an xml 'string' using PL/SQL in an on-submit process prior to invoking the web service. If I pass regular text for the second parameter, the web service returns an error message which is stored in the response collection and displayed on the page as expected. When I pass the the xml data, I get a no data found error and the response collection is empty. I have tried this in our development environment on Apex 3.1.2 (database version 10.2). I also tried this on our Apex 4.0.2 sandbox (with the same Oracle 10.2 database). I have found that once I have nested xml, I get the no data found message, if I pass partial xml data, I get the error response from the web service. Perhaps I am not generating the xml correctly to pass to the web service (this only just occurred to me as I write this)? Or is there an issue passing xml data from Apex to the web service? Any help will be greatly appreciated! here is the code I use to generate the xml string:
    declare
      cursor build_data  is
        select u_catt_request_buid,u_catt_request_name,u_catt_cassette_buid,u_catt_cassette_name
          ,u_project_name,u_sub_project,replace(u_nominator,'ERROR ','') u_nominator
          ,replace(replace(u_going_to_vqc,'Yes','true'),'No','false') u_going_to_vqc
          ,u_promoter,u_cds,u_terminator
          ,u_primary_trait,u_source_mat_prvd,u_pro_resistance_1,u_vector_type
          ,nvl(u_my_priority,'Medium') u_my_priority
          ,replace(replace(u_immediate_trafo,'Yes','true'),'No','false') u_immediate_trafo
          ,replace(replace(u_new_bps_cmpnt,'Yes','true'),'No','false') u_new_bps_cmpnt
          ,u_compnt_name,u_new_cmpt_desc,initcap(u_target_crop) u_target_crop,u_corn_line
          ,u_plant_selection,u_num_of_ind_events,u_num_plants_per_event,u_molecular_quality_events
          ,replace(replace(u_field,'Yes','true'),'No','false') u_field
          ,u_t1_seed_request,u_potential_phenotype,u_submission_date
          ,u_sequence_length,u_trait,u_frst_parent,u_frst_parent_vshare_id,u_cds_vshare_id
          ,constructid,cassetteid,description
        from temp_constructs_lims
        order by constructid,description;
      v_xml_info         varchar2(350);
      v_xml_header       varchar2(1000);
      v_xml_data         clob;
      v_xml_footer       varchar2(50);
      v_create_date      varchar2(10);
      v_scientist_name   v_users.full_name%type;
      v_scientist_email  v_users.email_address%type;
      v_primas_code      construct.fkprimas%type;
      v_nominator_name   v_nominators.full_name%type;
      v_file_length      number;
    begin
      -- initialize variables
      v_create_date := to_char(sysdate,'YYYY-MM-DD');
      v_xml_data := null;
      -- get name and email address
      begin
        select full_name,email_address
        into v_scientist_name,v_scientist_email
        from v_users
        where ldap_account = :F140_USER_ID; 
      exception when no_data_found then
        v_scientist_name := '';
        v_scientist_email := '';
        v_scientist_name := 'Test, Christine';
        v_scientist_email := '[email protected]';
      end;
      -- set up xml file 
      if :OWNER like '%DEV%' then
        v_xml_info := '
          <?xml version="1.0" encoding="utf-8"?>
          <exchange xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                    xmlns="deService"
                    xsi:schemaLocation="deService http://mycompany.com/webservices/apexdataexchange/schemas/RTPCATT.xsd">
      else
        v_xml_info := '
          <?xml version="1.0" encoding="utf-8"?>
          <exchange xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                    xmlns="deService"
                    xsi:schemaLocation="deService http://mycompanyprod.com/webservices/apexdataexchange/schemas/RTPCATT.xsd">
      end if;
      -- populate xml header records
      v_xml_header := '<header xmlns="">
        <stdXmlVer>2.0</stdXmlVer>
        <sendingUnit>'||:P36_UNIT_NUMBER||'</sendingUnit>
        <sendingPerson>'||v_scientist_name||'</sendingPerson>
        <notification>'||v_scientist_email||'</notification>
        <creationDate>'||v_create_date||'</creationDate>
      </header>
      <entities xmlns="">
      for rec in build_data loop
        begin
          -- get primas code for current construct
          select fkprimas
          into v_primas_code
          from construct
          where constructid = rec.constructid;
        exception when no_data_found then
          v_primas_code := null;
        end;
        begin
          -- get nominator name for current construct
          select full_name
          into v_nominator_name
          from v_nominators
          where nominator_id = rec.u_nominator;
        exception
          when no_data_found then
            v_nominator_name := null;
          when invalid_number then
            v_nominator_name := catt_pkg.full_name_from_user_id(p_user_id => rec.u_nominator);
            v_nominator_name := 'Test, Christine';
        end;
        v_xml_data := v_xml_data||'
          <Construct>
          <requestBUID>'||rec.u_catt_request_buid||'</requestBUID>
          <requestName>'||rec.u_catt_request_name||'</requestName>
          <cassetteBUID>'||rec.u_catt_cassette_buid||'</cassetteBUID>
          <cassetteName>'||rec.u_catt_cassette_name||'</cassetteName>
          <scientist>'||v_scientist_name||'</scientist>
          <projectNumber>'||v_primas_code||'</projectNumber>
          <subProject>'||rec.u_sub_project||'</subProject>
          <comments>'||rec.description||'</comments>
          <nominator>'||v_nominator_name||'</nominator>
          <goingToVqc>'||rec.u_going_to_vqc||'</goingToVqc>
          <primaryTrait>'||rec.u_primary_trait||'</primaryTrait>
          <sourceMatPrvd>'||rec.u_source_mat_prvd||'</sourceMatPrvd>
          <prokaryoticResistance>'||rec.u_pro_resistance_1||'</prokaryoticResistance>
          <vectorType>'||rec.u_vector_type||'</vectorType>
          <priority>'||rec.u_my_priority||'</priority>
          <immediateTrafo>'||rec.u_immediate_trafo||'</immediateTrafo>
          <newComponent>'||rec.u_new_bps_cmpnt||'</newComponent>
          <componentName>'||rec.u_compnt_name||'</componentName>
          <newComponentDescription>'||rec.u_new_cmpt_desc||'</newComponentDescription>
          <targetCrop>'||rec.u_target_crop||'</targetCrop>
          <Line>'||rec.u_corn_line||'</Line>
          <plantSelection>'||rec.u_plant_selection||'</plantSelection>
          <numOfIndEvents>'||rec.u_num_of_ind_events||'</numOfIndEvents>
          <numOfPlantsPerEvent>'||rec.u_num_plants_per_event||'</numOfPlantsPerEvent>
          <molecularQualityEvents>'||rec.u_molecular_quality_events||'</molecularQualityEvents>
          <toField>'||rec.u_field||'</toField>
          <potentialPhenotype>'||rec.u_potential_phenotype||'</potentialPhenotype>
          </Construct>
      end loop;
      -- complete xml data   
      v_xml_footer := '
          </entities>
        </exchange>
      -- complete submission data
      :P36_XML_SUBMISSION := null;   
      :P36_XML_SUBMISSION := v_xml_info||v_xml_header||v_xml_data||v_xml_footer;
      :P36_XML_SUBMISSION := trim(:P36_XML_SUBMISSION);
    end;Here is an example of :P36_XML_SUBMISSION:
    <?xml version="1.0" encoding="utf-8"?> <exchange xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="deService" xsi:schemaLocation="deService http://mycompany.com/webservices/apexdataexchange/schemas/RTPCATT.xsd"> <header xmlns=""> <stdXmlVer>2.0</stdXmlVer> <sendingUnit>10</sendingUnit> <sendingPerson>Test, Christine</sendingPerson> <notification>[email protected]</notification> <creationDate>2011-12-20</creationDate> </header> <entities xmlns=""> <Construct> <requestBUID>150000123</requestBUID> <requestName>AA0000123</requestName> <cassetteBUID>160000123</cassetteBUID> <cassetteName>AB000123</cassetteName> <scientist>Test, Christine</scientist> <projectNumber>T000123</projectNumber> <subProject>Discovery Plus</subProject> <comments>AA0000123 From CATT on 20-DEC-11 </comments> <nominator>Test, Christine</nominator> <goingToVqc>true</goingToVqc> <primaryTrait>promoter::intron::transit:gene::terminator</primaryTrait> <sourceMatPrvd>seed - stuff</sourceMatPrvd> <prokaryoticResistance></prokaryoticResistance> <vectorType>Plant Vector</vectorType> <priority>Medium</priority> <immediateTrafo>true</immediateTrafo> <newComponent></newComponent> <componentName>gene</componentName> <newComponentDescription>unknown function; sequence has some similarity to others</newComponentDescription> <targetCrop>Crop</targetCrop> <Line>Inbred</Line> <plantSelection>smidge ver2</plantSelection> <numOfIndEvents>6</numOfIndEvents> <numOfPlantsPerEvent>1</numOfPlantsPerEvent> <molecularQualityEvents>NA</molecularQualityEvents> <toField>true</toField> <potentialPhenotype></potentialPhenotype> </Construct> </entities> </exchange>My application page is accessed by an action from another page. The user reviews the data in a sql report region. When the use clicks on the Upload (SUBMIT) button, the xml string is generated first and then the web service is invoked. I have tried passing a simple string as the second parameter ("dummydata") and partial data in the xml string ("<sendingPerson>Test, Christine</sendingPerson>") the web service returns this error in both cases:
    Error[Validate Data]: (XML) = Data at the root level is invalid. Line 1, position 1.. Cannot validate the XML! Data Exchange not accepted!Once I pass the entire xml string above, I get an Oracle-01403: no data found error. I have opened the web service in IE and pasted my xml input string and received a valid, verified result, so I am sure that the generated xml is correct. I have spoken with the web service developer; there are no log entries created by the web service when I submit the full xml string, so I suspect the failure is in the Apex application.
    Thanks,
    Christine
    I should add that once I have nested tags in the xml, I get the Oracle no data found error ("<header xmlns=""> <stdXmlVer>2.0</stdXmlVer> <sendingUnit>10</sendingUnit> </header>"). I f I do not have nested tags in the xml ("<notification>[email protected]</notification> <creationDate>2011-12-20</creationDate>"), I get the web service response (error).
    Edited by: ChristineD on Dec 20, 2011 9:54 AM

    Ok, I think I'm getting closer to thinking this all the way through. When I have used clobs in the past, I've always used the DBMS_CLOB package. I use this to create a temp clob and then make the above calls. I had to go find an example in my own code to remember all of this. So, here is another suggestion... feel free to disregard all the previous code snippets..
    declare
      cursor build_data  is
        select u_catt_request_buid,u_catt_request_name,u_catt_cassette_buid,u_catt_cassette_name
          ,u_project_name,u_sub_project,replace(u_nominator,'ERROR ','') u_nominator
          ,replace(replace(u_going_to_vqc,'Yes','true'),'No','false') u_going_to_vqc
          ,u_promoter,u_cds,u_terminator
          ,u_primary_trait,u_source_mat_prvd,u_pro_resistance_1,u_vector_type
          ,nvl(u_my_priority,'Medium') u_my_priority
          ,replace(replace(u_immediate_trafo,'Yes','true'),'No','false') u_immediate_trafo
          ,replace(replace(u_new_bps_cmpnt,'Yes','true'),'No','false') u_new_bps_cmpnt
          ,u_compnt_name,u_new_cmpt_desc,initcap(u_target_crop) u_target_crop,u_corn_line
          ,u_plant_selection,u_num_of_ind_events,u_num_plants_per_event,u_molecular_quality_events
          ,replace(replace(u_field,'Yes','true'),'No','false') u_field
          ,u_t1_seed_request,u_potential_phenotype,u_submission_date
          ,u_sequence_length,u_trait,u_frst_parent,u_frst_parent_vshare_id,u_cds_vshare_id
          ,constructid,cassetteid,description
        from temp_constructs_lims
        order by constructid,description;
      v_xml_info         varchar2(350);
      v_xml_header       varchar2(1000);
      v_xml_data         clob;
      v_xml_footer       varchar2(50);
      v_create_date      varchar2(10);
      v_scientist_name   v_users.full_name%type;
      v_scientist_email  v_users.email_address%type;
      v_primas_code      construct.fkprimas%type;
      v_nominator_name   v_nominators.full_name%type;
      v_file_length      number;
      v_xml_body    varchar2(32767); --added by AustinJ
      v_page_item    varchar2(32767);  --added by AustinJ
    begin
      -- initialize variables
      v_create_date := to_char(sysdate,'YYYY-MM-DD');
      --v_xml_data := null;   --commented out by AustinJ
      dbms_lob.createtemporary( v_xml_data, FALSE, dbms_lob.session );  --added by AustinJ
      dbms_lob.open( v_xml_data, dbms_lob.lob_readwrite );  --added by AustinJ
      -- get name and email address
      begin
        select full_name,email_address
        into v_scientist_name,v_scientist_email
        from v_users
        where ldap_account = :F140_USER_ID; 
      exception when no_data_found then
        v_scientist_name := '';
        v_scientist_email := '';
        v_scientist_name := 'Test, Christine';
        v_scientist_email := '[email protected]';
      end;
      -- set up xml file 
      if :OWNER like '%DEV%' then
        v_xml_info := '
          <?xml version="1.0" encoding="utf-8"?>
          <exchange xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                    xmlns="deService"
                    xsi:schemaLocation="deService http://mycompany.com/webservices/apexdataexchange/schemas/RTPCATT.xsd">
      else
        v_xml_info := '
          <?xml version="1.0" encoding="utf-8"?>
          <exchange xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                    xmlns="deService"
                    xsi:schemaLocation="deService http://mycompanyprod.com/webservices/apexdataexchange/schemas/RTPCATT.xsd">
      end if;
      -- populate xml header records
      v_xml_header := '<header xmlns="">
        <stdXmlVer>2.0</stdXmlVer>
        <sendingUnit>'||:P36_UNIT_NUMBER||'</sendingUnit>
        <sendingPerson>'||v_scientist_name||'</sendingPerson>
        <notification>'||v_scientist_email||'</notification>
        <creationDate>'||v_create_date||'</creationDate>
      </header>
      <entities xmlns="">
      for rec in build_data loop
        begin
          -- get primas code for current construct
          select fkprimas
          into v_primas_code
          from construct
          where constructid = rec.constructid;
        exception when no_data_found then
          v_primas_code := null;
        end;
        begin
          -- get nominator name for current construct
          select full_name
          into v_nominator_name
          from v_nominators
          where nominator_id = rec.u_nominator;
        exception
          when no_data_found then
            v_nominator_name := null;
          when invalid_number then
            v_nominator_name := catt_pkg.full_name_from_user_id(p_user_id => rec.u_nominator);
            v_nominator_name := 'Test, Christine';
        end;
        v_xml_body := '
          <Construct>
          <requestBUID>'||rec.u_catt_request_buid||'</requestBUID>
          <requestName>'||rec.u_catt_request_name||'</requestName>
          <cassetteBUID>'||rec.u_catt_cassette_buid||'</cassetteBUID>
          <cassetteName>'||rec.u_catt_cassette_name||'</cassetteName>
          <scientist>'||v_scientist_name||'</scientist>
          <projectNumber>'||v_primas_code||'</projectNumber>
          <subProject>'||rec.u_sub_project||'</subProject>
          <comments>'||rec.description||'</comments>
          <nominator>'||v_nominator_name||'</nominator>
          <goingToVqc>'||rec.u_going_to_vqc||'</goingToVqc>
          <primaryTrait>'||rec.u_primary_trait||'</primaryTrait>
          <sourceMatPrvd>'||rec.u_source_mat_prvd||'</sourceMatPrvd>
          <prokaryoticResistance>'||rec.u_pro_resistance_1||'</prokaryoticResistance>
          <vectorType>'||rec.u_vector_type||'</vectorType>
          <priority>'||rec.u_my_priority||'</priority>
          <immediateTrafo>'||rec.u_immediate_trafo||'</immediateTrafo>
          <newComponent>'||rec.u_new_bps_cmpnt||'</newComponent>
          <componentName>'||rec.u_compnt_name||'</componentName>
          <newComponentDescription>'||rec.u_new_cmpt_desc||'</newComponentDescription>
          <targetCrop>'||rec.u_target_crop||'</targetCrop>
          <Line>'||rec.u_corn_line||'</Line>
          <plantSelection>'||rec.u_plant_selection||'</plantSelection>
          <numOfIndEvents>'||rec.u_num_of_ind_events||'</numOfIndEvents>
          <numOfPlantsPerEvent>'||rec.u_num_plants_per_event||'</numOfPlantsPerEvent>
          <molecularQualityEvents>'||rec.u_molecular_quality_events||'</molecularQualityEvents>
          <toField>'||rec.u_field||'</toField>
          <potentialPhenotype>'||rec.u_potential_phenotype||'</potentialPhenotype>
          </Construct>
        ';    --modified by AustinJ
        dbms_lob.writeappend( v_xml_data, length(v_xml_body), v_xml_body);   --added by AustinJ
      end loop;
      -- complete xml data   
      v_xml_footer := '
          </entities>
        </exchange>
      -- complete submission data
      v_page_item := null;   
      v_page_item := v_xml_info||v_xml_header||wwv_flow.do_substitutions(wwv_flow_utilities.clob_to_varchar2(v_xml_data))||v_xml_footer;   --added by AustinJ
      :P36_XML_SUBMISSION := trim(v_page_item);   --added by AustinJ
        dbms_lob.close( v_xml_data);  --added by AustinJ
        if v_xml_data is not null then   
            dbms_lob.freetemporary(v_xml_data);   --added by AustinJ
        end if;  --added by AustinJ
    end;This code will use the Database to construct your clob and then convert it back to a varchar2 for output to your webservice. This makes more sense to me now and hopefully you can follow what the process is doing.
    You don't technically need the two varchar2(36767) variables. I used two for naming convention clarity sake. You could use just one multipurpose variable instead.
    If you have any questions, just ask. I'll help if I can.
    Austin
    Edited by: AustinJ on Dec 20, 2011 12:17 PM
    Fixed spelling mistakes.

  • Problem inserting and querying XML data with a recursive XML schema

    Hello,
    I'm facing a problem with querying XML data that is valid against a recursive XML Schema. I have got a table category that stores data as binary XML using Oracle 11g Rel 2 on Windows XP. The XML Schema is the following:
    <?xml version="1.0" encoding="UTF-8"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:complexType name="bold_type" mixed="true">
              <xs:choice minOccurs="0" maxOccurs="unbounded">
                   <xs:element name="bold" type="bold_type"/>
                   <xs:element name="keyword" type="keyword_type"/>
                   <xs:element name="emph" type="emph_type"/>
              </xs:choice>
         </xs:complexType>
         <xs:complexType name="keyword_type" mixed="true">
              <xs:choice minOccurs="0" maxOccurs="unbounded">
                   <xs:element name="bold" type="bold_type"/>
                   <xs:element name="keyword" type="keyword_type"/>
                   <xs:element name="emph" type="emph_type"/>
                   <xs:element name="plain_text" type="xs:string"/>
              </xs:choice>
         </xs:complexType>
         <xs:complexType name="emph_type" mixed="true">
              <xs:choice minOccurs="0" maxOccurs="unbounded">
                   <xs:element name="bold" type="bold_type"/>
                   <xs:element name="keyword" type="keyword_type"/>
                   <xs:element name="emph" type="emph_type"/>
              </xs:choice>
         </xs:complexType>
         <xs:complexType name="text_type" mixed="true">
              <xs:choice minOccurs="0" maxOccurs="unbounded">
                   <xs:element name="bold" type="bold_type"/>
                   <xs:element name="keyword" type="keyword_type"/>
                   <xs:element name="emph" type="emph_type"/>
              </xs:choice>
         </xs:complexType>
         <xs:complexType name="parlist_type">
              <xs:sequence>
                   <xs:element name="listitem" minOccurs="0" maxOccurs="unbounded" type="listitem_type"/>
              </xs:sequence>
         </xs:complexType>
         <xs:complexType name="listitem_type">
              <xs:choice minOccurs="0" maxOccurs="unbounded">
                   <xs:element name="parlist" type="parlist_type"/>
                   <xs:element name="text" type="text_type"/>
              </xs:choice>
         </xs:complexType>
         <xs:element name="category">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="name"/>
                        <xs:element name="description">
                                  <xs:complexType>
                                            <xs:choice>
                                                           <xs:element name="text" type="text_type"/>
                                                           <xs:element name="parlist" type="parlist_type"/>
                                            </xs:choice>
                                  </xs:complexType>
                        </xs:element>
                                                                </xs:sequence>
                                                                <xs:attribute name="id"/>
                                            </xs:complexType>
                        </xs:element>
    </xs:schema>I registered this schema and created the category table. Then I inserted a new row using the code below:
    insert into category_a values
    (XMlElement("category",
          xmlattributes('categoryAAA' as "id"),
          xmlforest ('ma categ' as "name"),
          (xmlelement("description", (xmlelement("text", 'find doors blest now whiles favours carriage tailor spacious senses defect threat ope willow please exeunt truest assembly <keyword> staring travels <bold> balthasar parts attach </bold> enshelter two <emph> inconsiderate ways preventions </emph> preventions clasps better affections comes perish </keyword> lucretia permit street full meddle yond general nature whipp <emph> lowness </emph> grievous pedro')))    
    The row is successfully inserted as witnessed by the results of row counting. However, I cannot extract data from the table. First, I tried using SqlPlus* which hangs up and quits after a while. I then tried to use SQL Developer, but haven't got any result. Here follow some examples of queries and their results in SQL Developer:
    Query 1
    select * from category
    Result : the whole row is returned
    Query 2
    select xmlquery('$p/category/description' passing object_value as "p" returning content) from category
    Result: "SYS.XMLTYPE"
    now I tried to fully respect the nested structure of description element in order to extract the text portion of <bold> using this query
    Query 3
    select  xmlquery('$p/category/description/text/keyword/bold/text()' passing object_value as "p" returning content) from  category_a
    Result: null
    and also tried to extract the text portion of element <text> using this query
    Query 4
    select  xmlquery('$p/category/description/text/text()' passing object_value as "p" returning content) from  category_a
    Result: "SYS.XMLTYPE".
    On the other hand, I noticed, from the result of query 1, that the opening tags of elements keyword and bold are encoded as the less than operator "&lt;". This explains why query 3 returns NULL. However, query 4 should display the text content of <text>, which is not the case.
    My questions are about
    1. How to properly insert the XML data while preserving the tags (especially the opening tag).
    2. How to display the data (the text portion of the main Element or of the nested elements).
    The problem about question 1 is that it is quite unfeasible to write a unique insert statement because the structure of <description> is recursive. In other words, if the structure of <description> was not recursive, it would be possible to embed the elements using the xmlelement function during the insertion.
    In fact, I need to insert the content of <description> from a source table (called category_a) into a target table (+category_b+) automatically .
    I filled category_a using the Saxloader utility from an flat XML file that I have generated from a benchmark. The content of <description> is different from one row to another but it is always valid with regards to the XML Schema. The data is properly inserted as witnessed by the "select * from category_a" instruction (500 row inserted). Besides, the opening tags of the nested elements under <description> are preserved (no "&lt;"). Then I wrote a PL/SQL procedure in which a cursor extracts the category id and category name into varchar2 variables and description into an XMLtype variable from category_a. When I try to insert the values into a category_b, I get the follwing error:
    LSX-00213: only 0 occurrences of particle "text", minimum is 1which tells that the <text> element is absent (actually it is present in the source table).
    So, my third question is why are not the tags recognized during the insertion?
    Can anyone help please?

    Hello,
    indded, I was using an old version of Sqlplus* (8.0.60.0.0) because I had a previous installation (oracle 10g XE). Instead, I used the Sqlplus* shipped with the 11g2database (version 11.2.0.1.0). All the queries that I wrote work fine and display the data correctly.
    I also used the XMLSERIALIZE function and can now display the description content in SQL Developer.
    Thank you very much.
    To answer your question Marco, I registered the XML Schema using the following code
    declare
      doc varchar2(4000) := '<?xml version="1.0" encoding="UTF-8"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:complexType name="bold_type" mixed="true">
              <xs:choice minOccurs="0" maxOccurs="unbounded">
                   <xs:element name="bold" type="bold_type"/>
                   <xs:element name="keyword" type="keyword_type"/>
                   <xs:element name="emph" type="emph_type"/>
              </xs:choice>
         </xs:complexType>
         <xs:complexType name="keyword_type" mixed="true">
              <xs:choice minOccurs="0" maxOccurs="unbounded">
                   <xs:element name="bold" type="bold_type"/>
                   <xs:element name="keyword" type="keyword_type"/>
                   <xs:element name="emph" type="emph_type"/>
                   <xs:element name="plain_text" type="xs:string"/>
              </xs:choice>
         </xs:complexType>
         <xs:complexType name="emph_type" mixed="true">
              <xs:choice minOccurs="0" maxOccurs="unbounded">
                   <xs:element name="bold" type="bold_type"/>
                   <xs:element name="keyword" type="keyword_type"/>
                   <xs:element name="emph" type="emph_type"/>
              </xs:choice>
         </xs:complexType>
         <xs:complexType name="text_type" mixed="true">
              <xs:choice minOccurs="0" maxOccurs="unbounded">
                   <xs:element name="bold" type="bold_type"/>
                   <xs:element name="keyword" type="keyword_type"/>
                   <xs:element name="emph" type="emph_type"/>
              </xs:choice>
         </xs:complexType>
         <xs:complexType name="parlist_type">
              <xs:sequence>
                   <xs:element name="listitem" minOccurs="0" maxOccurs="unbounded" type="listitem_type"/>
              </xs:sequence>
         </xs:complexType>
         <xs:complexType name="listitem_type">
              <xs:choice minOccurs="0" maxOccurs="unbounded">
                   <xs:element name="parlist" type="parlist_type"/>
                   <xs:element name="text" type="text_type"/>
              </xs:choice>
         </xs:complexType>
         <xs:element name="category">
              <xs:complexType>
                   <xs:sequence>
                        <xs:element name="name"/>
                        <xs:element name="description">
                                  <xs:complexType>
                                            <xs:choice>
                                                           <xs:element name="text" type="text_type"/>
                                                           <xs:element name="parlist" type="parlist_type"/>
                                            </xs:choice>
                                  </xs:complexType>
                        </xs:element>
                                                                </xs:sequence>
                                                                <xs:attribute name="id"/>
                                            </xs:complexType>
                        </xs:element>
    </xs:schema>';
    begin
      dbms_xmlschema.registerSchema('/xmldb/category_auction.xsd', doc,     LOCAL      => FALSE, 
            GENTYPES   => FALSE,  GENBEAN    => FALSE,   GENTABLES  => FALSE,
             FORCE      => FALSE,
             OPTIONS    => DBMS_XMLSCHEMA.REGISTER_BINARYXML,
             OWNER      => USER);
    end;then, I created the Category table as follows:
    CREATE TABLE category_a of XMLType XMLTYPE store AS BINARY XML
        XMLSCHEMA "xmldb/category_auction.xsd" ELEMENT "category";Now, there still remains a problem of how to insert the "description" content which I serialized as a CLOB data into another table as XML. To this purpose, I wrote a view over the Category_a table as follows:
    CREATE OR REPLACE FORCE VIEW "AUCTION_XWH"."CATEGORY_V" ("CATEGORY_ID", "CNAME", "DESCRIPTION") AS
      select category_v."CATEGORY_ID",category_v."CNAME",
      XMLSerialize(content ( xmlquery('$p/category/description/*' passing object_value as "p" returning content)) as clob) as "DESCRIPTION"
      from  auction.category_a p, 
    xmltable ('$a/category' passing p.Object_Value as "a"
    columns  category_id varchar2(15) path '@id',
              cname varchar2(20) path 'name') category_v;Then, I wrote a procedure to insert data into the Category_xwh table (the source and target tables are slightly different: the common elements are just copied wereas new elements are created in the target table). The code of the procedure is the following:
    create or replace PROCEDURE I_CATEGORY AS
    v_cname VARCHAR2(30);
    v_description clob ;
    v_category_id VARCHAR2(15);
    cursor mycursor is select category_id, cname, description from category_v;
    BEGIN
    open mycursor;
      loop
      /*retrieving the columns*/
      fetch mycursor into v_category_id, v_cname, v_description ;
      exit when mycursor%notfound;
      insert into category_xwh values
      (XMlElement("category",
          xmlattributes(v_category_id as "category_id"),
          xmlelement("Hierarchies", xmlelement("ObjHierarchy", xmlelement ("H_Cat"),
                                                               xmlelement ("Rollsup",
                                                                                  (xmlelement("all_categories",
                                                                                   xmlattributes('allcategories' as "all_category_id")))
        xmlforest (
                  v_cname as "cat_name",
                  v_description as "description")    
    end loop;
      commit;
      close mycursor;
    END I_CATEGORY;When I execute the procedure, I get the following error:
    LSX-00201: contents of "description" should be elements onlyso, I just wonder if this is because v_description is considered as plain text and not as XML text, even if its content is XML. Do I need to use a special function to cast the CLOB as XML?
    Thanks for your help.
    Doulkifli

  • Importing XML Data into a Reader Extended PDF

    I'm using designer 9 to create a PDF that will import an XML document on initialization and will use that document to populated multiple dependent dropdown lists.
    That's working fine in preview when I use xfa.datasets.data.mydataset to access the XML document and proceed to manipulate the XML with e4x.
    Now I have the form working correctly in designer preview and I want to reader extend the form and configure the data connection to access the XML file dynamically instead of using the preview data.
    I've tried a few methods of accessing the data via a reader extended form and they have all failed.
    I've tried to call importData("local filename") and access the XML file that way. That appears to fail silently.
    I've also tried to embed the XML in a hidden form field and the XML document length apparently exceeds the max character limit so I can't do that.
    So how can I import the XML document on form initialization either through a) importing the data(ideally through a web URL)  or b) embedding the XML document directly in the form somewhere?  Thanks.

    Hi,
    It's indeed possible to import data in a reader enabled form with Reader.
    Here's a sample:
    LiveCycle Blog: XML per Skript in Adobe Reader importieren//Import XML via Script into Adobe Reader

Maybe you are looking for

  • Data is not refelct by Set_data method in post method of ME_PROCESS_PO_CUST

    Hi OO gurus, I'm calling Set_data method to set line item data of PO in POST method in ZME_PROCESS_PO_CUST. But data is not updating. Can any body give logic how to call set data method in POST method? Thanks in advance. Edited by: v bheem on Jan 27,

  • APP Payment History

    Hi Everybody, When i try to run APP for a customer i face the following problems. 1. When i pass an entry through F-22 customer invoice, this is not being picked up in the APP run. It gives an error - Company Codes XX/XX doesnot have do not appear in

  • What is the BEST practice - use BO or Java Object in process as webservice

    Hi All, I have my BP published as web service. I have defined My process input & output as BOs. My BP talks to DB through DAO layer(written in JAVA) which has Java objects. So I have BO as well as java Objects. Since I am collecting user input in BO,

  • OBI EE

    Hey, all I am trying to use the OBI EE. First, does enyone have the users guide for the 10.3.3.4 edition? I also need instructions on how to install the product and connect it to data bases. Please if anyone can help find the guides. Thank you.

  • Iphone 4 or ipad not showing in itunes 9.2 or 9.2.1

    Hi. I cannot get my iPhone or iPad to show up in iTunes 9.2 or 9.2.1. The only solution is to reinstall iTunes as it shows up after installation allowing me to sync. If I then restart the computer it doesn't show again so I then reinstall iTunes so t