Question

J'ai développé un petit outil pour télécharger des informations de salaire à l'administration suisse et moi WSE 3.0 avec succès. Mais maintenant, un de mes clients a rapporté que sur sa machine, mon programme se bloque avec la trace de pile suivante:

WSE032: There was an error loading the microsoft.web.services3 configuration section.
  at Microsoft.Web.Services3.Configuration.WebServicesConfiguration.get_Current()
  at Microsoft.Web.Services3.Configuration.WebServicesConfiguration.get_MessagingConfiguration()
  at Microsoft.Web.Services3.WebServicesClientProtocol..ctor()
  ...

J'ai essayé de comprendre ce que cela signifie, mais je dois admettre que je suis un peu perdu. Le programme a un fichier .exe.config avec le contenu suivant:

<?xml version="1.0"?>
<configuration>
  <configSections>
    <section name="microsoft.web.services3" type="Microsoft.Web.Services3.Configuration.WebServicesConfiguration, Microsoft.Web.Services3, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    ...
  </configSections>
  <startup>
    <supportedRuntime version="v2.0.50727"/>
  </startup>
  <microsoft.web.services3>
    <security>
      <x509 allowTestRoot="false" storeLocation="CurrentUser" skiMode="RFC3280"/>
    </security>
  </microsoft.web.services3>
...
</configuration>

Suppression du nœud <security> du XML ci-dessus sorte de résout le problème (l'erreur WSE032 disparaît), mais ce n'est pas une solution dans mon cas, comme je l'ai besoin de configurer la sécurité de cette façon pour pour être en mesure de signer les données que je vous transmets plus tard.

Toute idée de ce que pourrait être la question. De toute évidence, WSE 3.0 a été installé sur la machine du client, car sinon, la trace de la pile n'aurait pas montré dans les appelants avant erreur de WSE032 arrive.

Était-ce utile?

La solution

Il semble que le client exécutait le programme à partir d'une lettre de lecteur monté sur une part; même si je pensais que le privilège de confiance totale autorisée .NET 3.5 SP1 à EXEs lancé à partir du LocalIntranet_Zone, cela semble être un problème avec le chargement de la section de configuration WSE de l'exécutable.

Pour résoudre ce problème, je courais caspol qui se trouve ici:

C:\Windows\Microsoft.NET\Framework\v2.0.50727\caspol.exe

La ligne de commande est quelque chose le long des lignes de:

caspol -m -ag LocalIntranet_Zone -url N:\* FullTrust -n "name" -d "description"

pour une part monté sur lettre de lecteur N:; noter que name et description sont purement informatives.

Cette commande donne tous les executables trouvés sur le lecteur N: le privilège de FullTrust, comme si elles ont été lancées à partir d'une ressource locale (disque dur, par exemple).

Voir Comment: accorder les autorisations sur les dossiers et les assemblées sur MSDN.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top