WCF BasicHttpBinding: ProxyAddress og UseDefaultWebProxy
Få BasicHttpBindings eksplisitte proxyadresse og valget av standardproxy til å stemme overens før du endrer transportpåloggingsopplysningene.
En generert tjenesteklient kan ha både et tjenestesluttpunkt og proxyrelaterte bindinginnstillinger. Begynn med å avgjøre hvilken adresse som hører til hvilken rolle. SOAP-tjenesten forblir destinasjonen; ProxyAddress navngir et mellomledd.
For BasicHttpBinding velger UseDefaultWebProxy den automatisk konfigurerte proxyatferden og er som standard true. Microsofts kontrakt støtter ikke å kombinere den true-verdien med en eksplisitt ProxyAddress som ikke er null. Gjør valget sammenhengende i stedet for å tildele begge og anta at én lydløst vinner. For en offentlig tilgjengelig SOAP-tjeneste på en tillatt uautentisert offentlig proxy-rute leverer HTTP-proxylisten kandidatadresser for ProxyAddress; ikke behold proxy-påloggingsopplysninger fra et annet sluttpunkt.
Kontroller bindingen som sluttpunktet faktisk bruker
En hjelpefunksjon kan bygge den riktige bindingen mens den genererte klienten fortsatt bruker et annet konfigurert sluttpunkt. Undersøk bindingen som er tildelt det mislykkede kallet. Å endre en konfigurasjonsoppføring som klienten aldri valgte, kan ikke påvirke ruten.
Skille deretter typen proxy-påloggingsopplysninger fra typen tjenestepåloggingsopplysninger. Et passord som SOAP-tjenesten krever, er ikke automatisk en konto for det valgte nettverksmellomleddet.
Transportsikkerhetsmodusen er en annen beslutning. Å bytte til en modus med bare påloggingsopplysninger bare fordi et gammelt svar foreslår det, endrer transportforutsetningene; det beviser ikke at ruten eller kontoen er riktig. Behold den tiltenkte TLS-en for destinasjonen og bruk autentiseringsoppsettet som den utrullede WCF-klienten og proxyen støtter.
En nyttig diagnose navngir tjenestesluttpunktet, den valgte proxykilden, bindingforekomsten og det første svarstadiet. Det begrenser en 407 uten å gjøre en generert tjenesteklient om til en samling urelaterte konfigurasjonsgjetninger.