Я работаю над интеграцией канала A2A для IRS через их WSDL и в настоящее время застрял на проблеме в моем App.config.В настоящее время есть предупреждение для узла <gzipMessageEncoding/>
моего файла App.config:
Элемент 'binding' имеет недопустимый дочерний элемент 'gzipMessageEncoding'.Список возможных ожидаемых элементов: (...).
Я просмотрел решения, предоставленные отцомOfWine, Russ и jstill , в основном здесь , и застрял сейчасна этом конфиге сбой.Из того, что я исследовал, люди говорят, что вы можете просто проигнорировать это как предупреждение и продолжить, но попытка отправки в IRS приводит к следующей ошибке:
Недопустимый элемент в конфигурации.Расширение «gzipMessageEncoding» не является производным от правильного базового типа расширения «System.ServiceModel.Configuration.BindingElementExtensionElement».
Ниже приведен фрагмент конфигурации моей модели сервиса.У меня есть кодировщик в другом месте, чем предполагал папаOfWine, но я считаю, что у меня правильная настройка типов.
<system.serviceModel>
<client>
<endpoint address="[Endpoint Address]"
binding="customBinding" bindingConfiguration="BulkRequestTransmitterBinding"
contract="ACABulkRequestTransmitterService.BulkRequestTransmitterPortType"
name="BulkRequestTransmitterPort" />
<metadata>
<policyImporters>
<extension type="GZipEncoder.GZipMessageEncodingBindingElementImporter, GZipEncoder, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
</policyImporters>
</metadata>
</client>
<extensions>
<bindingElementExtensions>
<add name="gzipMessageEncoding" type="GZipEncoder.GZipMessageEncodingElement, GZipEncoder, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null" />
</bindingElementExtensions>
</extensions>
<bindings>
<customBinding>
<binding name="BulkRequestTransmitterBinding">
<gzipMessageEncoding innerMessageEncoding="textMessageEncoding" />
<httpsTransport />
</binding>
</customBinding>
</bindings>
</system.serviceModel>
ОБНОВЛЕНИЕ 1: Изменение второй переменной в поле типа на GZipMessageEncoder
создает новое исключение в том же месте.
'Тип' Utilities.Gzip.GZipMessageEncodingBindingElement, GZipMessageEncoder, Version = 4.0.0.0, Culture = нейтральный, PublicKeyToken = null 'зарегистрирован для расширения'gzipMessageEncoding 'не может быть загружен.'
Все еще собираюсь попытаться переместить код gzip в свой собственный проект, как показано в ссылке выше.
ОБНОВЛЕНИЕ 2: Перемещение библиотеки Gzip в собственный проект, похоже, помогло устранить исключение, выданное во время выполнения.Я пошел дальше и обновил свой файл App.config выше тем, что изменилось.Я сейчас нахожусь в одной точке / проблеме в обоих моих текущих рабочих методах!лол, но, наверное, лучше в другом вопросе, если до этого дойдет.