无法在这个位置找到: head2.htm
当前位置: 建站首页 > 新闻动态 > 行业新闻 >

flash9/flash cs3(as3)根据soap浏览Web Services

时间:2021-02-28 03:59来源:未知 作者:jianzhan 点击:
下边是选节SOAPCall类的yncInvoke方式的一一部分,完成request的结构和数据信息推送(这儿是步骤,实际完成关键点在PendingCall类里边)://callback是PendingCall的案例. callback.encode(); callback.callbackMeth
下边是选节SOAPCall类的yncInvoke方式的一一部分,完成request的结构和数据信息推送(这儿是步骤,实际完成关键点在PendingCall类里边):
//callback是PendingCall的案例.
callback.encode();
callback.callbackMethod = callbackMethod; // Callback method
// Populate parameters
callback.setupParams(args);
// prepare response object
var response = new ();
response.ignoreWhite = true;
response.callback = callback;
response._startTimeMark = startTime;
callback.response = response;
// create the async response mechanism
response.onData = function(src)
{
}
// fire message
callback.request.sendAndLoad(this.endpointURI, response, 
//-------------------------------------------------------------------------------------------
见到上边的编码,便会豁然开朗乐观,便是应用soap协议书,来递交和获得数据信息.那麼,大家便可以非常简单的组成一个SOAP 恳求.大家看一下soap恳求的文件格式(://roading/Service/test.asmx?op=say):
下边是一个 SOAP 恳求和响应实例。所显示信息的占位性病变符必须由具体值更换。
POST /Service/test.asmx HTTP/1.1
Host: roading
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction:  say
?xml version= 1.0  encoding= utf-8 ?
soap:Envelope xmlns:xsi= 2001/XMLSchema-instance  xmlns:xsd= 2001/XMLSchema  xmlns:soap= soap/envelope/
soap:Body
say xmlns=
str string /str
/say
/soap:Body
/soap:Envelope
一个soap恳求包含头顶部和数据信息.
soap恳求头顶部包含:
POST /WebService/test.asmx HTTP/1.1
Host:&
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: say
URLRequestHeader不兼容post,host和Content-Length(ArgumentError: Error #2096: HTTP 恳求标头 host 不可以根据 ActionScrt 设定。),同时都不必需,务必设定的是Content-Type和SOAPAction.
//
r.requestHeaders.push(new URLRequestHeader( Content-Type ,  text/xml;charset=utf-8 ));
r.requestHeaders.push(new URLRequestHeader( SOAPAction ,  say ));
//
soap恳求数据信息为:
soap:Envelope xmlns:xsi= 2001/XMLSchema-instance  xmlns:xsd= 2001/XMLSchema  xmlns:soap= soap/envelope/
  say xmlns=  //启用方式.. 取名室内空间
  str hello /str  //主要参数
  /say
/soap:Envelope
全部的soap恳求如上边所显示...便可令其用URLLoader和URLRequest类来推送和接受数据信息了.下边是一个详细的启用WebServices的检测编码(不包含分析接受的数据信息):
//WebService网站地址(为检测写的事例) WebService/test.asmx
import .net.*;
var soap:Namespace = new Namespace( soap/envelope/
var r:URLRequest = new URLRequest( WebService/Test.asmx?op=say
r.method = URLRequestMethod.POST;
r.requestHeaders.push(new URLRequestHeader( Content-Type ,  text/xml;charset=utf-8 ));
r.requestHeaders.push(new URLRequestHeader( SOAPAction ,  say ));
var rXML:XML = 
  soap:Envelope xmlns:xsi= 2001/XMLSchema-instance  xmlns:xsd= 2001/XMLSchema  xmlns:soap= soap/envelope/
  soap:Body/
  /soap:Envelope
 ;
 
rXML.soap::Body.appendChild(
  say xmlns=  //
  str hello /str  //
  /say
);
r.data = rXML;
var l:URLLoader = new URLLoader();
l.dataFormat = URLLoaderDataFormat.TEXT;
l.load(r);
l.adentListener( ioError  ,err);
l.addEventListener(Event.COMPLETE,xmlLoaded);
function xmlLoaded(d)
{
 trace(l.data);
 t.text = l.data;
}
function err(e)
{
 trace(e);
}

(责任编辑:admin)
织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
无法在这个位置找到: ajaxfeedback.htm
栏目列表
推荐内容


扫描二维码分享到微信