Pregunta

He estado corriendo un código de servicio web en mi propia máquina, junto con el código de cliente. Que estaba funcionando bien y se las arregló para recibir los archivos adjuntos Dime enviados desde el servicio web para el cliente.

El servicio web utiliza WSE 2.0 y archivos adjuntos moneda de diez centavos. El código de cliente se sienta en la misma máquina que llama al servicio web.

Sin embargo, cuando voy a implementar esta en un servidor Windows 2003 Server R2, en la línea ResponseSoapContext.Current.add (dimeAttachment) fracasó debido al objeto ResponseSoapContext.Current siendo nula.

El código de cliente ha conseguido llamar al servicio web que he podido ver en los registros de que está tratando de hacer algo.

¿Habría un cortafuegos detener el código de cliente que recibe el archivo adjunto moneda de diez centavos del servicio web? ¿O hay un entorno que me falta? Aquí está el código:

            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");
            }
¿Fue útil?

Solución

Resulta que el servidor había Microsoft WSE 2.0 SP2 instalado en tanto que el cliente estaba usando Microsoft WSE 2.0 SP3.

Instalado Microsoft WSE 2.0 SP3 en el servidor y actualiza las referencias y todo funciona ahora.

Otros consejos

he tenido este problema y lo resolví de mi archivo web.config del servidor mediante la adición de algunas configuraciones sobre WSE. Mi web.config (despojado ajustes no relacionados con 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>
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top