28
2015
10

as3调用webservice方法

as3调用基于soap的webservice。

参考:http://www.cnblogs.com/sevenyuan/archive/2009/12/01/1614767.html

as3没有直接实现soap,但是,soap是基于http+xml的,使用的是http协议,发送的内容通过时xml格式的,as3支持http请求和xml,还可以设置http请求的头信息,因此,as3调用基于soap的webservice应该是不难的。

本站的一个webservice,可用于测试:http://hanyeah.com/study/aspnet/firstDemo/Service1.asmx

代码:

var xml:XML=<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
				<soap:Body>
					<HelloWorld xmlns="http://hanyeah.com/" />
				</soap:Body>
			</soap:Envelope>;
var uld:URLLoader = new URLLoader();
var req:URLRequest = new URLRequest("http://hanyeah.com/study/aspnet/firstDemo/Service1.asmx");
req.method = URLRequestMethod.POST;
req.requestHeaders.push(new URLRequestHeader("Content-Type", "text/xml;charset=utf-8"));
req.requestHeaders.push(new URLRequestHeader("SOAPAction", "http://hanyeah.com/HelloWorld"));
req.data = "<?xml version='1.0' encoding='utf-8'?>" + xml.toXMLString();

uld.addEventListener(Event.COMPLETE, onLoaded);
uld.addEventListener(IOErrorEvent.IO_ERROR, onError);
uld.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onError);
uld.load(req);


function onError(e:Event):void
{
	trace( e.toString());
}
function onLoaded(e:Event):void
{
	trace(uld.data);

}

如果返回securityError,可能需要配置host。


源码打包下载

« 上一篇下一篇 »

相关文章:

闪电效果  (2017-11-28 15:4:19)

线段与椭圆的交点  (2017-1-6 14:43:41)

as3录制swf并保存flv视频  (2016-12-28 8:43:41)

解九连环  (2016-12-1 20:58:11)

as3实现setTimeout和trace  (2016-11-10 16:47:37)

registerCursor注册系统光标  (2016-9-14 9:49:40)

鼠标光标管理  (2016-9-13 17:44:3)

变形框(transform)实现  (2016-9-13 16:56:6)

flash文本消除锯齿不显示  (2016-8-25 11:43:31)

greenSock的easing曲线  (2016-8-24 18:30:11)

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。