通过 AddValue() 添加到 TIdHTTP 组件时如何格式化奇数 headers
How to format odd headers when adding to the TIdHTTP component via AddValue()
我正在使用
idhttp.Request.CustomHeaders.AddValue(x,y);
这对我来说工作正常,但现在我遇到了一个不同的 header,我不确定如何添加它或使用什么值、字符串。
以前用过
'SOAPACTION','http://url/action'
但是 mustUnderstand
部分,或者 ReplyTo
和 Address
部分我需要做什么?
我会如何AddValue(x,y)
他们?
我试过了
...AddValue('SOAPACTION','http://URL/Action');
...AddValue('mustUnderstand','1');
但是我遇到了错误,主持人 IT 说我的 header 不正确。
<s:Header>
<a:Action s:mustUnderstand="1">http://URL/Action</a:Action>
<a:MessageID>A Valid GUIID</a:MessageID>
<a:ReplyTo>
<a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address>
</a:ReplyTo>
<a:To s:mustUnderstand="1">URL STRING</a:To>
</s:Header>
以前的简单 header 已经奏效,但我不确定如何添加这些 header。
SOAPAction
是用于 SOAP 消息传递的有效 HTTP header,但 mustUnderstand
和 ReplyTo
不是 HTTP headers,所以根本不要用 TIdHTTP.Request.CustomHeaders.AddValue()
添加它们。它们是 SOAP <Envelope>
消息中 <Header>
元素的组成部分,因此它们属于 XML 数据,您通过 TIdHTTP
向服务器 post (根据您展示的示例 XML)。您混淆了 HTTP headers 和 SOAP headers。它们是两个不同的东西。
如果网络服务器 IT 告诉您您的 HTTP 或 SOAP header 有误,它也应该告诉您它们到底出了什么问题,以便您可以修复它。
这不是 Indy 问题。您根本没有按照 Web 服务器期望的方式准备 SOAP 消息。但是我们没有这些详细信息可以为您提供建议。 IT 负责的网络服务器。
我正在使用
idhttp.Request.CustomHeaders.AddValue(x,y);
这对我来说工作正常,但现在我遇到了一个不同的 header,我不确定如何添加它或使用什么值、字符串。
以前用过
'SOAPACTION','http://url/action'
但是 mustUnderstand
部分,或者 ReplyTo
和 Address
部分我需要做什么?
我会如何AddValue(x,y)
他们?
我试过了
...AddValue('SOAPACTION','http://URL/Action');
...AddValue('mustUnderstand','1');
但是我遇到了错误,主持人 IT 说我的 header 不正确。
<s:Header>
<a:Action s:mustUnderstand="1">http://URL/Action</a:Action>
<a:MessageID>A Valid GUIID</a:MessageID>
<a:ReplyTo>
<a:Address>http://www.w3.org/2005/08/addressing/anonymous</a:Address>
</a:ReplyTo>
<a:To s:mustUnderstand="1">URL STRING</a:To>
</s:Header>
以前的简单 header 已经奏效,但我不确定如何添加这些 header。
SOAPAction
是用于 SOAP 消息传递的有效 HTTP header,但 mustUnderstand
和 ReplyTo
不是 HTTP headers,所以根本不要用 TIdHTTP.Request.CustomHeaders.AddValue()
添加它们。它们是 SOAP <Envelope>
消息中 <Header>
元素的组成部分,因此它们属于 XML 数据,您通过 TIdHTTP
向服务器 post (根据您展示的示例 XML)。您混淆了 HTTP headers 和 SOAP headers。它们是两个不同的东西。
如果网络服务器 IT 告诉您您的 HTTP 或 SOAP header 有误,它也应该告诉您它们到底出了什么问题,以便您可以修复它。
这不是 Indy 问题。您根本没有按照 Web 服务器期望的方式准备 SOAP 消息。但是我们没有这些详细信息可以为您提供建议。 IT 负责的网络服务器。