Errore di WSE032, WebServicesConfiguration non può caricare config. sezione
-
20-09-2019 - |
Domanda
Ho sviluppato un piccolo strumento per caricare le informazioni di stipendio per l'amministrazione svizzera e ho usato WSE 3.0 con successo. Ma ora, uno dei miei clienti ha riferito che sulla sua macchina, il mio programma si blocca con il seguente analisi dello stack:
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()
...
Ho cercato di capire che cosa questo significa, ma devo ammettere che sono un po 'perso qui. Il programma ha un file .exe.config
con il seguente contenuto:
<?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>
La rimozione del nodo <security>
dal XML sopra sorta di risolve il problema (l'errore WSE032 svanisce), ma questa non è una soluzione nel mio caso, come ho bisogno di configurare la protezione in questo modo, al fine di per essere in grado di firmare i dati che sto trasmettendo in seguito.
Qualche idea di cosa potrebbe essere il problema. Ovviamente, WSE 3.0 è stato installato sulla macchina del cliente, in quanto in caso contrario, l'analisi dello stack, non avrebbe mostrato nelle chiamanti prima dell'errore WSE032 accada.
Soluzione
Sembra che il cliente stava eseguendo il programma da una lettera di unità montata su una condivisione; anche se ho pensato che .NET 3.5 SP1 permesso privilegio piena fiducia alla EXEs lanciati dal LocalIntranet_Zone
, questo sembra essere un problema con il caricamento della sezione di configurazione WSE del file eseguibile.
Per risolvere questo, mi sono imbattuto caspol
che può essere trovato qui:
C:\Windows\Microsoft.NET\Framework\v2.0.50727\caspol.exe
La riga di comando è qualcosa sulla falsariga di:
caspol -m -ag LocalIntranet_Zone -url N:\* FullTrust -n "name" -d "description"
per una quota montato sulla lettera di unità N:
; notare che name
e description
sono puramente informativo.
Questo comando dà tutti gli eseguibili presenti sull'unità N:
il privilegio FullTrust
, proprio come se fossero partiti da una risorsa locale (unità disco rigido, per esempio).
Procedura: concedere le autorizzazioni sulle cartelle e gruppi su MSDN.