powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / MS SOAP Client авторизация через URL вида http://<user>:<password>@localhost:8080...?wsdl
6 сообщений из 6, страница 1 из 1
MS SOAP Client авторизация через URL вида http://<user>:<password>@localhost:8080...?wsdl
    #37156715
chumansky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте. Для ВЭБ - Сервисов развернутых на серверах использующих BASIC-авторизацию возможна передача MSSOAP-клиенту логина и пассворда через УРЛ. Вот так

Код: plaintext
1.
2.
Dim serv 
Set serv = CreateObject("MSSOAP.SoapClient30") 
serv.MSSoapInit("http://admin:12345@localhost:8080/axis2/services/hintegra?wsdl")

где admin:12345 аккурат и есть логин и пассворд для BASIC- авторизации
Это очень приятная фича иначе как бы SOAP-клиент увидел WSDL сервиса?

я прочитал об этой фиче по-чучьмекски тут : http://www.west-wind.com/Weblog/posts/3193.aspx
Однако это очень хорошо работает по протоколу HTTP и отказывается различать Логин и Пасс по протоколу HTTPS.

Я прочитал много рекомендаций и паковал пару логин:пароль в base64 код. Но ничего не помогает. На методе MSSoapInit возникает ошибка мол - "не могу распарсить WSDL". Одинаковая вне зависимости кодированную пару логин:пароль я посылаю или прямую.

Может кто знает как-таки быть в случае HTTPS?
...
Рейтинг: 0 / 0
MS SOAP Client авторизация через URL вида http://<user>:<password>@localhost:8080...?wsdl
    #37157866
nkz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
приведите пример кода когда используете https?
...
Рейтинг: 0 / 0
MS SOAP Client авторизация через URL вида http://<user>:<password>@localhost:8080...?wsdl
    #37158222
chumansky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nkz,

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Dim serv 
Set serv = CreateObject("MSSOAP.SoapClient30")
serv.MSSoapInit("https://axis2.mysitecomorg.ru:8444/axis2/services/integra?wsdl") не работает т.к. авторизация не поизошла
'serv.MSSoapInit("https://<user>:<pass>@axis2.mysitecomorg.ru:8444/axis2/services/integra?wsdl") не работает
'serv.MSSoapInit("https://" & Base64Encode(<user>:<pass>) & "@axis2.mysitecomorg.ru:8444/axis2/services/integra?wsdl") не работает

serv.ConnectorProperty("UseSSL") = True 
serv.ConnectorProperty("WinHTTPAuthScheme") =  1  
strBasicAuth = "Authorization: Basic " &  Base64Encode(<user>& ":" & <pass>) 
serv.ConnectorProperty("RequestHTTPHeader") = strBasicAuth  
serv.ClientProperty("ServerHTTPRequest") = True 

Само собой определена в коде и ф-ция Base64Encode
Единственное как я заставил сервис работать - вручную логинюсь по урл https://axis2.mysitecomorg.ru:8444/axis2/services/integra?wsdl. Сохраняю его в файл и выкладываю в незасекьюренное место на сервере. Но это неудобно т.к. приходится вместо одной операции - деплой сервиса, всегда делать сохранение wsdl - файла
...
Рейтинг: 0 / 0
MS SOAP Client авторизация через URL вида http://<user>:<password>@localhost:8080...?wsdl
    #37165179
nkz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сертификат самоподписный?

пробовали?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
 public class TrustAllCertificatePolicy : System.Net.ICertificatePolicy
        {
            public TrustAllCertificatePolicy() {}
            
            public bool CheckValidationResult(ServicePoint sp, X509Certificate cert, WebRequest req, int problem)
            {
                return true;
            }
        }

и гденить 
 System.Net.ServicePointManager.CertificatePolicy = new TrustAllCertificatePolicy();

...
Рейтинг: 0 / 0
MS SOAP Client авторизация через URL вида http://<user>:<password>@localhost:8080...?wsdl
    #37165329
chumansky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nkz,
Сертификат самоподписанный. Так и есть

Ваш вариант я не пробовал. Даже не догадываюсь где приведенный Вами код вставить. На сервере или на клиенте?

Наверное все-же на сервере...

Уточните пожалуйста!

Спасибо за отклик
...
Рейтинг: 0 / 0
MS SOAP Client авторизация через URL вида http://<user>:<password>@localhost:8080...?wsdl
    #37166073
nkz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chumanskynkz,
Уточните пожалуйста!

вставить надо на клиенте.
приведенный код на c#, в бейсик думаю транслируете без проблем или в инете аналог можно найти.

первую часть в любом месте, просто надо определить класс.
последняя строчка переопределят глобальную реакцию на запрос сертификата, как то так. вставить можно непосредственно перед запросом по https или опять же попробовать в любом месте.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / MS SOAP Client авторизация через URL вида http://<user>:<password>@localhost:8080...?wsdl
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]