Симптоми
Да приемем, че използвате Dynamic SFTP порт. Когато надстройвате Microsoft BizTalk сървър от 2013 или 2013 R2 до 2016, ако SFTP адресът, който се използва по време на изпълнение, не указва номер на порт, динамичният SFTP порт спира да работи със следната грешка:
System.ArgumentException: Номерът на порта не може да бъде отрицателен
Състояние
Microsoft потвърждава, че това е проблем в продуктите на Microsoft, които са изброени в раздела „Важи за“.
Решение
Този проблем е решен в следната кумулативна актуализация за BizTalk сървър:
- Сборна актуализация 6 за BizTalk сървър 2016
Забележка Номерът на порт "22" се използва автоматично, когато няма номер на порт, зададен в адреса на SFTP сървъра, който се използва по време на изпълнение.
Заобиколно решение
В BizTalk сървър 2013 или 2013 R2, когато номерът на порта не е посочен, номерът на SFTP порт по подразбиране "22" се използва по подразбиране. В BizTalk сървър 2016 стойността "-1" се използва по подразбиране. Това предизвиква грешката и изисква адресите на портовете за динамично изпращане да включват изрично номера на порта по подразбиране. Например:
SFTPDynSendMsg(Microsoft.XLANGs.BaseTypes.Address)= "sftp://127.0.0.1:22тест//" + "%MessageID%.xml";
Вместо без номер на порт:
SFTPDynSendMsg(Microsoft.XLANGs.BaseTypes.Address)= "sftp://127.0.0.1//test//" + "%MessageID%.xml";
Справки
За информация относно сервизните пакети и списъка с кумулативни актуализации за BizTalk сървър вижте следната статия в базата знания на Microsoft:
2555976 Сервизен пакет и списък с кумулативни актуализации за BizTalk сървър
За повече информация относно горещите поправки на BizTalk сървър вижте следната статия в базата знания на Microsoft:
2003907 Информация за горещите поправки на BizTalk и поддръжката на кумулативни актуализации