У меня есть веб-сервис 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}"/>