Гость
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / HowTo: Cache-client to WSDL password protected / 7 сообщений из 7, страница 1 из 1
15.09.2014, 16:31
    #38746991
drakut
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HowTo: Cache-client to WSDL password protected
Есть пример 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
15.09.2014, 18:58
    #38747151
newbie'
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HowTo: Cache-client to WSDL password protected
drakut,

Для basic authentication используются свойства HttpUsername и HttpPassword клиента %SOAP.WebClient .
...
Рейтинг: 0 / 0
16.09.2014, 12:06
    #38747669
drakut
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HowTo: Cache-client to WSDL password protected
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
16.09.2014, 13:45
    #38747858
Petr0vi4444
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HowTo: Cache-client to WSDL password protected
drakut,

Можно получить wsdl в браузере, используя пару логин/пароль через Basic Authentication.
Затем полученный xml сохранить в файл и на основе файла создать клиентские классы.
...
Рейтинг: 0 / 0
17.09.2014, 08:08
    #38748698
drakut
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HowTo: Cache-client to WSDL password protected
Petr0vi4444,
Так и сделал, но для будущих поколений, так сказать, на вопрос хотелось бы ответить.
...
Рейтинг: 0 / 0
23.09.2014, 15:43
    #38754850
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HowTo: Cache-client to WSDL password protected
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
26.09.2014, 12:23
    #38758690
drakut
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HowTo: Cache-client to WSDL password protected
servit, версия Каше, на которой сейчас реализуется 5.1, возможно поэтому выводит ошибку:

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

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


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