我正在尝试在 actionscript 中创建一个方法来调用 .Net 中的 Restful 服务。方法是:
public function executeService(serviceName:String):void
{
var request:URLRequest = new URLRequest(serviceName);
request.method = URLRequestMethod.POST;
var variables:URLVariables = new URLVariables();
var urlLoader:URLLoader = new URLLoader();
urlLoader.dataFormat = URLLoaderDataFormat.VARIABLES;
configureListeners(urlLoader);
urlLoader.load(request);
}
Restful 接口如下所示:
[OperationContract]
[WebInvoke(Method = "POST", RequestFormat = WebMessageFormat.Xml, ResponseFormat = WebMessageFormat.Xml, BodyStyle = WebMessageBodyStyle.Bare, UriTemplate = "Authenticate1")]
XElement Authenticate1();
这个接口的实现是这样的:
public XElement Authenticate1()
{
return new XElement("<Root>");
}
但是当我运行 actionscript 代码时,它会返回 I/O 错误:
Error #2032: Stream Error.
我不确定这段代码有什么问题,任何帮助将不胜感激。
如果我在 Restful 服务接口中将 Method 值更改为 GET,那么 Web 浏览器可以访问相同的 URL。所以我很确定这个 URL 没有问题。当然,一旦这件事起作用,我会添加 url 变量。
谢谢
更新: 当我从 Fiddler 调用此服务时,它可以工作。