Я пытаюсь настроить мою службу WCF (.NET 4.0), чтобы ее можно было протестировать с помощью soapUI. Я использую wsHttpBinding с безопасностью сообщений. Моя цель состоит в том, чтобы разоблачить службу на публичной конечной точке тестирования и попытаться загрузить ее с помощью loadUI, который использует тесты soapUI. Чтобы это работало, конечная точка должна быть защищенной, и поскольку моя конечная точка обработки будет использовать безопасность сообщений, я считаю, что мой тест также должен использовать ее для достижения близких к результатам тестирования рабочей нагрузки.
Кажется, я не могу настроить soapUI для успешного вызова службы. Я попробовал несколько комбинаций подписи и шифрования ввода и вывода с сертификатом клиента и сервера. Кто-нибудь удалось добиться успешной конфигурации безопасности сообщений WCF и soapUI?
Ниже перечислены примеры из моей конфигурации:
Переплет:
<wsHttpBinding>
<binding name="MessageSecurity">
<security mode="Message">
<message clientCredentialType="Certificate" negotiateServiceCredential="false"/>
</security>
</binding>
</wsHttpBinding>
Поведение
<behaviors>
<serviceBehaviors>
<behavior name="customBehavior">
<serviceMetadata httpGetEnabled="True"/>
<serviceDebug includeExceptionDetailInFaults="True"/>
<serviceCredentials>
<clientCertificate>
<authentication certificateValidationMode="PeerTrust"/>
</clientCertificate>
<serviceCertificate findValue="MyWebServicesCertificate" x509FindType="FindBySubjectName" storeLocation="LocalMachine" storeName="My"/>
</serviceCredentials>
</behavior>
</serviceBehaviors>
<endpointBehaviors>
<behavior name="webHttp">
<webHttp/>
</behavior>
</endpointBehaviors>
</behaviors>
</system.serviceModel>
Услуги:
<service behaviorConfiguration="customBehavior" name="MyService">
<!-- Service Endpoint -->
<endpoint name="Production" address="" binding="wsHttpBinding" bindingConfiguration="MessageSecurity" contract="IMyService">
<identity>
<dns value="web_services_svr"/>
</identity>
</endpoint>
<host>
<baseAddresses>
<add baseAddress="http://web_services_svr/MyService.svc" />
</baseAddresses>
</host>
</service>