Генерация заглушек JavaScript из WSDL - PullRequest
13 голосов
/ 03 сентября 2008

Я ищу инструмент для создания заглушки JavaScript из WSDL.

Хотя я обычно предпочитаю использовать службы REST с JSON или XML, в настоящее время я интегрирую некоторые инструменты, которые работают только с использованием SOAP.

Я уже создал первую версию клиента на JavaScript, но анализирую конверт SOAP вручную и сомневаюсь, что мой код может выдержать, например, обновление службы, видя, насколько сложна спецификация конверта SOAP.

Итак, есть ли инструмент для автоматической генерации заглушек, полностью совместимых с SOAP для JavaScript, из WSDL, чтобы я мог быть более уверенным в будущем своего клиентского кода.

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

Ответы [ 3 ]

10 голосов
/ 16 сентября 2008

В Apache CXF есть инструменты, которые генерируют клиенты JavaScript, которые говорят на мыло.

На самом деле, любой сервис CXF может иметь клиент javascript, автоматически генерируемый путем получения URL-адреса с добавлением? Js. (точно так же, как? wsld создает wsdl). Также есть инструменты командной строки, но динамически сгенерированный материал довольно аккуратный.

7 голосов
/ 04 сентября 2008

Я должен был сделать это сам в прошлом, и я нашел эту статью CodeProject . Я немного изменил его, но это дало мне хорошую основу для реализации всего, что мне было нужно. Одна из основных функций, которую он уже имеет, - это создание SOAP-клиента на основе WSDL. Он также имеет встроенное кэширование WSDL для нескольких вызовов.

В этой статье также есть пользовательская реализация XmlHttpRequest для вызовов Ajax. Это та часть, которую я не использовал. В то время, я думаю, я использовал библиотеку javascript Prototype и изменил код в этой статье, чтобы вместо этого использовать его функции Ajax. Мне просто было удобнее использовать Prototype для вызовов ajax, потому что он широко использовался и был протестирован во всех браузерах.

2 голосов
/ 04 сентября 2008

Вероятно, это будет излишним, но NetBeans имеет эту функцию.

...