Мне нужно поведение, известное некоторым из вас из SoapUI:
Вы указываете его на WSDL, и он может генерировать запросы или ответы по умолчанию (или пустые) для каждой конечной точки (метода).
Существует ли какой-то квазистандартный API (возможно, что-то из экосистемы java.net), который достиг бы описанной цели, избавив меня от обычного безумия XmlSchema-or-WSDL?Я ищу API, а не инструмент.
Моя попытка
Я немного пытался, но не зашел далеко:
Код
import java.net.*;
import java.util.*;
import javax.xml.namespace.*;
import javax.xml.ws.*; // provided by Glassfish API in my case
public class App {
private static final String WSDL =
"http://localhost:8080/myService?wsdl";
private static final String SERVICE_NAME =
"{http://localhost/myService}myService";
public static void main(String[] args)
throws Exception {
Service s = Service.create(new URL(WSDL), QName.valueOf(SERVICE_NAME));
Iterator<QName> portNames = s.getPorts();
while (portNames.hasNext()) {
QName portName = portNames.next();
System.out.println("+ " + portName);
}
}
}
Вывод
+ {http://localhost/myService}myServicePort
Что теперь?
Я программно извлек имена портов.
Но как я могу извлечь конечные точки / методы?