Za preuzimanje WCF metapodataka u režimu HTTP GET na .NET Framework 4.8.1 konfigurišite raniji zahtev za metapodatke, a ne samo konačni SOAP klijent. Njegova zaštićena GetWebRequest kuka može primeniti odvojeno vođenu rutu:

class RoutedMetadataClient : MetadataExchangeClient
{
    private readonly IWebProxy route;

    public RoutedMetadataClient(IWebProxy route)
    {
        this.route = route;
    }

    protected override HttpWebRequest GetWebRequest(
        Uri location, string dialect, string identifier)
    {
        HttpWebRequest request =
            base.GetWebRequest(location, dialect, identifier);
        request.Proxy = route;
        return request;
    }
}

Tipovi dolaze iz System.Net i System.ServiceModel.Description. Konstruišite ovaj klijent sa predviđenim WebProxy-jem i koristite režim HttpGet za WSDL URL. Stavite račun proksija na taj objekat; autentifikacija servera metapodataka je odvojena.

Pratite uvoze ako korenski WSDL uspe, ali razrešavanje kasnije ne uspe. Drugi WSDL-ovi i šeme mogu koristiti različite hostove ili protokole.

Izaberite odgovarajuće proširenje za drugi režim preuzimanja. WS-MetadataExchange koristi kanal, čija je kuka za stvaranje GetChannelFactory; njegove postavke bindinga i proksija ne zamenjuju se univerzalno nadjačavanjem HttpWebRequest-a.

Podrazumevani proksi aplikacije može biti dovoljan kada ga sve uključene nasleđene komponente treba da dele. Podklasa je za eksplicitno vlasništvo nad metapodacima unutar ove API porodice. Generisani SOAP pozivi i dalje trebaju sopstvenu runtime konfiguraciju transporta. Za BasicHttpBinding klijenta proverite ProxyAddress i UseDefaultWebProxy zajedno.

Povezani članci