Доступ к веб-сервису wcf с powershell2 - PullRequest
2 голосов
/ 30 июня 2010

Я пытаюсь написать командлет, который обращается к одному из моих веб-сервисов wcf.

Я смотрел на новый командлет: New-WebServiceProxy, но он действительно только способен использовать веб-службы ASMX.

Я видел эту статью; которая сосредоточена вокруг Powershell v1.0 Я предпочел бы использовать лучший метод (если таковой существует). http://keithhill.spaces.live.com/blog/cns!5A8D2641E0963A97!645.entry

Из других моих приложений .net, которые используют этот веб-сервис, вот тип конфигурации, который я использую;

 <system.serviceModel>
    <bindings>
      <wsHttpBinding>
        <binding name="WSHttpBinding_IMyService" closeTimeout="00:01:00" openTimeout="00:01:00" receiveTimeout="00:10:00" sendTimeout="00:10:00" bypassProxyOnLocal="false" transactionFlow="false" hostNameComparisonMode="StrongWildcard" maxBufferPoolSize="524288" maxReceivedMessageSize="65536000" messageEncoding="Text" textEncoding="utf-8" useDefaultWebProxy="true" allowCookies="false">
          <readerQuotas maxDepth="32" maxStringContentLength="819200" maxArrayLength="1638400" maxBytesPerRead="409600" maxNameTableCharCount="1638400" />
          <reliableSession ordered="true" inactivityTimeout="00:10:00" enabled="false" />
          <security mode="Message">
            <transport clientCredentialType="Windows" proxyCredentialType="None" realm="" />
            <message clientCredentialType="Windows" negotiateServiceCredential="true" algorithmSuite="Default" establishSecurityContext="true" />
          </security>
        </binding>
      </wsHttpBinding>
    </bindings>
    <client>
      <endpoint address="http://myServer/MyService/MyService.svc" binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IMyService" contract="MyService.IMyService" name="WSHttpBinding_IMyService">
        <identity>
          <dns value="localhost" />
        </identity>
      </endpoint>
    </client>
  </system.serviceModel>

Кто-нибудь хочет посоветовать мне?

1 Ответ

2 голосов
/ 01 июля 2010

В конечном итоге вы захотите создать прокси-объект на стороне клиента, скомпилировать его в сборку .NET, создать этот прокси и запрограммировать на него в PowerShell.New-WebServiceProxy был написан, чтобы позволить вам сделать это.Я удивлен, что это будет работать только против сервисов ASMX?Возможно, это не работает для вас, потому что у вас нет конечной точки MEX, определенной в вашем файле конфигурации?См. статью о том, как создать конечную точку MEX , которая позволит генерировать прокси для вашего веб-сервиса.

...