Я разработал сервис wcf.Так как он также будет вызываться не -.net-клиентами, я использовал basichttpbinding.Некоторые методы требуют подражания.Это принудительно происходит путем украшения веб-методов с помощью:
[OperationBehavior(Impersonation = ImpersonationOption.Required)]
После того, как я развернул службу на нашем тестовом сервере, я получаю странную ошибку при вызове службы:
Не удалосьзагрузить файл или сборку 'log4net, версия = 1.2.10.0, культура = нейтральная, PublicKeyToken = 1b44e1d426115821' или одна из ее зависимостей.Либо требуемый уровень олицетворения не был предоставлен, либо предоставленный уровень олицетворения недействителен.(Исключение из HRESULT: 0x80070542)
Я получаю эту ошибку независимо от способа вызова службы.Я получаю его, когда вызываю через wcfTestClient, и получаю его, когда вызываю через консольное приложение, которое написал.(Я добавил веб-сервис в качестве веб-ссылки на это приложение, чтобы имитировать поведение клиента, отличного от .net.)
Есть идеи?
PS: Вот файл web.config измой веб-сервис:
<system.web>
<compilation targetFramework="4.0" />
</system.web>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding closeTimeout="00:15:00" openTimeout="00:15:00" sendTimeout="00:15:00" maxBufferSize="2147483647" maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Windows" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<behaviors>
<serviceBehaviors>
<behavior name="">
<dataContractSerializer maxItemsInObjectGraph="2147483647" />
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" />
</system.serviceModel>
<system.webServer>
<modules runAllManagedModulesForAllRequests="true" />
<defaultDocument>
<files>
<add value="CrmConnectorDiamondData.svc" />
</files>
</defaultDocument>
</system.webServer>
</configuration>