Цитата:
Сообщение от
poul_and
Нашел в чём проблема.
Если отсылать XML файл (XmlRequest это 'Microsoft XML, v6.0'.DOMDocument), то XmlHttp автоматом ставит Content-Type = text/xml
Видимо это нельзя отменить, необходимо в методе locautXmlHttp.send отправлять текстовую строку
Остаётся вопрос - как правильнее преоброзовать в строку большой(!) XML файл?
Для включения xml документов в конверт для лишенцев (Нав 5.0 и ниже) использовал xmlTextNode и функцию (ниже), но думаю проблема не в этом.
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);