문제

급여 정보를 스위스 행정부에 업로드하는 작은 도구를 개발했으며 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()
  ...

나는 이것이 무엇을 의미하는지 알아 내려고 노력했지만, 나는 여기서 약간 길을 잃었다는 것을 인정해야합니다. 이 프로그램에는 a .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 오류가 발생하기 전에 스택 추적이 발신자에 표시되지 않았기 때문입니다.

도움이 되었습니까?

해결책

고객이 공유에 장착 된 드라이브 레터에서 프로그램을 실행하고있는 것으로 보입니다. .NET 3.5 SP1이 LocalIntranet_Zone, 이것은 실행 파일의 WSE 구성 섹션을로드하는 데 문제가있는 것 같습니다.

이것을 고치기 위해 나는 달렸다 caspol 여기에서 찾을 수 있습니다.

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

명령 줄은 다음의 선을 따라 무언가입니다.

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

드라이브 레터에 장착 된 공유 N:; 주목하십시오 name 그리고 description 순전히 정보가 있습니다.

이 명령은 드라이브에있는 모든 실행 파일을 제공합니다 N: 그만큼 FullTrust 마치 로컬 리소스에서 시작된 것처럼 권한 (예 : 하드 디스크 드라이브).

보다 방법 : 폴더 및 어셈블리에 대한 권한 부여 MSDN에서.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top