Как получить всю информацию о связывании из WSDL с помощью API JAX-WS
Как получить все привязки, объявленные в WSDL с использованием API JAX-WS (реализация Metro)?
Вариант использования: я собираюсь разрешить пользователям моего приложения динамически вызывать веб-сервис. Для этого я сначала обнаруживаю привязки, затем порты, связанные с привязкой и т. Д. Во время выполнения.
Я просматривал документацию по Metro и обнаружил, что класс WSDLport может быть полезен для получения информации о порте, а затем связывания информации. Но есть идеи, как получить ссылку на этот класс в первую очередь?
1 ответ
В справочной документации по реализации JAX-WS есть несколько шагов, с помощью которых мы можем проанализировать WSDL во время выполнения, чтобы получить необходимую информацию. Но все эти методы возвращают представления XML, т.е. класс QName.
WSDLModel model = WSDLModel.WSDLParser.parse(parser, null, true, new WSDLParserExtension[0]);
//To get all service tags
Map serviceMap = model.getServices();
//To get all the bindings
Map bindingInfomation = model.getBindings();
//To get ports
Map portMap = model.getPortTypes();