Есть ли способ подключения к веб-службе с учетными данными пользователя уровня сообщений с помощью powershell.Учетные данные пользователя уровня WCF с помощью powershell
У меня есть проверенный веб-сервис, который прекрасно работает с программой C#, что я подключить уточняющие полномочия следующим образом:
DEVService.ServerLinkClient webService = new DEVService.ServerLinkClient("ServerLinkEndPoint");
webService.ClientCredentials.UserName.UserName = "*****";
webService.ClientCredentials.UserName.Password = ""*****";
Конфигурация веб-сервиса заключается в следующем:
<bindings>
<basicHttpBinding>
<binding name="ServerLinkBinding" maxBufferSize="2097152" maxReceivedMessageSize="2097152"
maxBufferPoolSize="2097152" sendTimeout="00:02:00" receiveTimeout="00:02:00">
<security mode="TransportWithMessageCredential">
<message clientCredentialType="UserName" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<services>
<service name="APOServiceLibrary.ServerLink"
behaviorConfiguration="SecureBehaviourServerLink">
<endpoint name="ServerLinkEndPoint"
address=""
binding="basicHttpBinding"
bindingConfiguration="ServerLinkBinding"
contract="APOServiceLibrary.IServerLink">
</endpoint>
<endpoint address="mexServerLink"
binding="mexHttpsBinding"
contract="IMetadataExchange">
</endpoint>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="SecureBehaviourServerLink">
<serviceMetadata httpsGetEnabled="True"/>
<serviceDebug includeExceptionDetailInFaults="False"/>
<serviceCredentials>
<userNameAuthentication userNamePasswordValidationMode="Custom"
customUserNamePasswordValidatorType="APOServiceLibrary.ConnectionSecurityServerLink, APOServiceLibrary"/>
</serviceCredentials>
</behavior>
</serviceBehaviors>
</behaviors>
I иметь подключение к простой веб-службе в прошлом с powershell, но эта служба была настроена на использование проверки подлинности Windows. В этом случае транспортный уровень является только базовым, и сообщение ожидает определенного имени пользователя и пароля.
Это скриптовый я пытаюсь использовать для извлечения набора данных из веб-службы:
#setup the credentials to connect
$securePasswd = ConvertTo-SecureString "*******" -AsPlainText -Force
$tempCredentials = New-Object System.Management.Automation.PSCredential (""*******" ", $securePasswd)
# Connect to the web services
$web_serv = New-WebServiceProxy -uri https://127.0.0.1/ServerLink.svc -Credential $tempCredentials
# get some data
$test_data = New-Object System.Data.DataSet
$test_data = $web_serv.getDataSet()
Однако, когда я пытаюсь подключиться с помощью учетных данных и попытаться выполнить команду я получаю следующее ошибка:
Exception calling "getDataSet" with "0" argument(s): "An error occurred when verifying security for the message."
Любая помощь была бы замечательной!
Или даже знать, можно ли указать имя пользователя и пароль на уровне сообщений в соединение powershell было бы полезно!