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

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

 2009-11-08 00:00:00 来源:WEB开发网   
核心提示: 为了对 WS-ResourceFramework Web 调用 GetResourceProperty 操作,应用程序只需要提供目标 WS-Resource 的 EndpointReference 和标识被检索的属性的 WS.QName 对象即可,使用 Ajax 调用SOAP Web 服务,第

为了对 WS-ResourceFramework Web 调用 GetResourceProperty 操作,应用程序只需要提供目标 WS-Resource 的 EndpointReference 和标识被检索的属性的 WS.QName 对象即可,如清单 8 中所示。


清单 8. 最终结果
        var ADDRESS = 'http://localhost:9080/SoapAjax2/services/DeviceService' 
 
function getDeviceName(deviceID, container) { 
 var epr = new WSA.EndpointReference(ADDRESS); 
 var epr_rp = epr.create_reference_parameters(); 
 epr_rp.create_child( 
  new WS.QName( 
   'DeviceID', 
   'urn:deviceservice')).set_value(deviceID); 
 var res = new WSRF.Resource(ADDRESS, epr); 
 res.get_resource_property( 
  new WS.QName('DeviceName','urn:deviceservice'), 
  function(call,envelope) { 
   $('soap').innerHTML = arguments[2].escapeHTML(); 
  } 
 ); 
} 

清单 8 将对 WS-Resource 的调用包装在可以从 HTML 页中的任何位置调用的适当函数中。清单 9 提供了一个按钮,该按钮可以从名为 id 的输入字段传入一个设备 ID,并在名为 result 的元素中显示响应 SOAP 信封。


清单 9. 调用 getDeviceName

        <input 
 value="Invoke the Web Service" 
 type="button" 
  /> 

后续部分

在这一部分中,您了解了在本系列第 1 部分中引入的 Ajax Web 服务客户机可以如何进行扩展,以支持更高级的 Web 服务标准(如 Web 服务寻址和 Web 服务资源框架)。在下一部分中,作者将讨论对 Web 服务描述语言 (Web Services Description Language) 的支持。

本文示例源代码或素材下载

上一页  3 4 5 6 7 8 

Tags:使用 Ajax 调用

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