The problem seems to be here. I tried to trace each item and the length of each 
and they come up null and blank.

var xlNames:XMLList = xmlResult..columnList.string; 
var xlValues:XMLList = xmlResult..ArrayOfAnyType.anyType;

----------------------------------------
From: "Tracy Spratt" <[email protected]>
Sent: Saturday, January 31, 2009 10:44 AM
To: [email protected]
Subject: RE: [flexcoders] Oh WTF? Web Services: Anyone work with Blue Disaster 
(I mean Dragon)? 

No, that was a typo.  Change columns to
names.   Why is it blank?  What is not working?   

Tracy Spratt 
 Lariat Services  

Flex development bandwidth available  
----------------------------------------
 From: 
[email protected] [mailto:[email protected]] On Behalf Of 
Wally Kolcz
Sent: Saturday, January 31, 2009
12:04 PM
To: [email protected]
Subject: RE: [flexcoders] Oh WTF?
Web Services: Anyone work with Blue Disaster (I mean Dragon)?   

I tried this (slight modification) and it came up
blank. In your loop, you have xlColumns[i] but you declared 'xlNames'. Are they
the same? Did I miss something?

public function loginHandler(e:ResultEvent):void {

            var oLoginInfo:Object
= new Object();

            var xmlResult =
XML(e.result)

            var xlNames:XMLList =
xmlResult..columnList.string;

            var xlValues:XMLList =
xmlResult..ArrayOfAnyType.anyType;

            for (var
i:int=0;i<xlNames.length();i++) {

oLoginInfo[xlNames[i]] = xlValues[i];

            }

 Alert.show(oLoginInfo.lastName,'Last Name');

}   
----------------------------------------
 From :
"Tracy Spratt" <[email protected]>
Sent: Saturday, January 31, 2009
7:40 AM
To: [email protected]
Subject: RE: [flexcoders] Oh WTF?
Web Services: Anyone work with Blue Disaster (I mean Dragon)? Yeah that is not 
pretty xml.  Since your data is not really a
list, but more properties of an object, here is what I would do:   var 
oLoginInfo:Object = new Object(); var xmlResult = XML(event.result) var 
xlNames:XMLList = xmlResult..columnList.string; var xlValues:XMLList = 
xmlResult..ArrayOfAnyType.anyType; for (var i:int=0;i<xlNames.length();i++) {   
oLoginInfo[xlColumns[i]] = xlValues[i]; }   To see a value do: 
trace(oLoginInfo.lastName); //will trace ' Kolcz'    But also, don't forget to 
compare the result from both servers, to
see if you get the same result. 

Tracy Spratt 
 Lariat Services 

Flex development bandwidth available 
----------------------------------------
 From:  [email protected] [mailto:[email protected]]
On Behalf Of Wally Kolcz
Sent: Friday, January 30, 2009
9:00 PM
To: [email protected]
Subject: RE: [flexcoders] Oh WTF?
Web Services: Anyone work with Blue Disaster (I mean Dragon)?   

This
is what get from E4X. I have no idea on how to this to an easier format to use
like what I get from an ArrayCollection with a RemoteObject. 

Do I use XMLListCollection? Any hint on how? If I declare my userData variable
as public var userData:XMLListCollection = new XMLListCollection();
What do I set it to?

Thanks!

Result

<loginResponse 
xmlns="http://www.newatlanta.com/bluedragon/cfc/prmc/PRMCProjects/edu/umich/security";
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/";
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xmlns:xsd="http://www.w3.org/2001/XMLSchema";>

  <loginResult>

    <columnList xmlns="http://www.newatlanta.com/bluedragon";>

      <string>uniqname</string>

      <string>password</string>

      <string>lastName</string>

      <string>firstName</string>

      <string>position</string>

      <string>department</string>

      <string>role</string>

      <string>isActive</string>

    </columnList>

    <data xmlns="http://www.newatlanta.com/bluedragon";>

      <ArrayOfAnyType>

        <anyType xsi:type="xsd:string">wkolcz</anyType>

        <anyType xsi:type="xsd:string">2113</anyType>

        <anyType xsi:type="xsd:string">Kolcz</anyType>

        <anyType xsi:type="xsd:string">Wally</anyType>

        <anyType xsi:type="xsd:string">ColdFusion
