1 Reply Latest reply on Jul 28, 2008 1:05 PM by ntsiii

    Asynchronous Web Service calls hung.

    khArchway
      JobsWS.GetParentJobsList.send();
      JobsWS.GetJobTaskList.send();
      JobsWS.GetScheduleFrequencyList.send();

      <mx:WebService id="BreakpointJobsWS" wsdl="{parentApplication.WebServiceBaseDir}/JobProcessing/JobsWS.asmx?wsdl" showBusyCursor="true" useProxy="false">
      <mx:operation name="GetParentJobsList" result="GetParentJobsListHandler( event )">
      <mx:request>
      <customerID>{CustomerID}</customerID>
      <jobID>{JobID}</jobID>
      </mx:request>
      </mx:operation>
      <mx:operation name="GetJobTaskList" result="GetJobTaskList( event )">
      </mx:operation>
      <mx:operation name="GetScheduleFrequencyList" result="GetScheduleFrequencyListHandler( event )">
      </mx:operation>
      </mx:WebService>

      The above lines of code are executed upon the initialization of my popup screen in Flex. Each one is calling an operation of a WebService element. There are dropdowns on the page that each bind to the results of each of these web service calls. The web services that are called are .NET C# web services. This code is all logically correct and it works fine IF I debug my c# web services and "slow down" the calls made by Flex to each of these web service methods. If I don't debug and leave the operation to run at normal speed, the web service calls appear to get "bound up" or "locked" or "hung" in some way. My drop-downs don't get populated and the mouse "wait clock" keeps spinning and never stops.

      What I'm not 100% certain about at this point is whether this is a Flex issue or an IIS issue. I know that the calls get sent in fine, but I'm not sure if IIS is not sending repsonses appropriately or if Flex is not capturing the responses correctly. I mainly wanted to post this because I haven't found anyone else that has encountered a similar issue. If you've encountered anything similar, can you tell me what you may have done to resolve the issue?

      As for now, I'm going to daisy-chain my calls so that they act in a more synchronous manner. This appears to resolve the issue for me, albeit a sad "work-around" for a more appropriate asynchronous solution.

      Thanks!