Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Axis1.4, HTTPClient - прокси не пропускает, Помогите добраться до web сервиса 
:(
    Опции темы
Samik
Дата 21.11.2008, 18:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 1.12.2005

Репутация: нет
Всего: нет



Всем привет.

Нужна помощь.

Есть задача: достучаться до внешнего веб сервиса http://hh.ru/services/DictionaryService?wsdl. До этого веб сервисами не занимался, поэтому погуглив, решил попробовать через Axis 1.4. C помощью команды 

Код

java org.apache.axis.wsdl.WSDL2Java http://hh.ru/services/DictionaryService?wsdl


Создал необходимые классы, написал клиентик, всё отлично заработало. НО, это всё работало. пока я не отключил "Microsoft Firewall Client for ISA Server". После отключения получал только Connection timeout. Т.е насколько я понимаю, я имею доступ в инет только через прокси.

Поискал в инете нашёл пример с Apache HTTP Client. Попытался просто законектиться с влючённым ISA Client

Код

        HttpClient httpclient = new HttpClient();
        GetMethod httpget = new GetMethod("http://hh.ru/services/DictionaryService?wsdl");
        try {
            httpclient.executeMethod(httpget);
            System.out.println(httpget.getStatusLine());
        } finally {
            httpget.releaseConnection();
        }


всё отлично результат в консоли 
Код

"HTTP/1.1 200 OK"


Выключил ISA Client результат
Код

- I/O exception (java.net.ConnectException) caught when processing request: Connection timed out: connect
- Retrying request
- I/O exception (java.net.ConnectException) caught when processing request: Connection timed out: connect
- Retrying request
- I/O exception (java.net.ConnectException) caught when processing request: Connection timed out: connect
- Retrying request
java.net.ConnectException: Connection timed out: connect
 

Поиcкал ещё про прокси нашёл пример

Код

        HttpClient httpclient = new HttpClient();
        GetMethod httpget = new GetMethod("http://hh.ru/services/DictionaryService?wsdl");
        httpclient.getHostConfiguration().setProxy("ms-proxy", 8080;
        try {
            httpclient.executeMethod(httpget);
            System.out.println(httpget.getStatusLine());
        } finally {
            httpget.releaseConnection();
        }



И при включённом и выключенном ISA Client результат

Код

- ntlm authentication scheme selected
- No credentials available for NTLM <any realm>@ms-proxy:8080
HTTP/1.1 407 Proxy Authentication Required ( The ISA Server requires authorization to fulfill the request. Access to the Web Proxy filter is denied.  )


Имя хота прокси взят из ISA Client, порт 8080. При выключеном ISA Cliet, если данный прокси и порт прописать в IE, то он работает.


Попробовал и такой вариант

Код

        HttpClient httpclient = new HttpClient();
        httpclient.getHostConfiguration().setProxy("ms-proxy", 8080);
        httpclient.getState().setProxyCredentials(new AuthScope("ms-proxy", 8080),
                new NTCredentials("username", "pass", "", ""));
        GetMethod httpget = new GetMethod("http://hh.ru/services/DictionaryService?wsdl");
        try {
            httpclient.executeMethod(httpget);
            System.out.println(httpget.getStatusLine());
        } finally {
            httpget.releaseConnection();
        }


И при включённом и выключенном ISA Client результат

Код

- ntlm authentication scheme selected
- Failure authenticating with NTLM <any realm>@ms-proxy:8080
HTTP/1.1 407 Proxy Authentication Required ( The ISA Server requires authorization to fulfill the request. Access to the Web Proxy filter is denied.  )



Последние два результата отличаются
1. No credentials available for NTLM <any realm>@ms-proxy:8080
2. Failure authenticating with NTLM <any realm>@ms-proxy:8080

Но в чём разница я не очень понимаю.

Я правильно понимаю, что username и pass, нужно задавать те под которыми я захожу к себе на машину?
Попытался поискать про NTLM и Java? но чего-то не сильно въехал

Может кто знает, как с этим справиться? 

Спасибо.


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0596 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.