8

我有带有用户名身份验证的 WCF WebService,但无法使用 SoapUI 对其进行测试。

这里有 web.config:

<behaviors>
      <serviceBehaviors>
        <behavior name="FHPBusinessLogicService.ServiceBehavior">
          <serviceCredentials type="FHPBusinessLogicService.Security.PasswordServiceCredentials, FHPBusinessLogicService">
            <userNameAuthentication userNamePasswordValidationMode="Custom" />
          </serviceCredentials>
          <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true"/>
          <serviceDebug includeExceptionDetailInFaults="true"/>
          <serviceAuthorization principalPermissionMode="Custom" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <bindings>
      <basicHttpBinding>
        <binding name="ServiceConf" maxReceivedMessageSize="65536" >
          <readerQuotas maxStringContentLength="65536" maxArrayLength="65536" maxBytesPerRead="65536" />
          <security mode="TransportWithMessageCredential"  >
            <message clientCredentialType="UserName"  />
            
          </security>
         
        </binding>
      </basicHttpBinding>
    </bindings>

在 SoapUI 上,我收到:

验证邮件的安全性时出错

我在我的本地机器上测试它,本地 IIS 7 服务器。

有什么建议么?

4

3 回答 3

21

在 SoapUI 的“Wss-Password Type”部分的“Request Properties”中,只需选择“ PasswordText ”选项。那会做的事情

于 2012-11-27T10:39:15.127 回答
0

我认为您需要将 WS-Security Configuration 添加到您的请求中。阅读此http://www.soapui.org/SOAP-and-WSDL/applying-ws-security.html

并查看“用户名”下的部分。然后在您的soapUI 测试套件中,确保添加您刚刚创建的ws-security conf。这对我有用。

于 2012-12-10T14:51:17.787 回答
0

可能导致此错误的另一个“愚蠢”事情是您Username在...中将该字段留空,Auth即使您Service不关心Username,您仍然需要在那里提供一些值。

于 2021-10-15T09:33:14.777 回答