Можете ли вы сделать вызов jQuery к службе WCF, используя SOAP и WSHttpBinding? - PullRequest
8 голосов
/ 07 января 2011

Могу ли я сделать вызов JQuery для службы WCF с использованием SOAP и WSHttpBinding?

Если да, то как?(какие-нибудь примеры в Интернете?) Если нет, то почему?

Как видно из этого поста , я не могу заставить его работать.

Мне нужнобыть в состоянии использовать WSHttpBinding, чтобы я мог поддерживать SAML и WS-Security.Насколько я понимаю, basicHTTPBinding не поддерживает ws-Security.

Во всех других примерах SO используется либо json (что я могу легко выполнить), либо basicHttpBinding.

Мне необходимо использоватьSOAP и ws-Security соответствуют стандартам OGC 07-118r8.

Ответы [ 3 ]

3 голосов
/ 18 мая 2012

Имея что-то вроде WS- * и сложность WCF, не будет ли проще создать простой асинхронный обратный вызов jQuery для другой страницы вашего сайта, который может использовать встроенные библиотеки .NET WS-Security? Оттуда вы можете инициировать вызов к конечной точке WCF, обработать результат и вернуть его обратно в функцию jQuery как легко читаемый ответ.

Я нашел несколько статей, в которых упоминается, что вы пытаетесь сделать. Похоже, вам, по сути, придется написать свою собственную библиотеку jQuery WS-Security, прежде чем это будет работать прямо из JavaScript (и я думаю, что это, вероятно, нецелесообразно для вас):

"Служба, предоставляемая с помощью привязки wsHttpBinding, реализует WS-Security спецификаций семейства веб-служб WS- *. Поскольку привязка использует безопасность, запрос будет отклонен. Служба не может быть вызвана без реализации WS-Security в JQuery конец. Итак, чтобы вызвать метод сервиса, мы должны пойти на компромисс с безопасностью. "

http://www.codeproject.com/Articles/311908/Calling-WCF-service-exposed-with-different-binding

"... wsHttpBinding, привязка SOAP, которая не будет работать с AJAX."

http://www.west -wind.com / презентации / JQuery / jquerypart2.aspx

1 голос
/ 07 января 2011

Невозможно реализовать WS * в JavaScript!

Лучший вариант - создать еще одну привязку на сервере и представить ее как базовый HTTP или, что еще лучше, как WCF REST.

0 голосов
/ 07 января 2011

должно быть возможно в теории. На данный момент я предполагаю, что вы выяснили, как получить свой токен SAML и иметь дело с WS-Security. WSHttpBinding по умолчанию использует soap 1.2, поэтому либо посмотрите на спецификацию http-привязки, чтобы выяснить, как построить запрос с использованием jquery: http://www.w3.org/TR/soap12-part2/#soapinhttp, либо установите EnvelopeVersion.Soap11 на WSHttpBinding. удачи!

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