We need help testing web services!

Over the last year we’ve received a lot of feedback on our Web Service support and have worked hard to address these issues. With Flex 2.0.1 Hotfix 2 we rebuilt the underlying mechanism which helped a number of customers but also introduced some issues that we’ve needed to subsequently address. We now believe that we have a build that has addressed our most important issues and would like to ask for your help in testing this out on your own web services. Please download the Flex 3 SDK build 186039 from http://labs.adobe.com/technologies/flex/sdk/flex3sdk.html and use it to test against any web service you use with Flex. This may be a service that supports an existing Flex application, or perhaps a test service that you used to help us with bugs. We know that not all of your apps may have been built with Flex 3, but anything you can do to help us validate our fixes in a real-world scenarios would be greatly appreciated. Note: at this time we are looking for tests that use the mx:WebService (or mx.rpc.soap.WebService), not the Flex Builder WSDL wizard.

Please send us any and all feedback as soon as possible, as we are reaching the end of our development cycle and want to make sure we have addressed as much as we can. Bugs can be filed at http://bugs.adobe.com/flex and it will be helpful if you can include the WSDL, a small example of how to call the service, and best if you can include a sniffed version of the SOAP traffic. See below for an example MXML testcase.

<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">

<mx:Script>
<![CDATA[

import mx.controls.Alert;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import mx.utils.ObjectUtil;

private function makeCall():void
{
var myArgument:String = "foo";
ws.myMethod(myArgument);
}

private function resultHandler(event:ResultEvent):void
{
trace(event.result);
output.text += "\n" + ObjectUtil.toString(event.result);
}

private function faultHandler(event:FaultEvent):void
{
Alert.show("Fault", event.fault.toString());
}

]]>
</mx:Script>

<!--
If you need to demonstrate an issue with SOAP decoding, or wish to test
a complete round-trip and cannot make your web service endpoint
available, please capture the SOAP response XML with an HTTP sniffer
and add a response.xml file to the bug description.

This will help us mimic a live response as we can set the SOAP
address location in the sample.wsdl to the response.xml file.
-->
<mx:WebService id="ws" wsdl="sample.wsdl"
fault="faultHandler(event)"
result="resultHandler(event)" />

<mx:Button label="Make Call" click="makeCall()" />
<mx:TextArea id="output" width="100%" height="100%" />

</mx:Application>