Веб-сервисы RESTful для Flex - PullRequest
       6

Веб-сервисы RESTful для Flex

1 голос
/ 16 февраля 2012

Я совершенно новичок во Flex (фактически меня бросили ... смеется).Я пытаюсь отобразить сообщение, которое я создал в веб-сервисе.Я получаю сообщение об ошибке «Ошибка безопасности при доступе к URL-адресу назначения: DefaultHTTP»

Вот копия моего кода ... Я знаю, что это может быть что-то простое.Я создал Службу данных для настройки службы HTTP, и я протестировал операцию, и все прошло успешно при тестировании ... просто возникли небольшие проблемы с отображением

<?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"
           xmlns:restsrv="services.restsrv.*"
           minWidth="955" minHeight="600" applicationComplete="init ()">

<fx:Declarations>

    <mx:HTTPService id="service" url="http://servername/RestService/Service.svc/XMLService/hi"  method="POST" resultFormat="e4x" />



    <restsrv:Restsrv id="restsrv"
                     fault="Alert.show(event.fault.faultString + '\n' + event.fault.faultDetail)"
                     showBusyCursor="true"/>        
    <s:CallResponder id="RESTfulResult"/>
</fx:Declarations>

<fx:Script>
    <![CDATA[
        import mx.controls.Alert;
        import mx.events.FlexEvent;
        import mx.rpc.http.HTTPService;
        import mx.rpc.events.FaultEvent;
        import mx.rpc.events.ResultEvent;


        protected function form_creationCompleteHandler(event:FlexEvent):void
        {
            RESTfulResult.token = restsrv.RESTful();
            /* rESTfulTextInput.text = RESTfulResult.toString(); */
            service.send();                 
        }                   
    ]]>
</fx:Script>


<s:Form id="form" creationComplete="form_creationCompleteHandler(event)">
    <s:FormItem label="RESTful">
        <s:TextInput id="rESTfulTextInput" text="{RESTfulResult.lastResult as String}"/>
    </s:FormItem>
</s:Form>


</s:Application>

Вот как выглядит код при добавлении правильного синтаксисаВы предложили LXX

<?xml version="1.0" encoding="utf-8"?>

<cross-domain-policy>
<allow-access-from domain="http://my-server-name-dev3/RestService/Service.svc/XMLService/hi" />
</cross-domain-policy>
<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"
           xmlns:restsrv="services.restsrv.*"
           minWidth="955" minHeight="600" applicationComplete="init ()">

1 Ответ

1 голос
/ 16 февраля 2012

Если вы не запускаете этот код также из http://servername, у вас такая же проблема политики происхождения.Вы можете решить эту проблему, добавив клиентский хост к crossdomain.xml на сервере.

Например, для localhost вы должны добавить

<allow-access-from domain="localhost"/>
...