IRS-A2A Недопустимые дочерние элементы gzipMessageEncoding в App.config

Я работаю над интеграцией канала A2A для IRS через их WSDL и в настоящее время застрял на проблеме в моем App.config. В настоящее время есть предупреждение для <gzipMessageEncoding/> узел моего App.config:

Элемент 'binding' имеет недопустимый дочерний элемент 'gzipMessageEncoding'. Список возможных ожидаемых элементов: (...).

Я просмотрел решения, предоставляемые отцом OfWine, Russ и jstill, прежде всего здесь, и теперь я застрял в этом сбое конфигурации. Из того, что я исследовал, люди говорят, что вы можете просто проигнорировать это как предупреждение и продолжить, но попытка отправить в IRS приводит к следующей ошибке.

Неверный элемент в конфигурации. Расширение 'gzipMessageEncoding' не является производным от правильного базового типа расширения 'System.ServiceModel.Configuration.BindingElementExtensionElement'.

Ниже приведен фрагмент конфигурации моей сервисной модели. У меня кодировщик находится не в том месте, которое предлагал папа, но я считаю, что у меня правильная настройка типов.

  <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 выше тем, что изменилось. Я сейчас нахожусь в одной точке / проблеме в обоих моих текущих рабочих методах! лол, но, наверное, лучше в другом вопросе, если до этого дойдет.

1 ответ

Это то же самое предупреждение, которое я получаю, когда проверяю свой App.config. Кажется, вы можете игнорировать предупреждение; это указывает на то, что существует проблема с настройкой вашего кода.

Ниже приведен фрагмент моего App.config с соответствующими элементами:

<system.serviceModel>
  <customBinding>
    <binding name="BulkRequestTransmitterBinding" sendTimeout="00:15:00">
      <gzipMessageEncoding innerMessageEncoding="textMessageEncoding" />
      <httpsTransport />
    </binding>
    <client>
      <!-- Endpoints are setup by the import of the IRS Service so I will not include them here -->
      <endpoint for transmission />
      <endpoint for status />
      <metadata>
        <policyImporters>
          <extension type="[ProjectName].GZipMessageEncodingBindingElementImporter, GZipMessageEncoder, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
        </policyImporters>
      </metadata>
    </client>
    <extensions>
      <bindingElementExtensions>
        <add name="gzipMessageEncoding" type="[ProjectName].GZipMessageEncodingElement, GZipMessageEncoder, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null" />
      </bindingElementExtensions>
    </extensions>
  </customBinding>
</system.serviceModel>
Другие вопросы по тегам