1
flash9/flash cs3(as3)通过soap访问Web Services
2
来源:Roading's blog 作者:roading 2007-07-17 【大 中小】
3
4
下面是as3访问Web Services的原理和过程,包括实例和源文件,已经经过了测试(http://www.roading.net/WebService/as3_soap.swf)
5
6
前段时间写了 使用flash9(as3)连接webservice,结果发现这种以http post方法访问WebServices只能在测试环境下使用.然后就写了flash9/as3访问WebService的暂时替代方法,当然这是无奈之举,找不到合适的方法前先使用中转的方法来代替.
7
8
但是还是需要找到真正的解决方法,昨天在翻看flash8的mx\services包的时候,在包里面的SOAPCall和PendingCall类里面有整个的访问方法.
9
10
在SOAPCall类里面有request和response两个对象,分别是提交数据和返回数据.
11
12
下面是节选SOAPCall类的asyncInvoke方法的一部分,实现request的构造和数据发送(这里是流程,具体实现细节在PendingCall类里面):
13
14
15
//callback是PendingCall的实例.
16
callback.encode();
17
18
callback.callbackMethod = callbackMethod; // Callback method
19
20
// Populate parameters
21
callback.setupParams(args);
22
23
// prepare response object
24
var response = new XML();
25
response.ignoreWhite = true;
26
response.callback = callback;
27
response._startTimeMark = startTime;
28
29
30
callback.response = response;
31
32
// create the async response mechanism
33
response.onData = function(src)
34
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34