Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
Adobe Flex SDK 3.3 (Release)
-
None
-
Affected OS(s): All OS Platforms
Language Found: English
Description
PROBLEM:
When a string value is sent to a .NET web service that simply echoes the string back, you discover that when Flex sends the value, it double-encodes ampersands and other special characters.
METHOD:
1. Ensure that the .NET web service "Service" is running (from the attached archive), and import the WSDL to generate the proxy classes. (Data -> Import Web Service...)
2. Update import statements to reflect your class package.
3. (Important!) Breakpoint line 166 of mx.rpc.soap.SOAPEncoder.
4. Run application.
5. Click "Assign Input Value", which assigns a string literal "Test & More" to the first input field.
6. Click "Get Returned Value ->", which passes the input field to the webservice, which simply returns the same value.
7. Note that SOAPEncoder double-encodes the value in the soap envelope, creating the value "&"
8. The webservice processes this (& and returns "&" as shown in the second field.
EXPECTED OUTCOME:
SOAPEncoder should properly escape strings, and the result from the web service should be identical to the value sent to it.