WCF BasicHttpBinding: ProxyAddress и UseDefaultWebProxy
Съгласувайте явния адрес на прокси в BasicHttpBinding и избора на прокси по подразбиране, преди да промените транспортните идентификационни данни.
Генерираният клиент на услуга може да има както крайна точка на услугата, така и настройки на връзката, свързани с прокси. Започнете с определянето кой адрес към коя роля принадлежи. Услугата SOAP остава дестинацията; ProxyAddress именува посредник.
За BasicHttpBinding UseDefaultWebProxy избира автоматично конфигурираното поведение на прокси и по подразбиране е true. Договорът на Microsoft не поддържа комбинирането на тази стойност true с ненулев явен ProxyAddress. Направете избора последователен, вместо да задавате и двете и да предполагате, че едното тихо печели. За публично достъпна услуга SOAP по разрешен неудостоверен публичен маршрут за прокси списъкът с HTTP прокси сървъри предоставя адреси-кандидати за ProxyAddress; не запазвайте идентификационни данни за прокси от друга крайна точка.
Проверете връзката, която крайната точка действително използва
Помощен метод може да изгради правилната връзка, докато генерираният клиент все още използва друга конфигурирана крайна точка. Прегледайте връзката, зададена на неуспешното извикване. Промяната на конфигурационен запис, който клиентът никога не е избирал, не може да повлияе на маршрута му.
След това разграничете типа идентификационни данни за прокси от типа идентификационни данни за услугата. Паролата, която изисква услугата SOAP, не е автоматично акаунт за избрания мрежов посредник.
Режимът на транспортна сигурност е друго решение. Преминаването към режим само с идентификационни данни само защото стар отговор го предлага променя допусканията за транспорта; то не доказва, че маршрутът или акаунтът са правилни. Запазете предвидения TLS на дестинацията и използвайте схемата за удостоверяване, поддържана от внедрения клиент WCF и прокси сървъра.
Полезната диагностика посочва крайната точка на услугата, избрания източник на прокси, екземпляра на връзката и първия етап на отговора. Това стеснява грешка 407, без да превръща генерирания клиент на услуга в сбор от несвързани предположения за конфигурацията.