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.

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top