flash9/as3访问WebService的暂时替代方法

在前面写了
[url=http://www.roading.net/blog/post_160.html]flash9/as3访问WebService的的方法[/url]
,后来发现这种方法不可行,一旦ws和flash不在同一机器上,flash就不能直接post ws 的方法.
google了一下,发现很多人也在寻找flash9/as3访问WebService的方法(
[url=http://www.twelvestone.com/forum_thread/view/35257]http://www.twelvestone.com/forum_thread/view/35257[/url]
),搜索了asp和php调用ws的方法, 通常可以使用post/soap的方法访问 WebService,其中使用post的请求方式和我前面介绍的方法一样,可惜使用flash就不行.
那么在没有找到好的方法使用ws之前,能不能用flash9/as3访问WebService呢,我觉得目前有两种替代的方法.
1.用asp,php,asp.net等等来访问ws,然后再用flash去调用这些页面,当然这种方法太不可取了...
2.在同一页面使用两个swf,有一不可见的as2的swf,另外的是as3的要使用的swf,使用as2连接ws,然后as3的swf利用localConnection获取as2访问ws得到的结果...
其实最根本的方法还是直接寻找as3连接ws的方法.
1.改写flash8里面的as2的mx.services包.
2.找到flex的rpc包的源文件
3.寻找另外或者跟简单的方法(flash remoting就可以很方便的利用as3访问,ws也许也有).
//
下面是利用asp和php访问ws的方法,没有利用封装的内容访问,也许能有参考作用(内容摘自论坛,不知道原始地址是哪儿,如果有朋友知道请留言)
//
asp的方法
//
1. soap请求方式
2. post请求方式
---------------------
一.soap请求示例
下面是一个 soap 请求示例。所显示的占位符需要由实际值替换。
post /webservice1/usersignon.asmx http/1.1
host: 192.100.100.81
content-type: text/xml; charset=utf-8
content-length: length
soapaction: "
[url=http://tempuri.org/loginbyaccount]http://tempuri.org/loginbyaccount[/url]
"
string
string
为了与webservice交互,需要构造一个与上完全相同的soap请求:
"& _
""& _
""& _
""& _
""&username&""& _
""&password&""& _
""& _
""& _
""
set xmlhttp = server.createobject("msxml2.xmlhttp")
xmlhttp.open "post",url,false
xmlhttp.setrequestheader "content-type", "text/xml;charset=utf-8"
xmlhttp.setrequestheader "host","192.100.100.81"
xmlhttp.setrequestheader "content-length",len(soaprequest)
xmlhttp.setrequestheader "soapaction", "
[url=http://tempuri.org/loginbyaccount]http://tempuri.org/loginbyaccount[/url]
" ‘一定要与webservice的命名空间相同,否则服务会拒绝
xmlhttp.send(soaprequest)
‘这样就利用xmlhttp成功发送了与soap示例所符的soap请求.
本文转自:http://www.5uflash.com/flashjiaocheng/Flash-as3-jiaocheng/1892.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值