Kbase P115038: Unable to load WSDL when calling a Web Service operation from Flash
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  10/04/2006 |
|
Status: Unverified
FACT(s) (Environment):
OpenEdge 10.x
Web Services
SYMPTOM(s):
Unable to load WSDL when calling a Web Service operation from Flash
ERROR: FAULT CODE: Client.Disconnected MSG: Could not load WSDL DETAIL: Unable to load WSDL, if currently online, please verify the URI and/or format of the WSDL (http://hostname:8080/wsa/wsa1/wsdl?targetURI=urn:application-name)
Using Flash 8 to make a request to a Progress OpenEdge Web Service
The Flash application works fine when calling the Web Service procedure from a local computer within the Intranet
The same service is unreachable when making a call to the Web Service operation from outside the private network
CAUSE:
This is a Flash security issue. Adobe (formerly Macromedia) Flash 8, and future versions of the Flash engine have an embedded security feature that prevents Flash Clients from connecting to unauthorized or unknown data sources by default. This feature is new to version 8 and, by default will disallow Flash Client?s from connecting to an external data source. Flash Clients being tested (using the ?Control/Test Movie? menu option) in the Flash 8 IDE are not subject to this security constraint; thereby giving the Flash developer the impression that no security filter is active. However, the standalone (published) Flash Application is subject to the security constraint and will not connect to external data sources without adjusting Global Security Settings for Flash Clients.
There are several reasons why the Flash Client is configured to deny access for remote data sources by default ? the primary one being that Flash Malware would be able to transmit and receive data without the users? knowledge and cause irreparable damage locally or, facilitate identity theft through data mining
FIX:
To enable a Flash Client to connect to and interact with an external data source, one must add the Flash Client to a list of authorized clients. This is done somewhat strangely, but effectively:
1. Open the Flash Client (or web page containing the Flash client) you wish to grant external access to.
2. Right-click on the Flash Client (you must right-click on the Flash movie element and not the hosting web page itself); select ?Settings? from the menu.
3. When the security dialog pops up, click the ?Advanced? button ? you will be directed to an Adobe (Macromedia web page). This web page sets the security components for your local machine with respect to Flash applications running locally. Although it appears you are looking at an example of some kind; you?re not.
4. Under the left-hand menu ?Table of Contents? select ?Global Security Settings Panel?.
5. In the Flash Movie appearing on the Global Security Settings Panel, select ?Edit Locations/Add Location? from the drop-down combo box.
6. Enter the full path (or ?Browse for files?) of the Flash application you want to have external access, and click ?Confirm?.
7. Close the Flash Security web page