WSE032 erro, WebServicesConfiguration não é possível carregar a configuração.seção
-
20-09-2019 - |
Pergunta
Eu desenvolvi uma pequena ferramenta para fazer upload de informações de salário para o suíço administração e usei o WSE 3.0 com sucesso.Mas agora, um de meus clientes tem relatado que em sua máquina, o meu programa de falha com o seguinte rastreamento de pilha:
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()
...
Eu tentei descobrir o que isso significa, mas tenho que admitir que estou um pouco perdido aqui.O programa tem uma .exe.config
arquivo com o seguinte conteúdo:
<?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>
Remover o <security>
nó do XML acima tipo de corrige o problema (o WSE032 erro desaparece), mas esta não é uma solução, no meu caso, como eu precisa para configurar a segurança desta forma, a fim de ser capaz de assinar os dados que eu estou transmitindo mais tarde.
Alguma idéia do que poderia ser o problema.Obviamente, o WSE 3.0 foi instalado na máquina do cliente, pois, caso contrário, o rastreamento de pilha não teria mostrado em os chamadores antes de WSE032 erro acontece.
Solução
Parece que o cliente foi a de executar o programa a partir de uma letra de unidade montada em um compartilhamento;mesmo que eu pensei isso .NET 3.5 SP1 permitido confiança total privilégio EXEs iniciado a partir do LocalIntranet_Zone
, este parece ser um problema com o carregamento do WSE seção de configuração do executável.
Para corrigir isso, corri caspol
que pode ser encontrado aqui:
C:\Windows\Microsoft.NET\Framework\v2.0.50727\caspol.exe
A linha de comando é algo ao longo das linhas de:
caspol -m -ag LocalIntranet_Zone -url N:\* FullTrust -n "name" -d "description"
para um compartilhamento montado em letra de unidade N:
;note que name
e description
são puramente informativos.
Este comando dá todos os executáveis encontrados na unidade N:
o FullTrust
privilégio, como se eles foram iniciados a partir de um recurso local (unidade de disco rígido, por exemplo).
Ver Como:Conceder Permissões em Pastas e Montagens no MSDN.