Вопрос

Я бегал код веб-сервиса на своей собственной машине вместе с клиентским кодом. Он работает нормально и удалось получить вложения DIME, отправленные из веб-сервиса к клиенту.

Веб-сервис использует WSE 2.0 и цеменные вложения. Клиентский код сидит на той же машине, которая вызывает веб-сервис.

Однако, когда я пойду в развертывание этого на сервере Windows 2003 R2, на линии RepaineSoAppContext.Current.add (DiMattachment) она не удалась из-за OxtenceSoAppContext.Courent Object Null.

Клиентский код удалось вызвать веб-сервис, как я вижу в журналах, он пытается что-то сделать.

Будет ли брандмауэр, останавливая клиентский код, получающий крепление DIME из веб-сервиса? Или есть ли настройка, которую я скучаю? Вот код:

            DimeAttachment dimeAttach = new DimeAttachment(
            "application/octet-stream", TypeFormat.MediaType,
            streamObj);

            if (ResponseSoapContext.Current != null)
            {
                ResponseSoapContext.Current.Attachments.Add(dimeAttach);
            }
            else
            {
                throw new Exception("The ResponseSoapContext.Current object is null");
            }
Это было полезно?

Решение

Оказывается, у сервера был установлен Microsoft WSE 2.0 SP2, где, как клиент использовал Microsoft WSE 2.0 SP3.

Установлен Microsoft WSE 2.0 SP3 на сервере и обновила ссылки и все это работает сейчас.

Другие советы

У меня была эта проблема, и я решил его из файла My Server Web.config, добавив некоторые конфигурации о WSE. My web.config (раздетые настройки не относящиеся к WSE):

<?xml version="1.0"?>
<configuration>
  <configSections>
    <section name="microsoft.web.services2" type="Microsoft.Web.Services2.Configuration.WebServicesConfiguration, Microsoft.Web.Services2, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
  </configSections>

  <system.web>
    <webServices>
      <soapExtensionTypes>
        <add type="Microsoft.Web.Services2.WebServicesExtension, Microsoft.Web.Services2, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" priority="1" group="0" />
      </soapExtensionTypes>
    </webServices>
  </system.web>
  <microsoft.web.services2>
    <messaging>
      <maxRequestLength>1024000</maxRequestLength>
    </messaging>
    <diagnostics />
  </microsoft.web.services2>
</configuration>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top