Вызовите сервис SOAP с помощью JavaScript - PullRequest
2 голосов
/ 07 января 2011

Как видно из названия, я пытаюсь выяснить, как вызвать сервис мыла с помощью JavaScript.Служба SOAP работает на Tomcat на моей локальной машине.Наряду с доступом к службе SOAP, я также могу очень легко загружать / получать доступ / читать WSDL.

Я уже несколько дней бьюсь головой об стену из-за этой проблемы.В процессе исследования я натолкнулся на короткие примеры, но ни один из них не является исчерпывающим и подробно описывает, как этого добиться от начала до конца.Это, или я нашел решение, но оно работает только для IE или Mozilla.

Есть идеи, как вызвать веб-сервис SOAP с использованием Javascript (в основных браузерах)?Спасибо!

(PS: я также использую jquery. Поэтому, если вы хотите сделать это с помощью какого-нибудь хитрого инструмента jquery, пожалуйста, не стесняйтесь его предлагать)

1 Ответ

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

SOAP - это просто XML, поэтому это должно быть возможно, однако я не знаю ни одного из существующих клиентов SOAP, написанных на JS

. Более распространенным методом, вероятно, будет:

  1. JavaScript инициирует объект XHR, который вызывает вспомогательный объект AJAX на стороне сервера с использованием либо параметров GET / POST, либо объекта в кодировке JSON

  2. Помощник AJAX выполняет вызовлибо база данных, либо веб-служба, в зависимости от ситуации, и выводит требуемые объекты данных в виде JSON или XML

  3. JavaScript анализирует тело ответа (JSON или XML) и предпринимает необходимые действия, используя указанныеdata.

Это имеет несколько преимуществ по сравнению с попыткой вызова WebServices напрямую из JavaScript:

  • SOAP XML может быть довольно сложным, что означаетбольше данных для передачи клиенту и от него, что может быть медленным соединением.JSON, в частности, но также и XML-схема, которая содержит только необходимые данные, была бы намного более экономичной в использовании данных

  • Если WebService требует какой-либо аутентификации, детали аутентификации будут представленывсем посетителям.

  • Веб-службы обычно используются для стандартизации обмена данными между отдельными системами, а не для обмена данными между интерфейсными и внутренними компонентами одного и того же приложения / сайта.

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