Показать сообщение отдельно
Старый 28.01.2016, 22:13   #11  
rmv is offline
rmv
Участник
 
481 / 11 (1) +
Регистрация: 15.02.2005
Цитата:
Сообщение от 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);