Olá
Quando na minha aplicação Flex recebo excepções lançadas por um webservice
recebo no ecrã resultados diferentes, dependendo do browser que utilizo.

Quando uso o Firefox ou o chrome: a mensagem: SOAP Response cannot be
decoded. Raw response: null

Quando uso o o Internet Explorer ou o Flash Player (fora do browser) já me
retorna a excepção correctamente.

Já aconteceu isto a mais alguém?

Aqui fica o código de um webservice e aplicação que fiz para testar
(resultado: http://img402.imageshack.us/i/exception.png/ ) :
webservice:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;

namespace webServiceTestes
{
    /// <summary>
    /// Summary description for Service1
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/";)]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // To allow this Web Service to be called from script, using
ASP.NETAJAX, uncomment the following line.
    // [System.Web.Script.Services.ScriptService]
    public class Service1 : System.Web.Services.WebService
    {

        [WebMethod]
        public string HelloWorld(String teste)
        {

            if (teste=="teste")
                throw new Exception("Apanha-me se poderes");

            return "Hello World";
        }
    }
}

Aplicação:

<?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" xmlns:service1="services.service1.*">
     <fx:Script>
          <![CDATA[
               import mx.controls.Alert;
               import mx.rpc.events.FaultEvent;
               import mx.rpc.events.ResultEvent;
               protected function
button1_clickHandler(event:MouseEvent):void
               {
                    HelloWorldResult.token = service1.HelloWorld("teste");
               }



               protected function
service1_resultHandler(event:ResultEvent):void
               {
                    Alert.show("Result: " + (event.result as String));
               }
               protected function
service1_faultHandler(event:FaultEvent):void
               {
                    Alert.show(event.fault.faultString + '\n' +
event.fault.faultDetail);
               }
          ]]>
     </fx:Script>
     <fx:Declarations>

           <s:CallResponder id="HelloWorldResult"/>
           <service1:Service1 result="service1_resultHandler(event)"
id="service1" fault="service1_faultHandler(event)" showBusyCursor="true"/>
          <!-- Place non-visual elements (e.g., services, value objects)
here -->
     </fx:Declarations>
     <s:layout>
          <s:VerticalLayout />
     </s:layout>
     <s:Button click="button1_clickHandler(event)"/>

</s:Application>

--
Cumprimentos,
Miguel Magalhães

-- 
Recebeu esta mensagem porque está inscrito no grupo "Mailing List da Comunidade 
Portuguesa de Rich Internet Applications - www.riapt.org" dos Grupos do Google.

Para publicar uma mensagem neste grupo, envie um e-mail para 
[email protected].
Para anular a inscrição neste grupo, envie um e-mail para 
[email protected].
Para ver mais opções, visite este grupo em 
http://groups.google.com/group/riapt?hl=pt-PT.

Responder a