从 Web Service 客户机或 Web 服务器接收到消息之后,接收该消息的 HTTPInput 或 HTTPRequest 节点必须对 HTTP 头进行解析以在消息树中创建元素。当 HTTPReply 或 HTTPRequest 节点将消息发送到 Web Service 客户机或 Web 服务器后,它便将 HTTP 头从消息树解析到位流。
消息中的 HTTP 头取决于所处理的消息类型。
消息流可识别四种消息类型,且解析器与每种类型关联。
- 输入。输入消息由 HTTPInput 节点从 Web Service 客户机接收。输入消息中的 HTTP 头(到 CRLFCRLF 为止的数据)由 HTTPInput 解析器进行解析,且包含在相关名为 HTTPInput 的消息树中。下表显示的头为输入消息所需;可能也会显示其他头。
头 |
内容 |
示例 |
主机 |
客户机发出的消息所到达的主机名。 |
本地主机 |
内容长度 |
输入消息体的长度,以十进制为单位(位于最后一个头后面的 CRLFCRLF 后)。 |
520 |
Content-Type |
主体数据的类型。 |
text/xml; charset=utf-8 |
SOAPAction |
|
""(空字符串) |
- 应答。应答消息由 HTTPReply 节点发送到发送了相应输入消息的 Web Service 客户机。应答消息中的 Web service 头在相关名为 HTTPReply 的消息树中创建;用于将消息树中该部分解析到位流的解析器也使用该名称。您可选择在 Compute 节点中创建自己的 HTTPReply 头,也可以配置 HTTPReply 节点以使用缺省值和/或从输入消息中 HTTPReply 或 HTTPResponse 树获取的值创建该头。如果 HTTPReply 节点创建了缺省 HTTPReply 头,则包含 Web service 头和值,如下表所示。
头 |
值 |
内容长度(如果输入消息中存在) |
应答消息体的计算长度,以十进制为单位。 |
Content-Type |
text/xml; charset=utf-8 |
- 请求。请求消息由 HTTPRequest 节点发送到 Web 服务器。该消息中的 HTTP 头必须在相关名为 HTTPRequest 的消息树中创建,并由 HTTPRequest 解析器在消息树解析到位流时解析。您可选择在 Compute 节点中创建自己的 HTTPRequest 头,也可以配置 HTTPRequest 节点以使用缺省值和/或从输入消息中 HTTPInput 或 HTTPRequest 树获取的值创建该头。如果 HTTPRequest 节点创建了缺省 HTTPRequest 头,则包含 Web service 头和值,如下表所示。
头 |
值 |
主机 |
缺省 Web service URL 属性中设置的值。 |
内容长度 |
请求消息体的计算长度,以十进制为单位。 |
Content-Type |
text/xml; charset=utf-8 |
SOAPAction |
""(空字符串) |
- 响应。响应消息由 HTTPRequest 节点从相应请求消息所发送到的 Web 服务器接收。响应消息中的 HTTP 头(到 CRLFCRLF 为止的数据)由 HTTPResponse 解析器进行解析,且包含在相关名为 HTTPResponse 的消息树中。下表显示的头为响应消息所需(虽然不是必需的);可能也会显示其他头。
头 |
内容 |
示例 |
内容长度 |
响应消息体的长度,以十进制为单位。 |
1585 |
Web Service 示例消息提供了包括这些头的示例消息。