Bonjour,

je tente d'accéder à un Web service en REST de Digg. Pour cela, j'utilise un HTTPService, auquel je dois fournir des arguments. La valeur de l'un de mes arguments est une url, mais lorsque je lance ma requête, le player flash me renvoie une belle erreur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
[RPC Fault faultString="HTTP request error" faultCode="Server.Error.Request" faultDetail="Error: [IOErrorEvent type="ioError" bubbles=false cancelable=false eventPhase=2 text="Error #2032: Erreur de flux. URL: http://services.digg.com/stories/topic/test?appkey=http%253A%252F%252Fscottgu%2Ecom&count=20"]. URL: http://services.digg.com/stories/topic/test"]
	at mx.rpc::AbstractInvoker/http://www.adobe.com/2006/flex/mx/internal::faultHandler()[C:\autobuild\3.2.0\frameworks\projects\rpc\src\mx\rpc\AbstractInvoker.as:220]
	at mx.rpc::Responder/fault()[C:\autobuild\3.2.0\frameworks\projects\rpc\src\mx\rpc\Responder.as:53]
	at mx.rpc::AsyncRequest/fault()[C:\autobuild\3.2.0\frameworks\projects\rpc\src\mx\rpc\AsyncRequest.as:103]
	at DirectHTTPMessageResponder/errorHandler()[C:\autobuild\3.2.0\frameworks\projects\rpc\src\mx\messaging\channels\DirectHTTPChannel.as:362]
	at flash.events::EventDispatcher/dispatchEventFunction()
	at flash.events::EventDispatcher/dispatchEvent()
	at flash.net::URLLoader/redirectEvent()
J'ai l'impression que les caractères "spéciaux" de mon url (le paramètre appKey) sont échappés, et que c'est cela qui crée mon erreur. Ce qui me met sur la voie, c'est que si j'essaye d'accéder à l'url "http://services.digg.com/stories/topic/basketball?appkey=http%253A%252F%252Fscottgu%2Ecom&count=20", je reçois un XML qui me signifie en gros "invalid appKey", alors que si je n'échappe pas les caractères spéciaux, ça se passe mieux...
Voici comment j'ai codé tout ça :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">

	<mx:HTTPService id="diggService" 
		url="http://services.digg.com/stories/topic/{input_recherche.text}">
	    <mx:request>
	    	<count>20</count>
	    	<appkey>http://scottgu.com</appkey>
	    </mx:request>
	</mx:HTTPService>

	<mx:Grid width="100%" height="100%">
		<mx:GridRow width="100%" height="40">
			<mx:GridItem width="100%" height="100%">
				<mx:HBox width="100%">
					<mx:Label text="Ma première appli Flex"/>
					<mx:TextInput id="input_recherche"/>
					<mx:Button label="Chercher" width="100"
						click="{diggService.send()}" />
				</mx:HBox>
			</mx:GridItem>
		</mx:GridRow>
		<mx:GridRow width="100%" height="30">
			<mx:GridItem height="100%" width="100%">
				<mx:Label id="txt_rqt_REST" />
			</mx:GridItem>
		</mx:GridRow>
		<mx:GridRow width="100%" height="100%">
			<mx:GridItem width="100%" height="100%">
				<mx:DataGrid width="100%">
				</mx:DataGrid>
			</mx:GridItem>
		</mx:GridRow>
	</mx:Grid>
</mx:Application>
Avez vous une idée de mon problème et de comment le résoudre ? sinon, comment je pourrais faire pour que mes caractères ne soient pas échappés ?