我正在使用
idhttp.Request.CustomHeaders.AddValue(x,y);
这对我来说很好,但是现在我遇到了一个不同的标题,并且不确定如何添加标题或要使用的值,字符串。
过去,我曾经使用过
'SOAPACTION','http://url/action'
但是对于mustUnderstand
部分还是ReplyTo
和Address
部分,我需要做什么?
我该如何AddValue(x,y)
?
我尝试过
...AddValue('SOAPACTION','http://URL/Action');
...AddValue('mustUnderstand','1');
但是我遇到了错误,主持人IT部门说我的标题不正确。
<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>
以前的简单标头已经奏效,但是我不确定如何添加这些标头。
答案 0 :(得分:1)
SOAPAction
是用于SOAP消息传递的有效HTTP标头,但是mustUnderstand
和ReplyTo
不是HTTP标头,因此请勿将它们与{{1 }}。它们是SOAP TIdHTTP.Request.CustomHeaders.AddValue()
消息中<Header>
元素的组成部分,因此它们属于您通过<Envelope>
发布到服务器的XML数据(根据您显示的示例XML) )。您混淆了HTTP标头和SOAP标头。他们是两件事。
如果网络服务器IT告诉您您的HTTP或SOAP标头不正确,它也应该告诉您它们到底有什么问题,以便您进行修复。
这不是印地问题。您只是没有按照Web服务器期望的方式准备SOAP消息。但是我们没有这些细节可以为您提供建议。网络服务器IT确实如此。