Вызов HTTPS веб-сервиса из flex - PullRequest
0 голосов
/ 26 августа 2011

У меня есть веб-сервис https .net. Вызов веб-методов с использованием таких инструментов, как мыльный интерфейс, работает нормально. Я не могу вызвать веб-метод из flex. Мой WSDL прекрасно загружается в flex.

При развертывании мое flex-приложение и веб-сервис находятся на одном сервере. При использовании URL-адреса компьютера и доступа изнутри сервера он работает нормально, но не тогда, когда я использую URL-адрес https для приложения flex.

Например - http://machinename/flex/flexApp.html отлично работает с https://publicname/wservice/ws.asmx, но https://publicname/flex/flexapp.html не работает.

У меня есть междоменная политика с полным доступом, а также у меня есть действительный сертификат SSL на сервере.

Когда я выполняю вызов с моего локального компьютера в режиме отладки, я вижу следующее в Fiddler-

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

Спасибо, Нихилу.

Вот мой код Flex, который его называет:

//business delegate

public function BusinessDelegate(responder : IResponder):void
    {
        _responder = responder;
        _service = ServiceLocator.getInstance().getService("sqlWebService");
        _service.loadWSDL();
    }

    //Login User
    public function Login(userId:String,password:String):void
    {
        var asyncToken:AsyncToken = _service.LoginUser(userId,password);
        asyncToken.addResponder(_responder);
    }

и локатор службы имеет следующий тег, в котором я задаю URL-адрес извне как https: //....

<mx:WebService 
    id="sqlWebService" 
    useProxy="false" 
    concurrency="multiple"
    showBusyCursor="true"
    wsdl="{Url}"/>

Ответы [ 2 ]

0 голосов
/ 17 января 2013

При использовании службы WCF и WebService во Flex используйте service.svc? Wsdl для HTTP и service.svc / wsdl? Wsdl для HTTPS,

0 голосов
/ 26 августа 2011

Я наконец смог решить эту проблему, заменив код, в котором я вызываю объект Flex WebService, на конкретные сгенерированные классы для веб-службы.

Я сгенерировал классы для веб-службы с помощью Import WebService (WSDL) иустанавливал URL для основного класса во время выполнения как https: //.....

, и он работает как шарм ... и я вижу, что в Fiddler он показывает, что я правильно выхожу как HTTPSвместо HTTP.

Вот что мне помогло - http://livedocs.adobe.com/flex/3/html/help.html?content=security2_15.html Комментарий от nated.

Спасибо Flextras.com за указание на правильное направление.Решено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...