/ Flex Developer</anyType>

        <anyType xsi:type="xsd:string">PRMC</anyType>

        <anyType xsi:type="xsd:string">admin</anyType>

        <anyType xsi:type="xsd:double">1</anyType>

      </ArrayOfAnyType>

    </data>

  </loginResult>

</loginResponse> 
----------------------------------------
 From : "Tracy Spratt" <[email protected]>
Sent: Thursday, January 29, 2009
8:29 PM
To: [email protected]
Subject: RE: [flexcoders] Oh WTF?
Web Services: Anyone work with Blue Disaster (I mean Dragon)? Better set 
resultFormat="e4x" and look at ther real
xml data instead of the converted object tree.   

Tracy Spratt  
 Lariat Services  

Flex development bandwidth available  
----------------------------------------
 From:  [email protected] [mailto:[email protected]]
On Behalf Of Wally Kolcz
Sent: Thursday, January 29, 2009
9:33 AM
To: [email protected]
Subject: [flexcoders] Oh WTF? Web
Services: Anyone work with Blue Disaster (I mean Dragon)?    

I have 2
mirrored environments. One on my laptop running Adobe CF8 and one at the
University running Blue Dragon 7. I have the same  CFCs set to remote, the
same database stucture, and the same <mx:WebService> on both. I am just
switching the wsdl location between the 2 and I am getting COMPLETELY diffferent
responses. The only difference is the actual Servers.

When I return a query via web service with Adobe and render it out with 
Alert.show(ObjectUtil.toString(e.result),'Result');,
I get this:

(mx.collections::ArrayCollection)#0

  filterFunction = (null)

  length = 1

  list = (mx.collections::ArrayList)#1

    length = 1

    source = (Array)#2

      [0] (Object)#3

        DEPARTMENT = "PRMC"

        FIRSTNAME = "Wally"

        ISACTIVE = 1

        LASTNAME = "Kolcz"

        POSITION = "Senior ColdFusion
Architect"

        ROLE = "admin"

        UNIQNAME = "wkolcz"

    uid = "12003FBD-127E-EEEB-4E25-22A5E6599FF8"

  sort = (null)

  source = (Array)#2

With Blue Dragon I get this:

(Object)#0

  columnList = (mx.collections::ArrayCollection)#1

    filterFunction = (null)

    length = 8

    list = (mx.collections::ArrayList)#2

      length = 8

      source = (Array)#3

        [0] "uniqname"

        [1] "lastName"

        [2] "firstName"

        [3] "position"

        [4] "department"

        [5] "role"

        [6] "isActive"

      uid = "A8A6C52F-5FDD-35DA-8364-22A4F7846DEB"

    sort = (null)

    source = (Array)#3

  data = (mx.collections::ArrayCollection)#4

    filterFunction = (null)

    length = 1

    list = (mx.collections::ArrayList)#5

      length = 1

      source = (Array)#6

        [0] (mx.collections::ArrayCollection)#7

          filterFunction = (null)

          length = 8

          list = (mx.collections::ArrayList)#8

            length = 8

            source =
(Array)#9

[0] "wkolcz"

[1] "Kolcz"

[2] "Wally"

[3] "ColdFusion / Flex Developer"

[4] "PRMC"

[5] "admin"

[6] 1

            uid =
"1226A691-AB75-70F7-DA33-22A4F7A30F01"

          sort = (null)

          source = (Array)#9

      uid = "2A52253B-DDF8-716E-0A74-22A4F7A38643"

    sort = (null)

    source = (Array)#6

I then added Alert.show(ObjectUtil.toString(e.result.list.source),'source');
and got this with Adobe:

(Array)#0

  [0] (Object)#1

    DEPARTMENT = "PRMC"

    FIRSTNAME = "Wally"

    ISACTIVE = 1

    LASTNAME = "Kolcz"

    PASSWORD = "2113"

    POSITION = "Senior ColdFusion Architect"

    ROLE = "admin"

    UNIQNAME = "wkolcz"

And this with Blue Dragon:

TypeError: Error #1010: A term is undefined
and has no properties.

Anyone know a work around to get the same results? I was able to get my
'uniqname' with Adobe by using userData.getItemArt(0).UNIQNAME
but it fails in BD.

Thanks for ANY help in this Blue Disaster.      



Reply via email to