Я разработал небольшой инструмент для загрузки информации о зарплате в швейцарскую администрацию и успешно использовал WSE 3.0. Но теперь один из моих клиентов сообщил, что на его компьютере моя программа вылетает со следующей трассировкой стека:
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()
...
Я пытался понять, что это значит, но я должен признать, что здесь я немного растерялся. В программе есть файл .exe.config
со следующим содержимым:
<?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>
Удаление узла <security>
из приведенного выше XML своего рода устраняет проблему (ошибка WSE032 исчезает), но в моем случае это не решение, так как мне нужно настроить безопасность следующим образом чтобы иметь возможность подписать данные, которые я передаю позже.
Любая идея, в чем может быть проблема. Очевидно, что WSE 3.0 был установлен на компьютере клиента, поскольку в противном случае трассировка стека не показала бы его в вызывающих программах до возникновения ошибки WSE032.