使用 Ajax 调用SOAP Web 服务,第 2 部分: 扩展 Web 服务客户机
2009-11-08 00:00:00 来源:WEB开发网
清单 4. WSRF EndpointReference <EndpointReference xmlns="http://www.w3.org/2005/08/addressing">
<Address>http://localhost:9080/SoapAjax2/services/DeviceService</Address>
<ReferenceParameters>
<abc:DeviceID xmlns:abc="urn:deviceservice">ABC123</abc:DeviceID>
</ReferenceParameters>
</EndpointReference>
当使用 wsa.js 中定义的机制在 SOAP 内进行表示时,WSRF EndpointReference 中的信息将以 SOAP 消息 Header 的形式出现,如清单 5 中所示。
清单 5. WSRF GetResourceProperty 请求 <Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/">
<Header>
<To xmlns="http://www.w3.org/2005/08/addressing">
http://localhost:9080/SoapAjax2/services/DeviceService</To>
<abc:DeviceID xmlns="urn:deviceservice">ABC123</abc:DeviceID>
</Header>
<Body>
<GetResourceProperty
xmlns="http://docs.oasis-open.org/wsrf/rp-2"
xmlns:ns="urn:foo">ns:bar</GetResourceProperty>
</Body>
</Envelope>
wsrf.js 提供的 API 用于隐藏使用 SOAP Envelope 的所有细节以及允许与 WS-ResourceFramework Web 服务交互所必需的 WS-Addressing Header。不过,稍微注意一下此代码,您就会发现此代码的工作方式的许多重要方面。
更多精彩
赞助商链接