четверг, 24 ноября 2016 г.

WDSL клиент на Java



Создаем новый Проект в NetBeans. Кликаем по проекту правой кнопкой мыши. Новый-Клиент веб службы.


В открывшемся окне выбираем WDSL URL. Ставим галку «Создать код диспетчеризации».  В поле пакет указываем имя пакета, куда сгенерируется код.


В итоге будет создан диспетчерский класс с функциями получения информации из wdsl. Ниже пример кода для сервиса GeoIP

 




package geoipmain;


public class GeoIPMain {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        GeoIPService GPS = new GeoIPService();
        GeoIPServiceSoap GPSsoap = GPS.getGeoIPServiceSoap();
        GeoIP result = GPSsoap.getGeoIP("8.8.8.8");
        System.out.println(result.countryName);
    }
   
   
}


Настройка прокси для maven в NetBeans



Не нужно править файл settings.xml по пути C:\Program Files\NetBeans\java\maven\conf
Необходимо зайти по пути C:\Users\MyUser\.m2 и там отредактировать файл settings.xml, в раздел proxies  добавить (Можно взять из закомментированного текста в самом файле)
    <proxy>
      <id>default</id>
      <active>true</active>
      <protocol>http</protocol>
      <username>proxyuser</username>
      <password>proxypass</password>
      <host>proxy.host.net</host>
      <port>80</port>
      <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
    </proxy>
В полях xml вместо значений по умолчанию указать свои.
Если не вышло, то всегда можно включить оффлайн сборку maven-проектов в Netbeans глобально. Сделать это можно так:: Tools -> Options -> Java -> Maven -> Global Execution Options = --offline.

Настройка прокси внутри Java приложения

как то так

    static void SetProxy(){
        System.setProperty("java.net.preferIPv4Stack" , "true");
        System.setProperty("proxySet", "true");   //Obsolete ?
        System.setProperty("http.proxyHost", "proxy.adress.ru");
        System.setProperty("http.proxyPort", "8080");
        System.setProperty("https.proxyHost", "proxy.adress.ru");
        System.setProperty("https.proxyPort", "8080");
       Authenticator.setDefault(new Authenticator() {
                        protected PasswordAuthentication getPasswordAuthentication() {
                        return new PasswordAuthentication("domain\\username","password".toCharArray());
                        }
        });
}