SOAP 请求标头是一个 SOAP 封装中的 XML 片段。当 SOAP 操作及其参数可以被看作远程过程调用 (Remote Procedure Call,RPC) 时,SOAP 请求标头可用于在特定的请求或响应中传输元信息。SOAP 请求标头传输应用程序的元数据,如授权或会话标准。
SOAPHEADER 子句的值必须是有效并符合 SOAP 请求标头条目的 XML 片段。可以指定多个 SOAP 请求标头条目。存储过程或函数将 SOAP 请求标头条目自动注入 SOAP 标头元素中 (SOAP-ENV:Header)。SOAPHEADER 值指定可声明为静态常量或使用参数替代机制进行动态设置的 SOAP 标头。以下是一个 SOAP 请求示例的代码段。它包含两个 XML 标头,分别称为 Authentication 和 Session。
<?xml version="1.0"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:m="HTTP://localhost:8082"> <SOAP-ENV:Header> <Authentication xmlns="CustomerOrderURN"> <userName pwd="none" mustUnderstand="1"> <first>John</first> <last>Smith</last> </userName> </Authentication> <Session xmlns="SomeSession">123456789</Session> </SOAP-ENV:Header> <SOAP-ENV:Body> <m:SoapOperation> <m:intVariable>123</m:intVariable> <m:charVariable>data</m:charVariable> </m:SoapOperation> </SOAP-ENV:Body> </SOAP-ENV:Envelope> |
函数和过程在处理 SOAP 响应标头(由 SOAP 调用返回)上是不同的。使用函数是最灵活也是建议采用的方法,此时将被接收到整个 SOAP 响应封装。响应封装就可以通过 OPENXML 运算符进行处理,从而抽取 SOAP 标头和 SOAP 主体数据。而使用过程时,SOAP 响应标头只能通过用映射到 IN 或 INOUT 变量的替代参数来抽取。SOAP 过程允许的 IN 或 INOUT 参数的最大数量为一个。
Web 服务函数必须分析响应 SOAP 封装以获得标头条目。
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2013, SAP 股份公司或其关联公司. - SAP Sybase SQL Anywhere 16.0 |