WCF - веб-службы, использующие (https / ssl / mtom / user / password) - как настроить клиент? - PullRequest
0 голосов
/ 12 июня 2011

Мне нужно использовать веб-сервис, который имеет следующие требования:

  • https / ssl
  • MTOM
  • пользователь / пароль должны быть указаны в заголовке SOAP
  • 1 (возможно большой) двоичный файл в качестве полезной нагрузки

Я не контролирую этот веб-сервис, и мне нужно его использовать. Так как я новичок в WCF, мне нужна помощь с некоторыми базовыми вещами. Мои вопросы:

  1. Когда я добавляю ссылку на службу в VS2010, я получаю привязку basichttp в конфигурации. Я думаю, что я должен использовать wshttpbinding, я прав? Где / как я могу изменить / настроить его? Прямо в конфиге?
  2. Как настроить мой клиент для указания имени пользователя / пароля в мыльном заголовке?
  3. Как мне "прикрепить" бинарный файл?

Спасибо

Ответы [ 3 ]

1 голос
/ 12 июня 2011

Обычно, когда вы используете веб-сервис, вам не нужно менять привязку.

Возможно, вам потребуется указать учетные данные клиента.

   Service1Client service = new Service1Client();
   service.ClientCredentials.UserName.UserName = "user";
   service.ClientCredentials.UserName.Password = "pass";

См. эту статью.

1 голос
/ 12 июня 2011

Если вы добавили сервисную ссылку и не получили никаких ошибок, предупреждений или каких-либо комментариев в конфигурационном файле, у вас уже есть то, что вам нужно. Просто используйте полученный код. Ссылка создаст для вас клиентский прокси, и у него будут методы, необходимые для передачи двоичных данных на сервер. Прокси также позволяет устанавливать учетные данные клиента:

var proxy = new ServiceContractNameClient();
proxy.ClientCredentials.UserName.Name = "userName";
proxy.ClientCredentials.UserName.Password = "pwd";
var result = proxy.SendSomeVeryLargeData(new SomeDataContract() { Data = yourData });

BasicHttpBinding поддерживает как учетные данные в заголовке SOAP, так и кодировку MTOM.

0 голосов
/ 12 июня 2011

Я нашел хорошую статью о том, как настроить клиент MTOM с WCF. Это очень простой учебник. Надеюсь, это поможет.

http://mstecharchitect.blogspot.com/2009/01/wcf-with-mtom-message-encoding.html

...