Синтаксис для вызова HTTP-сервлета из Flex - PullRequest
0 голосов
/ 08 июня 2011

Просто пытаюсь выяснить правильный синтаксис для создания POST для HTTP-сервлета из Flex. Разработчик Java дал мне этот URL для вызова:

http://myUrl:myPort/myProject/test/getFile/?fileId=1225

Я хочу динамически создать URL-адрес HTTPService, то есть в конце я пропускаю '1225'.

Мой вопрос касается того, как перевести это в MXML. Значит ли это, что мой объект HTTPService выглядит так?

<mx:HTTPService
    id="rawFileServlet"
    url="http://myUrl:myPort/myProject/test/getFile/?fileId="
    method="POST"
    showBusyCursor="true">

    <mx:request xmlns="">
        <fileId>

        </fileId>
    </mx:request>

</mx:HTTPService>

И мой звонок такой:

params["fileId"] = 1225; httpServ.send(params);

Это правильно? Что-то странное в этом.

Вот обновленный код, который работает, но не позволяет мне ловко ловить удаленные ошибки:

var url:String = model.fileUploadServletUrl;

        var request:URLRequest = new URLRequest();
        request.method = 'POST';
        request.url = url;

        var uvar:URLVariables = new URLVariables();
        uvar.fileId = evt.fileId;

        request.data = uvar;

        try{
            navigateToURL( request );
        }
        catch( e:Error ){
            ErrorManager.processRemoteError( 'Download Excel failed' );
        }

1 Ответ

3 голосов
/ 08 июня 2011

Если вы формируете свои параметры в ActionScript в методе send(), используйте следующее:

<mx:HTTPService
    id="rawFileServlet"
    url="http://myUrl:myPort/myProject/test/getFile/"
    method="POST"
    showBusyCursor="true" />

И вы можете использовать простой объект для params:

var params:Object = {fileId: 1225};
rawFileServlet.send(params);
...