Я пытаюсь настроить службу 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>