Какой простейший пример SOAP с использованием Javascript?
Чтобы быть максимально полезным, ответ должен:
- Будьте функциональны (другими словами, фактически работайте)
- Отправьте хотя бы один параметр, который можно установить в другом месте кода
- Обработайте хотя бы одно значение результата, которое можно прочитать в другом месте кода
- Работа с большинством современных версий браузера
- Будьте максимально понятны и коротки, не используя внешнюю библиотеку.
javascript
soap
Томас Братт
источник
источник
Ответы:
Это самый простой JavaScript SOAP-клиент, который я могу создать.
источник
xmlhttp.setRequestHeader('SOAPAction', 'http://myurl.com/action');
только перед тем, какxmlhttp.send(sr)
исправить это.Существует множество особенностей обработки XMLHttpRequest браузерами, этот код JS будет работать во всех браузерах:
https://github.com/ilinsky/xmlhttprequest
Этот код JS преобразует XML в простые в использовании объекты JavaScript:
http://www.terracoder.com/index.php/xml-objectifier
Код JS выше может быть включен на странице, чтобы удовлетворить ваши требования к внешней библиотеке.
Два других варианта:
Клиент JavaScript SOAP:
http://www.guru4.net/articoli/javascript-soap-client/en/
Генерация JavaScript из WSDL:
https://cwiki.apache.org/confluence/display/CXF20DOC/WSDL+to+Javascript
источник
Это невозможно сделать с помощью простого JavaScript, если веб-служба не находится в том же домене, что и ваша страница.Изменить: в 2008 году и в IE <10 это не может быть сделано с прямым JavaScript, если служба находится в том же домене, что и ваша страница.Если веб-служба находится в другом домене [и вам необходимо поддерживать IE <10], вам придется использовать прокси-страницу в своем собственном домене, которая будет получать результаты и возвращать их вам. Если вам не нужна старая поддержка IE, вам нужно добавить поддержку CORS к вашему сервису. В любом случае вы должны использовать что-то вроде библиотеки, предложенной Тимьятом, потому что вы не хотите анализировать результаты самостоятельно.
Если веб-служба находится в вашем собственном домене, не используйте SOAP. Нет веских причин для этого. Если веб-сервис находится в вашем собственном домене, измените его так, чтобы он мог возвращать JSON и избавил вас от необходимости справляться со всеми трудностями, которые идут с SOAP.
Краткий ответ: не делайте SOAP-запросов из javascript. Используйте веб-сервис для запроса данных из другого домена, и если вы это сделаете, то проанализируйте результаты на стороне сервера и верните их в удобной для js форме.
источник
XMLHttpRequest
, возможно, через такую библиотеку, как jquery. Клиент узла будет использовать что-то еще. Большинство веб-сервисов используют REST в качестве руководства для разработки API, но есть много хороших шаблонов. Ключевым моментом здесь является то, что тела запроса / ответа являются JSON, потому что клиенты JavaScript (браузер / узел / где угодно) понимают JSON изначально.Вы можете использовать плагин jquery.soap, чтобы сделать работу за вас.
Пример использования с сайта:
источник
Томас:
JSON предпочтительнее для использования на переднем конце, потому что это Javascript. Поэтому у вас нет XML для работы. SOAP это боль без использования библиотеки из-за этого. Кто-то упомянул SOAPClient, которая является хорошей библиотекой, мы начали с нее для нашего проекта. Однако у этого были некоторые ограничения, и мы должны были переписать его большими кусками. Он выпущен как SOAPjs и поддерживает передачу сложных объектов на сервер, а также включает в себя некоторый пример прокси-кода для использования служб из других доменов.
источник
Кто-нибудь пробовал это? https://github.com/doedje/jquery.soap
Кажется, очень легко реализовать.
Пример:
приведет к
источник
Слушайте лучший учебник JavaScript с SOAP с примером.
http://www.codeproject.com/Articles/12816/JavaScript-SOAP-Client
источник
Несколько отличных примеров (и готовый клиент JavaScript SOAP!) Здесь: http://plugins.jquery.com/soap/
Проверьте файл readme и остерегайтесь ограничений браузера того же источника.
источник
Легко использовать SOAP Web-сервисы с помощью JavaScript -> Листинг B
Это может не соответствовать всем вашим требованиям, но это действительно начало ответа на ваш вопрос. (Я переключил XMLHttpRequest () для ActiveXObject ("MSXML2.XMLHTTP") ).
источник
Простейший пример состоит из:
Составление сообщения XML SOAP, похожего на это
Размещение сообщения на URL веб-сервиса с использованием XHR
Синтаксический анализ ответа XML SOAP веб-сервиса
Представление результатов пользователю.
Но это много хлопот без внешних библиотек JavaScript.
источник
источник
База данных Angularjs $ http основана на XMLHttpRequest . До тех пор, пока в заголовке содержимого установлен следующий код будет делать.
Например:
источник
Вопрос в том, что является самым простым примером SOAP с использованием Javascript?
Этот ответ является примером в среде Node.js , а не в браузере. (Давайте назовем скрипт soap-node.js) И мы будем использовать общедоступный веб-сервис SOAP из Европы PMC в качестве примера, чтобы получить список ссылок на статью.
Перед запуском кода необходимо установить два пакета:
Теперь вы можете запустить код:
И вы увидите вывод, как показано ниже:
источник