Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Запрос возвращает NULL при вызове web-сервиса / 5 сообщений из 5, страница 1 из 1
28.01.2021, 21:12
    #40039730
mikka sikorsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос возвращает NULL при вызове web-сервиса
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
declare @UserName nvarchar(100) = 'username1'
declare @Password nvarchar(100) = 'password1'
declare @uri nvarchar(800) = 'http://test.lan/portal'

declare @Object as Int;
declare @ResponseText as Varchar(8000);

exec sp_OACreate 'MSXML2.XMLHTTP', @Object out;
exec sp_OAMethod @Object, 'open', NULL, 'get', @uri,'false', @UserName, @Password 
exec sp_OAMethod @Object, 'send'
exec sp_OAMethod @Object, 'responseText', @ResponseText out
select @ResponseText
exec sp_OADestroy @Object



-- предварительно я запускал
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Use master;
GO   
sp_configure 'show advanced options', 1   
GO   
RECONFIGURE;   
GO   
sp_configure 'Ole Automation Procedures', 1   
GO   
RECONFIGURE;   
GO   
sp_configure 'show advanced options', 1   
GO   
RECONFIGURE;  



Вопрос в том, что после вызова
Код: sql
1.
exec sp_OAMethod @Object, 'responseText', @ResponseText out


@ResponseText равен NULL
Что не так? Где ошибка?
...
Рейтинг: 0 / 0
28.01.2021, 21:49
    #40039736
felix_ff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос возвращает NULL при вызове web-сервиса
mikka sikorsky,

Ну а у вас на том uri что за сервис то хоть? Может там soap ожидается
...
Рейтинг: 0 / 0
28.01.2021, 22:00
    #40039741
mikka sikorsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос возвращает NULL при вызове web-сервиса
felix_ff,

при вызове через адресную строку браузера появляется окно для ввода логина и пароля, если правильно введено, то на странице браузера отображается возвращённый XML, тот, который должен возвращаться в @ResponseText
...
Рейтинг: 0 / 0
28.01.2021, 22:29
    #40039747
court
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос возвращает NULL при вызове web-сервиса
mikka sikorsky,

проверяй код возврата у sp_OA
и где не 0, выполняй s p_OAGetErrorInfo
...
Рейтинг: 0 / 0
28.01.2021, 23:50
    #40039764
mikka sikorsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос возвращает NULL при вызове web-сервиса
Заработало вот таким образом:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
declare @Result int
declare @UserName nvarchar(100) = 'username1'
declare @Password nvarchar(100) = 'password1'
declare @uri nvarchar(800) = 'http://test.lan/portal'
	
declare @Object as Int;
declare @ResponseText as xml;
declare @xml table(Content xml)

exec sp_OACreate 'MSXML2.XMLHTTP', @Object out;
exec sp_OAMethod @Object, 'open', NULL, 'get', @uri,'false', @UserName, @Password 
exec sp_OAMethod @Object, 'send'

insert into @xml(Content)
exec @Result = sp_OAGetProperty @Object, 'responseText'

select * from @xml

exec sp_OADestroy @Object
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Запрос возвращает NULL при вызове web-сервиса / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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