2010-10-01 4 views
0

J'ai exécuté un code de service Web sur ma propre machine avec le code client. Il fonctionnait correctement et a réussi à recevoir les pièces jointes Dime envoyées par le service Web au client.ResponseSoapContext.Current est null

Le service Web utilise WSE 2.0 et les pièces jointes Dime. Le code client se trouve sur la même machine qui appelle le service Web.

Toutefois lorsque je déployer cela sur un serveur Windows 2003 R2, sur la ligne ResponseSoapContext.Current.add (dimeAttachment), il a échoué en raison de l'objet ResponseSoapContext.Current étant null.

Le code client a réussi à appeler le service Web que je peux voir dans les journaux, il essaie de faire quelque chose.

Y aurait-il un pare-feu arrêter le code client recevant la pièce jointe Dime du service Web? Ou y a-t-il un paramètre qui me manque? Voici le code:

  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"); 
      } 

Répondre

1

Il se trouve le serveur avait SP2 Microsoft WSE 2.0 installé où que le client utilisait Microsoft WSE 2.0 SP3.

installé Microsoft WSE 2.0 SP3 sur le serveur et mis à jour les références et tout fonctionne maintenant.

0

J'ai eu ce problème et je l'ai résolu de mon fichier web.config du serveur en ajoutant certaines configurations au sujet WSE. Mon web.config (dépouillé les paramètres non liés à 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>