Адаптер SAP: проблема дизассемблера "Неожиданный конец потока при поиске: ..." - PullRequest
0 голосов
/ 23 сентября 2011

Используйте привязку WCF-SAP в адаптере WCF-Custom, для ReceiveIDOCFormat установлено значение 'String', в компоненте конвейера мы переносим и вызываем дизассемблер плоских файлов, чтобы разобрать запрос SAP к XML и обработать его позже. У нас также есть компонент журнала, который будет записывать необработанное сообщение SAP до дизассемблера (строковая версия) в базу данных (потоковая передача с использованием CForwardOnlyStream)

Вот проблема: во время тестирования UAT с помощью SAP мы иногда обнаруживаем, что дизассемблер с плоскими файлами жалуется на «неожиданный конец потока при поиске: ....», когда мы проверяем сообщение SAP, отправленное по проводной связи, мы находим, что запрос SAP содержит только заголовок (EDI_DC40), с пустым содержимым после этого. Меня беспокоит то, что когда мы переходим в SAP, повторно отправляем сообщение об ошибке с помощью транзакции WE19, дизассемблер без проблем анализирует его.

Я полностью потерян, может кто-нибудь подсказать, как решить эту проблему?

Спасибо за миллион !!

1 Ответ

0 голосов
/ 23 сентября 2011

Я думаю, что, вероятно, я нашел проблему сейчас, ребята из SAP добавили поле, то, что я делал раньше (что я считаю правильным, но это может быть недостатком), я не регенерировал схему, вместо этого я просто вручную добавьте поле в Visual Studio и установите длину поля на основе описания IDOC.

Я сгенерировал IDOC с помощью мастера WCF, похоже, он не такой же, как добавленное поле в visual studio, я просто развернул эту схему и надеюсь, что она решит проблему, я опубликую свои выводы позже, если она сработает

...