|
протокол SOAP
| ☑ |
0
e2v
23.10.18
✎
08:26
|
Столкнулся с такой пакостью, не понимаю где копать.
РезультатСоединения = Соединение.ОтправитьДляОбработки(Запрос)
Запрос - это HTTPЗапрос с xml данными. Отрабатывает нормально, ответ приходит 200. Но ... xml данные не правильные. Думал формирую данные с ошибкой. Нет, оказалось, что при отсылки формируется пакет SAOP с ошибкой.
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope>
<SOAP-ENV:Body>
</SOAP-ENV:Body>
</SOAP-ENV:Envelo
не дописывает "pe>" в конце.
Не понимаю. Че это?
|
|
1
VS-1976
23.10.18
✎
08:41
|
(0) Баг или фича?
|
|
2
e2v
23.10.18
✎
08:43
|
Нашел.
ЗаголовокHTTP.Вставить("Content-Length", XMLСтрока(СтрДлина(XMLпакет)));
Вот эта су.... неправильно считает длину строки.
Тогда вопрос повторяется. Че это?
|
|
3
VS-1976
23.10.18
✎
08:47
|
(2) Ставь filder и экспериментируй как хочешь
|
|
4
palsergeich
23.10.18
✎
08:49
|
Content-lenght на сколько я помню этот заголовок сам вставляется в момент отправки, если не был установлен ранее. Скорее всего в момент xmlстрока происходит удаление каких то символов и из-за этого стр длина считает некорректно. Уберите функцию xmlстрокк в заголовке
Но я не помню проблем именно с этим заголовком. Обычно проблемы из-за отсутствия content-type
|
|
5
palsergeich
23.10.18
✎
08:52
|
Ой да xml строка снаружи а не внутри.
Так же было замечено что не все спец символы стр длина корректно считает.
Попробуйте без этого заголовка.
|
|
6
Cyberhawk
23.10.18
✎
08:59
|
Вставлять Content-Length самостоятельно посчитанный - это не от большого ума
|
|
7
e2v
23.10.18
✎
09:15
|
(2)Таки fidler-ом и нашел
|
|
8
e2v
23.10.18
✎
09:17
|
Да. без формирования заголовка Content-Length считает правильно.
Спасибо, наставили на путь истинный.
Хотел строго по написанному формировать 8))).
|
|
9
palsergeich
23.10.18
✎
09:20
|
(8) ставь content-type, не забывай, многие парсеры без него не работают
|
|