views:

344

answers:

2

I am querying a 3rd party web service and not all the data seems to be making it to the event handler. When I view the request/response in the Network Monitor I see a collection of data objects each containing two string variables (name, url) and two arrays (counts, breakdown). When the result handler receives the data and I view it in debug mode, the collection of data objects each only contains one string variable (name). What happened to the other string var (url) and both arrays (counts, breakdown)? Any idea what would cause this since it seems to becoming corrupt before it reaches the event handler but after it is received by the network? Is this most likely an IDE issue? Anyone else seen this? Thanks in advance.

A: 

sometimes complex types are not de-serialised properly. Are you calling the service directly or using flex generated proxy classes.

If your sure the strings are in the SOAP response message the best bet would be to put a debug point on in the SOAPDecoder class and follow the de-serialisation through.

You can use a tool like BURP to catch the http packets of the SOAP message to and from the service.

Jon
Thanks for the response. In reading the 'Custom Web Service Serialization' and else where I see I need to debug the class mx.rpc.soap.ISOAPDecoder. Problem is, I can't find that file anywhere. It is not in that path for either SDK 3.3 or 3.4 on my system. Any ideas where I am making things complicated?
Jeff Pinkston
Yeah its a pesky one to find! Your best bet is to create a class that extends SOAPDecoder then drill into it and you can set your debug point. Its complex code though - your eventually get to XMLDecoder which where it happens i think. GOOD LUCK! LEt me know how you get on!I made a little class that did the opposite for someone else on this form he wanted access to the SOAP encoder so just swap the names around it you want a template - http://stackoverflow.com/questions/1247273/how-to-add-a-flat-message-header-to-a-flex-web-service-call/1249592#1249592
Jon
Awesome! Making headway. Looks like in my case the info is being corrupted/changed/not included in the decodeBody() function as is passes everything in the bodyXML variable, but when it sets the soapResult.result var it is lacking those missing variables.
Jeff Pinkston
Maybe this might be a case where to handle the de-serialisation of those variables that dont make it in a custom SOAPDecoder class?
Jon
A: 

same problem for me too server sending data i can see through firbug , but in debug mode the result set not having the array varibles missing

Any one can help me pls.

senthil.srinivasan