![]() |
#10 |
Участник
|
Цитата:
Сообщение от poul_and
![]() Нашел в чём проблема.
Если отсылать XML файл (XmlRequest это 'Microsoft XML, v6.0'.DOMDocument), то XmlHttp автоматом ставит Content-Type = text/xml Видимо это нельзя отменить, необходимо в методе locautXmlHttp.send отправлять текстовую строку Остаётся вопрос - как правильнее преоброзовать в строку большой(!) XML файл? Content-Type всегда можно переопределить в хидере запроса, также попробуйте вместо XMLHTTP60 использовать ServerXMLHTTP60 AddXmlDocAsParam(lName : Text[1000];VAR lXmlDoc : Automation "'Microsoft XML, v3.0'.DOMDocument") xmlSoapParam:=xmlDoc.createElement(lName); xmlSoapParam:=xmlSoapFunction.appendChild(xmlSoapParam); CREATE(lAdoStream); lAdoStream.Open; lXmlDoc.save(lAdoStream); xmlDomText:=xmlSoapParam.ownerDocument.createTextNode(''); lSize:=lAdoStream.Size; lAdoStream.Position:=0; lAdoStream.Charset:='UTF-8'; WHILE NOT lAdoStream.EOS DO BEGIN xmlDomText.appendData(lAdoStream.ReadText(250)); END; xmlSoapParam.appendChild(xmlDomText); |
|