WEB开发网
开发学院软件开发Java 使用 Ajax 调用SOAP Web 服务,第 2 部分: 扩展 W... 阅读

使用 Ajax 调用SOAP Web 服务,第 2 部分: 扩展 Web 服务客户机

 2009-11-08 00:00:00 来源:WEB开发网   
核心提示: 清单 6 演示了 WSRF GetResourceProperty 操作的包装对象,此包装对象由 wsrf.js 库内部使用,使用 Ajax 调用SOAP Web 服务,第 2 部分: 扩展 Web 服务客户机(7),其中包含了创建 SOAP 信封和构建操作所必需的 XML 的基本机制,请注意,

清单 6 演示了 WSRF GetResourceProperty 操作的包装对象。此包装对象由 wsrf.js 库内部使用,其中包含了创建 SOAP 信封和构建操作所必需的 XML 的基本机制。请注意,该对象利用了 ws.js 提供的 SOAP.Element 和 SOAP.Envelope API。在包装对象初始化阶段传入的“qname”参数是所请求的属性的 XML 限定名称。


清单 6. WSRF GetResourceProperty 请求包装对象
        WSRF.Request.GetResourceProperty = Class.create(); 
WSRF.Request.GetResourceProperty.prototype = { 
 initialize : function(qname) { 
  this.envelope = new SOAP.Envelope(); 
  this.set_qname(qname); 
 }, 
 set_qname : function(qname) { 
  var body = this.envelope.create_body(); 
  var method = body.create_child( 
   WSRF.Request.QNAME_GETRESOURCEPROPERTY); 
  if (!qname.namespace) qname.namespace = ''; 
  if (!qname.prefix) qname.prefix = 'ns'; 
  method.declare_namespace(qname); 
  method.set_value(qname.value_of()); 
 } 
}; 

清单 7 中包含了来自 WSRF.Resource 对象的代码片段。您所看到的代码的作用在于:创建 WS.Call 对象,准备将用于设置恰当的 SOAP 消息 Header 的 WSA.Handler 对象,创建 WSRF.Request.GetResourceProperty 包装对象以及调用各个 Web 服务操作。


清单 7. 调用 WSRF GetResourceProperty
        get_resource_property : function(qname, callback) { 
 var call = new WS.Call(this.address); 
 var handler = new WSA.Handler(); 
 var wsactx = new WSA.MessageContext(this.epr); 
 handler.set_context(wsactx); 
 call.add_handler(handler); 
 var req = new WSRF.Request.GetResourceProperty(qname); 
 call.invoke(req.envelope, callback); 
} 

上一页  2 3 4 5 6 7 8  下一页

Tags:使用 Ajax 调用

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接