Сначала сгенерируем классы для работы с сервисом по ссылке на WSDL.
Для этого нам поможет стандартная утилита из Java jdl – wsimport.exe
cmd:
1 |
C:\Program Files\jdk1.8.0_111\bin\wsinput.exe -d путь_для_генерации_классов ссылка_на_wsdl -Xnocompile |
После выполнения команды в папку проекта будут сгенерированы классы для работы с сервисом.
Для вызова метода сервиса:
- Создаем экземпляр класса сервиса
- Назначаем стандартный порт
- Заполняем параметры
- Вызываем метод с передачей параметров
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
import javax.print.DocFlavor; import javax.xml.namespace.QName; import javax.xml.ws.Service; import java.net.MalformedURLException; import java.net.URL; import java.util.Iterator; public class Main { public static void main(String[] args) throws MalformedURLException { SmsService service = new SmsService(); SmsServicePortType port = service.getHttpSmsService(); BalanceRequest request = new BalanceRequest(); request.setLogin("****"); request.setPassword("*****"); BalanceResponse response = port.getBalance(request); System.out.println(response.getAmount()); } } |
Для basic auth можно использовать код:
1 2 3 4 5 6 7 8 9 |
Authenticator.setDefault(new Authenticator() { @Override protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication( "login", "password".toCharArray() ); } }); |