За преузимање WCF метаподатака у режиму HTTP GET на .NET Framework 4.8.1 конфигуришите ранији захтев за метаподатке, а не само коначни SOAP клијент. Његова заштићена GetWebRequest кука може применити одвојено вођену руту:

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;
    }
}

Типови долазе из System.Net и System.ServiceModel.Description. Конструишите овај клијент са предвиђеним WebProxy-јем и користите режим HttpGet за WSDL URL. Ставите рачун проксија на тај објекат; аутентификација сервера метаподатака је одвојена.

Пратите увозе ако коренски WSDL успе, али разрешавање касније не успе. Други WSDL-ови и шеме могу користити различите хостове или протоколе.

Изаберите одговарајуће проширење за други режим преузимања. WS-MetadataExchange користи канал, чија је кука за стварање GetChannelFactory; његова подешавања binding-а и проксија не замењују се универзално надјачавањем HttpWebRequest-а.

Подразумевани прокси апликације може бити довољан када га све укључене наслеђене компоненте треба да деле. Подкласа је за експлицитно власништво над метаподацима у овој API породици. Генерисани SOAP позиви и даље захтевају сопствену runtime конфигурацију транспорта. За BasicHttpBinding клијента проверите ProxyAddress и UseDefaultWebProxy заједно.

Повезани чланци