Ответ 1
Вы упомянули, что это служба SOAP принтера. Является ли API-интерфейс принтера документированным на сайте производителя? Включает ли документация WSDL? Вы можете получить WSDL у производителя?
Если вы можете получить WSDL у производителя, тогда все готово!
Если нет, тогда вам нужно построить WSDL самостоятельно, потому что я сомневаюсь, что вы можете найти инструмент, который генерирует WSDL с помощью образцов SOAP (при работе с веб-службами SOAP вы, в основном, получаете два вида инструментов: те, которые генерируют код из WSDL + те, которые генерируют WSDL из кода).
Не сложно создать WSDL, если вы знакомы с SOAP, WSDL и XSD. Вам просто нужен текстовый редактор или, возможно, даже редактор WSDL, чтобы ускорить работу.
Если у вас нет полной уверенности в знаниях WSDL, есть еще некоторые инструменты, которые могут помочь вам получить максимальную отдачу от всего WSDL. Вот как вы могли это сделать:
1. Сначала вам нужно создать схему XML для SOAP-полезных нагрузок. Для этого вы можете найти инструменты, даже некоторые онлайн. После того, как у вас есть схема, настройте ее на свои нужды, добавив, изменив или удалив элементы.
2. Теперь вы можете использовать XSD для создания WSDL. Это делает онлайн-инструмент. Ему просто нужны типы элементов запроса/ответа для завершения запроса/ответа. Убедитесь, что вы прочитали инструкции.
Вы берете файл XSD, изменяете имена операций, чтобы добавить суффикс Request/Response и подавать его в WSDL Generator - Web Tool. Вы получите WSDL.
Теперь настройте этот WSDL по своему усмотрению (удалите суффиксы Request/Response, если они вам не нужны), затем...
3 - убедитесь, что вы получили действительный WSDL.
4. Теперь вы можете взять свой WSDL и использовать инструмент, например SoapUI, чтобы генерировать образцы запросов и ответов от него только до убедитесь, что вы получили правильные результаты.
Сопоставляют ли сообщения SoapUI сообщения, с которых вы начали? Если да, то вы закончили и можете подать WSDL на suds
, чтобы создать клиент Linux. Если нет, настройте WSDL, пока не получите результат, который вы после него.