Groups | Blog | Home
all groups > macromedia flash flash remoting > may 2004 >

macromedia flash flash remoting : delayed response on SOAP web service call



Rooster60602
5/17/2004 4:54:22 PM
I'm using FR to call two web services for weather and time in several regions.
When testing the services at xMethods or the developers' sites, I get a
response immediately. When accessing thru FR, it's taking 10 seconds to get
time and 45 seconds for weather...Any ideas on what would cause the delay?

Another related problem...This movie and the parent movie in which it is
loaded have several buttons with loadMovie or loadMovieNum actions to call
other movies to the same level on which this one sits. If I click on one of
these buttons, instead of jumping right to the movie that was loaded, the
screen goes blank until the service call for weather/time is done, then the new
movie loads in fine. Any ideas what would cause this?

Here's my code for the service call, in case this reveals anything about the
delay:

var cityCodes = new Array("KJFK", "KORD", "KLAX", "KMIA", "RJTT", "EGGW")
weatherws =
connection.getService("http://www.innergears.com/WebServices/WorldWeatherByICAO/
WorldWeatherByICAO.asmx?WSDL",this);
for (i=0; i<6; i++){
weatherws.GetWorldWeatherByICAO(cityCodes);
}

var city = 0;
var cityCodes = new Array("EST", "CST", "PST", "EST", "JST", "BST")
//weather
timews =
connection.getService("http://ws.digiposs.com/WorldTime.jws?wsdl",this);
for (i=0; i<6; i++){
timews.tzStampNow(cityCodes);
}

night981
5/19/2004 8:11:33 AM
Hey Rooster,

I came across this yesterday while working on something similar, maybe it'll
help - I found it under the flash mx 2004 help searching for 'wdsl' - the soap
class... Do read it and look at the part about lazy decoding - that might just
be it!



SOAPCall class (Flash Professional only)
The SOAPCall class is part of the mx.services package and is intended as an
advanced feature to be used with the WebService class (see WebService class
(Flash Professional only)). For an overview of the classes in the
mx.data.services package, see Web service classes (Flash Professional only).

When you create a new WebService object, it contains the methods corresponding
to operations in the WSDL URL you pass in. Behind the scenes, a SOAPCall object
is created for each operation in the WSDL as well. The SOAPCall is the
descriptor of the operation, and as such contains all the information about
that particular operation (how the XML should look on the wire, the operation
style, and so on). It also provides control over certain behaviors. You can get
the SOAPCall for a given operation by using the getCall(operationName)
function. There is a single SOAPCall for each operation, shared by all active
calls to that operation. Once you have the SOAPCall, you can customize the
descriptor, by doing the following:

Turn on/off decoding of the XML response.
Turn on/off the delay of converting SOAP arrays into ActionScript objects.
Change the concurrency configuration for a given operation.
Add a header to the SOAPCall object.
ActionScript Class Name mx.services.SOAPCall

Function summary for the SOAPCall object
Function
Description

SOAPCall.addHeader()
Adds a header to the SOAPCall object.


Property summary for the SOAPCall object
Property
Description

SOAPCall.concurrency
Changes the concurrency configuration for a given operation.

SOAPCall.doDecoding
Turns on/off decoding of the XML response.

SOAPCall.doLazyDecoding
Turns on/off the delay of turning SOAP arrays into ActionScript objects.


Constructor for the SOAPCall class
Availability
Flash Player 6 version 79.

Edition
Flash MX Professional 2004.

Description
The SOAPCall object is not constructed by the developer. Instead, when you
call a method on a WebService object, the WebService object returns a
PendingCall object. To access the associated SOAPCall object, use
myPendingCall.myCall.



Jonathan Cash
Text
AddThis Social Bookmark Button