WCF BasicHttpBinding: ProxyAddress ו-UseDefaultWebProxy
התאימו בין כתובת ה-proxy המפורשת של BasicHttpBinding לבין בחירת ה-proxy המוגדר כברירת מחדל לפני שתשנו את פרטי ההסמכה של התעבורה.
לקוח שירות שנוצר יכול לכלול גם נקודת קצה של שירות וגם הגדרות קישור הקשורות ל-proxy. התחילו בזיהוי איזו כתובת שייכת לאיזה תפקיד. שירות ה-SOAP נשאר היעד; ProxyAddress מגדיר מתווך.
ב-BasicHttpBinding, UseDefaultWebProxy בוחר את התנהגות ה-proxy המוגדרת אוטומטית וערכו כברירת מחדל הוא true. החוזה של Microsoft אינו תומך בשילוב של ערך true זה עם ProxyAddress מפורש שאינו null. הפכו את הבחירה לעקבית במקום להקצות את שניהם ולהניח שאחד מנצח בשקט. עבור שירות SOAP נגיש לציבור בנתיב proxy ציבורי לא מאומת ומותר, רשימת ה-proxy של HTTP מספקת כתובות מועמדות ל-ProxyAddress; אל תשמרו פרטי הסמכה של proxy מנקודת קצה אחרת.
בדקו את הקישור שבו נקודת הקצה משתמשת בפועל
פונקציית עזר יכולה לבנות את הקישור הנכון בעוד הלקוח שנוצר עדיין משתמש בנקודת קצה מוגדרת אחרת. בדקו את הקישור שהוקצה לקריאה שנכשלה. שינוי רשומת תצורה שהלקוח מעולם לא בחר לא יכול להשפיע על המסלול שלו.
לאחר מכן הבחינו בין סוג פרטי ההסמכה של ה-proxy לבין סוג פרטי ההסמכה של השירות. סיסמה ששירות ה-SOAP דורש אינה אוטומטית חשבון עבור המתווך ברשת שנבחר.
מצב אבטחת התעבורה הוא החלטה נוספת. מעבר למצב של פרטי הסמכה בלבד רק משום שתשובה ישנה מציעה זאת משנה את הנחות התעבורה; הוא אינו מוכיח שהמסלול או החשבון נכונים. שמרו על TLS היעד המיועד והשתמשו בסידור האימות שנתמך על ידי לקוח ה-WCF הפרוס וה-proxy.
אבחון שימושי מפרט את נקודת הקצה של השירות, את מקור ה-proxy שנבחר, את מופע הקישור ואת שלב התגובה הראשון. זה מצמצם שגיאת 407 בלי להפוך לקוח שירות שנוצר לאוסף של ניחושי תצורה לא קשורים.