powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / HowTo: Cache-client to WSDL password protected
7 сообщений из 7, страница 1 из 1
HowTo: Cache-client to WSDL password protected
    #38746991
drakut
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть пример PHP-кода обращения клиента к 1С-овскому веб-сервису (чтение WSDL, при обращении из браузера - спрашивает логин и пароль):

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
$Soap = new SoapClient("http://xxx/smth.1cws?wsdl",
	array(
			'login' => "test",
			'password' => "",
			'encoding' => "UTF-8",
			'exceptions' => 1, 
		)
);



Вопрос: как сделать это же обращение на Каши? конкретнее - куда прописывать параметры логина и пароля? пробовал, как написано в документации, в урле приписать &UserName=_test&Password="", пробовал вместо UserName там же - Login - безрезультатно.
...
Рейтинг: 0 / 0
HowTo: Cache-client to WSDL password protected
    #38747151
newbie'
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
drakut,

Для basic authentication используются свойства HttpUsername и HttpPassword клиента %SOAP.WebClient .
...
Рейтинг: 0 / 0
HowTo: Cache-client to WSDL password protected
    #38747669
drakut
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
newbie',

При создании клиента сначала читается wsdl и создаются клиентские классы, то есть сначала

...
s reader=##class(%SOAP.WSDL.Reader).%New()
s wsdlPath=" http://1c-app/ayupov/ws/skynet.1cws?wsdl"
d reader.Process(wsdlPath)
...

То есть сначала мне нужно сгенерировать клиентские классы, а потом уже создавать экземпляр клиента.
...
Рейтинг: 0 / 0
HowTo: Cache-client to WSDL password protected
    #38747858
Petr0vi4444
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
drakut,

Можно получить wsdl в браузере, используя пару логин/пароль через Basic Authentication.
Затем полученный xml сохранить в файл и на основе файла создать клиентские классы.
...
Рейтинг: 0 / 0
HowTo: Cache-client to WSDL password protected
    #38748698
drakut
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petr0vi4444,
Так и сделал, но для будущих поколений, так сказать, на вопрос хотелось бы ответить.
...
Рейтинг: 0 / 0
HowTo: Cache-client to WSDL password protected
    #38754850
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
drakut ,

То есть Вам нужно узнать как программно сгенерировать клиентские классы по WSDL для защищённого паролем ресурса?Тогда так: s r=##class(%SOAP.WSDL.Reader).%New()
 s r.HttpRequest=##class(%Net.HttpRequest).%New()
 s r.HttpRequest.Username="test"
 s r.HttpRequest.Password=""
 s r.CompileFlags="du"
 
 d $system.OBJ.DisplayError(r.Process(" http://xxx/smth.1cws?wsdl" ))Схожим образом можно использовать и прокси (если надо): Fine-Tuning a Caché Web Client
...
Рейтинг: 0 / 0
HowTo: Cache-client to WSDL password protected
    #38758690
drakut
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
servit, версия Каше, на которой сейчас реализуется 5.1, возможно поэтому выводит ошибку:

s r.HttpRequest=##class(%Net.HttpRequest).%New()
^
<PROPERTY DOES NOT EXIST>temp+3^kamSYNC

Позже попробую на более поздней версии
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / HowTo: Cache-client to WSDL password protected
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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