科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件SOAP Flash 更友好的Web应用程序

SOAP Flash 更友好的Web应用程序

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

利用Flash5的XML能力,用SOAP进行通讯,可以创建Flash界面Web应用程序

作者:霍炬编译 来源:天极网 2007年11月4日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
第二步:建立服务器端计算器组件

  下一步,建立服务器端的用来完成计算操作的组件。打开Visual Basic 6,建立一个新的ActiveX DLL工程。

  这个组件和SOAP Toolkit中的“Using a Low Level API for SOAP Messages”这个例子程序是相同的,但是我们把工程的名字改成了SOAPCalc。如果你没有安装Visual Basic,也可以直接下载编译过的CalcServ安装程序(见参考)。安装程序将复制并注册所有需要的文件。本文后面的zip包中有这个例子的VB代码,以及编译好的DLL文件。

  这个演示程序通过SOAP reader对象读取进入的请求。然后,它将检查请求中的SOAP封装是否包含叫做<Add><Subtract>, <Multiply> 或 <Divide>的节点,以及两个子节点<A>和<B>。如果找到了,它将处理请求,并且通过serializer返回SOAP消息和ASP的Response对象。

  因为Flash的XML解析器不能处理XML标记的名称空间,所以,需要使用单一的结构。

  一般的SOAP主体是这样的:

<SOAPSDK1:AddResponse xmlns:SOAPSDK1="uri:Calc">
 <SOAPSDK1:Answer>12</SOAPSDK1:Answer>
</SOAPSDK1:Response>

  但是,由于前述的理由,我们不能直接使用这样的结构。而应该用下面这样Flash支持的语法形式。这种形式包容了同样的数据,只是没有SOAPSDK的名字空间和标记前缀而已。

<AddResponse>
 <Answer>12</Answer>
</AddResponse>

  做这些改变,首先应该从这个模块的代码前端的声明部分去掉下面这行:

Const CALC_NS = "uri:Calc"

  然后,要告诉SOAP Serializer不使用特定的名字空间。把这段代码:

...
Serializer.startBody
Serializer.startElement MethodName & "Response", CALC_NS
Serializer.startElement "Answer", CALC_NS
...

  修改成这样:

...
Serializer.startBody
Serializer.startElement MethodName & "Response"
Serializer.startElement "Answer"
...

  好了,现在可以编译DLL了。然后IIS服务器上注册它。(在控制台或是run对话框中使用regsvr32.exe命令,形式是:regsvr32 DLL所在路径\DLL文件名)
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章