Domanda

Sono stato in esecuzione di un codice servizio web sulla mia macchina insieme al codice del client. E 'stato funzionando benissimo ed è riuscito a ricevere gli allegati Dime inviati dal servizio web al cliente.

Il servizio web utilizza WSE 2.0 e gli allegati Dime. Il codice cliente si siede sulla stessa macchina che chiama il servizio web.

Tuttavia, quando vado a implementare questo su un R2 Windows 2003 Server, sulla linea ResponseSoapContext.Current.add (dimeAttachment) non è riuscito a causa dell'oggetto ResponseSoapContext.Current essere nullo.

Il codice client è riuscito a chiamare il servizio web come posso vedere nei log che sta cercando di fare qualcosa.

ci sarebbe un firewall fermare il codice del client che riceve l'allegato Dime dal servizio web? O c'è un ambiente che mi manca? Ecco il codice:

            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");
            }
È stato utile?

Soluzione

Si scopre il server aveva Microsoft WSE 2.0 SP2 installato dove, come il client è stato utilizzato Microsoft WSE 2.0 SP3.

Installato Microsoft WSE 2.0 SP3 sul server e aggiornato i riferimenti e tutto funziona ora.

Altri suggerimenti

Ho avuto questo problema ed ho risolto dal mio file web.config server aggiungendo alcune configurazioni su WSE. Il mio web.config (spogliato impostazioni non relative alla 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>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top