我有一个https .net web服务。使用像soap UI这样的工具调用web方法可以正常工作。我无法从flex调用webmethod。我的WSDL在flex中加载得很好。
在部署我的Flex应用程序和Web服务在同一台服务器上。当使用机器url和服务器内的访问它工作正常,但不是当我使用Flex应用程序的https url。
例如 - http://machinename/flex/flexApp.html可与PLACEHOLDER_FOR_CODE_1正常工作,但https://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);
}并且服务定位器具有以下标记,我将外部网址设置为https:// ....
id="sqlWebService"
useProxy="false"
concurrency="multiple"
showBusyCursor="true"
wsdl="{Url}"/>