18.10.添加SOAP头到WebSerice请求

18.10.1. 问题
我想发送SOAP 头到WebService 组件的请求中。
18.10.2. 解决办法
创建一个SOAPHeader 对象,参数为所使用的名称空间和添加到header 的内容。然后调用WebService.addHeader 方法发送带有请求的header。
18.10.3. 讨论
Web 服务经常用SOAP 头接收登录,用户信息或其他数据。创建SOAPHeader 需要一个包含数据的限定名称空间QName 和添加到header 的对象:
+展开
-ActionScript
SOAPHeader(qname:QName, content:Object)

这里是创建两个SOAPHeader 对象的例子:
+展开
-ActionScript
// Create a QName that can be used with your header
var qname:QName= new QName("http://soapinterop.org/xsd""CookbookHeaders");
var headerone:SOAPHeader = new SOAPHeader(qname, {string:"header_one",int:"1"});
var headertwo:SOAPHeader = new SOAPHeader(qname, {string:"header_two",int:"2"});

要把这个header 添加到web 服务的所有请求中,需调用WebService 对象本身的addHeader方法:
+展开
-ActionScript
// calling addHeader on the WebService
service.addHeader(headerone);

添加SOAPHeader 到指定的方法上:
+展开
-ActionScript
// Add the headertwo SOAP Header to the getRecipe operation.
service.getRecipes.addHeader(headertwo);

如果SOAP 头不再需要了,调用WebService 或方法本身的clearHeaders 方法:
+展开
-ActionScript
service.clearHeaders();
service.getRecipes.clearHeaders();

加支付宝好友偷能量挖...


评论(0)网络
阅读(81)喜欢(0)flash/flex/fcs/AIR