Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MXML Discussion :

Difficulté à utiliser un webservice.


Sujet :

MXML

  1. #1
    Expert confirmé
    Difficulté à utiliser un webservice.
    Bonjour,

    Je souhaite faire de simple teste bateau pour tenter de comprendre et manipuler de Flex avec les webservice. J'ai regardé des exemples dans l'aide et sur le net, je fais pourtant la même chose mais j'ai toujours un message d'erreur.
    Mon webservice fonctionne très bien, j'ai un simple script permettant de le tester qu'il remonte bien des données (format XML).


    [RPC Fault faultString="Error #1009: Il est impossible d'accéder à la propriété ou à la méthode d'une référence d'objet nul." faultCode="EncodingError" faultDetail="null"]
    at mx.rpc.soap::Operation/http://www.adobe.com/2006/flex/mx/internal::invokePendingCall()[E:\dev\4.x\frameworks\projects\rpc\src\mx\rpc\soap\Operation.as:905]
    at mx.rpc.soap::Operation/send()[E:\dev\4.x\frameworks\projects\rpc\src\mx\rpc\soap\Operation.as:819]
    at Function/http://adobe.com/AS3/2006/builtin::apply()
    at mx.rpc.soap.mxml::Operation/send()[E:\dev\4.x\frameworks\projects\rpc\src\mx\rpc\soap\mxml\Operation.as:195]
    at Function/http://adobe.com/AS3/2006/builtin::apply()
    at mx.rpc::AbstractService/http://www.adobe.com/2006/actionscript/flash/proxy::callProperty()[E:\dev\4.x\frameworks\projects\rpc\src\mx\rpc\AbstractService.as:408]
    at MysqlFlex/monboutton_clickHandler()[C:\Users\Berceker United\Adobe Flash Builder 4 Plug-in\MysqlFlex\src\MysqlFlex.mxml:29]
    at MysqlFlex/__monboutton_click()[C:\Users\Berceker United\Adobe Flash Builder 4 Plug-in\MysqlFlex\src\MysqlFlex.mxml:36]
    Si je comprend bien, il y a un objet parent qui est non instancié mais d'après mes test j'ai l'impression que tout est là. J'ai vue des exemples qui présentais la chose d'un peut prêt la même manière. J'ai l'impression de passer à coté de quelque chose mais je ne sais pas.
    Y aurait il quelque chose qui vous saute au yeux ?
    Merci.

    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
    37
    38
    39
    40
     
    <?xml version="1.0" encoding="utf-8"?>
    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
    			   xmlns:s="library://ns.adobe.com/flex/spark" 
    			   xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" >
    	<fx:Style source="MysqlFlex.css"/>
    	<fx<img src="images/smilies/icon_biggrin.gif" border="0" alt="" title=":D" class="inlineimg" />eclarations>
    		<!-- Placer ici les éléments non visuels (services et objets de valeur, par exemple). -->
    		<mx:WebService id="statesService" useProxy="false"  
    					   wsdl="http://127.0.0.1/MysqlAir/scripts/wsdl/MysqlFlexR.wsdl">
    			<mx:operation  name="getAllDatabases"  resultFormat="xml" result="go(event)" />
     
    		</mx:WebService>
     
     
    	</fx<img src="images/smilies/icon_biggrin.gif" border="0" alt="" title=":D" class="inlineimg" />eclarations>
    	<fx:Script>
    		<![CDATA[
    			import mx.controls.Alert;
    			import mx.rpc.events.FaultEvent;
    			import mx.rpc.events.ResultEvent; 
     
    			public function go(e:ResultEvent):void{			
    				monArea.text = e.messageId;
    			}
     
    			public function monboutton_clickHandler(event:MouseEvent):void
    			{
    				// TODO Auto-generated method stub
    				go(statesService.getAllDatabases.send());
    			}
     
    		]]>
    	</fx:Script>
    	<s<img src="images/smilies/icon_razz.gif" border="0" alt="" title=":P" class="inlineimg" />anel width="613" id="toto">
    		<s:TextArea x="43" y="29" width="445" height="169" id="monArea"/>
    		<s:Button x="531" y="167" click="monboutton_clickHandler(event)" label="Button" id="monboutton" enabled="true"/>
     
    	</s<img src="images/smilies/icon_razz.gif" border="0" alt="" title=":P" class="inlineimg" />anel>
    </s:Application>
    Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...

  2. #2
    Membre émérite
    Bonjour,

    tu ne dois pas appeler le resultEvent d'une fonction, elle est appelée d'elle même si tout se passe bien

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public function monboutton_clickHandler(event:MouseEvent):void
    {
         statesService.getAllDatabases.send();
    }

  3. #3
    Expert confirmé
    Bonjour et merci pour votre intervention.

    J'ai fais de modification et j'ai toujours cette erreur sur le faite que j'ai un objet null utilisé. En faite, le code n'est pas trop révélateur car mon problème ce situe à ceci : statesService.getAllDatabases.send(); ou statesService.getOperation("getAllDatabases").send();
    ou
    statesService.getAllDatabases();

    J'ai toujours le même message
    Mon avatar ? Ce n'est rien, c'est juste la tête que je fais lorsque je vois un code complètement frappa dingue !...

  4. #4
    Membre émérite
    Etant moi même un peu débutant avec Flex, j'avoue que je vois pas où est le problème...

    Y'a une série de vidéos ici avec sous titrages notamment sur les services, tu peux toujours les regarder

###raw>template_hook.ano_emploi###