Использование PowerShell New-WebServiceProxy для доступа к конечной точке net.tcp - PullRequest
2 голосов
/ 15 марта 2011

Я пытаюсь получить доступ к конечной точке net.tcp из powershell. Я хотел бы использовать New-WebServiceProxy для этой цели, однако я не уверен, что это можно сделать. Прямо сейчас я получаю

    
+ FullyQualifiedErrorId : System.NullReferenceException,Microsoft.PowerShell.Commands.NewWebServiceProxy 

при наведении на wsdl (который я сильно написал, так что это может быть ...)

Ответы [ 2 ]

4 голосов
/ 11 февраля 2012

Очевидно, что вы можете делать это с 22 декабря 2008 года. Кристиан Глесснер написал генератор прокси WCF.

Оригинальный пост в блоге, в котором он описал его, здесь.Он также опубликовал сценарий в этом сообщении на PoshCode.org .

Я обновил код до Powershell v2 .Я бы предложил использовать эту версию.Я говорю о моей версии в этом блоге .

Если вы используете этот код, поставьте его из другого скрипта, не включайте его в строку.Вот пример использования моей версии кода:

# My example WCF service:
# https://github.com/justaprogrammer/EchoService
. .\wcf.ps1

$wsdlImporter = Get-WsdlImporter 'http://localhost.fiddler:14232/EchoService.svc/mex'
Get-WsdlImporter 'http://localhost.fiddler:14232/EchoService.svc' -HttpGet
Get-WsdlImporter 'http://localhost.fiddler:14232/EchoService.svc?wsdl' -HttpGet 

$proxyType = Get-WcfProxyType $wsdlImporter

$endpoints = $wsdlImporter.ImportAllEndpoints();
$proxy = New-Object $proxyType($endpoints[0].Binding, $endpoints[0].Address);
$proxy = Get-WcfProxy 'http://localhost.fiddler:14232/EchoService.svc/mex'
$proxy.Echo("Justin Dearing");

Get-Help Get-WsdlImporter
Get-Help Get-WcfProxyType
Get-Help Get-WcfProxy
4 голосов
/ 07 октября 2011

Вы просто не можете этого сделать. New-WebServiceProxy - это не прокси WCF, это мыло HTTP-прокси.

Возможно, вы могли бы использовать комбинацию svcutil.exe и Add-Type для генерации прокси на лету на компьютерах, на которых установлен svcutil.exe.

Более сложный пример в C # , который вы можете перевести на powershell, доступен здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...