首页 文章

从flex调用HTTPS webservice

提问于
浏览
0

我有一个https .net webservice . 使用soap UI等工具调用Web方法可以正常工作 . 我无法从flex调用web方法 . 我的WSDL在flex中加载很好 .

部署时,我的Flex应用程序和Web服务位于同一服务器上 . 当使用机器URL并从服务器内访问时,它工作正常,但是当我使用https url进行flex应用程序时 .

例如http://machinename/flex/flexApp.html适用于https://publicname/wservice/ws.asmxhttps://publicname/flex/flexapp.html无法正常工作 .

我有完全访问权限的跨域策略,并且我在服务器上有一个有效的SSL证书 .

当我在调试模式下从本地机器拨打电话时,我在Fiddler中看到以下内容 -

WSDL调用正常并且返回正确,协议显示为HTTPS,其中随后的webmethod调用将协议显示为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

    我终于能够通过用我为web服务生成的特定类替换我调用Flex WebService对象的代码来解决这个问题 .

    我使用Import WebService(WSDL)为webservice生成了类,并在运行时将主类的url设置为https:// .....

    它就像一个魅力...而且我看到它在fiddler中显示我正确地以HTTPS而不是HTTP出去 .

    这是帮助我的原因 - http://livedocs.adobe.com/flex/3/html/help.html?content=security2_15.html评论由nated .

    感谢Flextras.com指出我正确的方向 . 解决 .

  • 0

    如果在Flex中使用WCF服务和WebService,请使用service.svc?wsdl表示HTTP,使用service.svc / wsdl?wsdl表示HTTPS,

相关问题