powered by simpleCommunicator - 2.0.18     © 2024 Programmizd 02
Map
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / SA12: Вызов стороннего https web-серсиса с передачей ему параметров через post ?
3 сообщений из 3, страница 1 из 1
SA12: Вызов стороннего https web-серсиса с передачей ему параметров через post ?
    #39523663
Stalker4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hi All,

Есть SQL Anywhere 12.0.1.
Есть сторонний web-сервис, который вызывается через https протокол
https://xxx.xxx.xxx.xxx/Test

Мне надо вызвать этот сервис с передачей ему параметров через post и получить от него ответ.

Для начала делаю более простой вариант - http и get

Код: sql
1.
2.
3.
4.
5.
CREATE PROCEDURE "DBA"."WebTest2"(in nID integer ,in cDocDate char(10)) 
result (cAttribute long varchar, cValue long varchar) 
dynamic result sets 1
url 'http://xxx.xxx.xxx.xxx/Test?pID=!nID&pDocDate=!cDocDate' 
type 'HTTP:GET'


тут все работает нормально.

Теперь мне надо вызвать этот сервис по протоколу https и передать ему параметры через post

1) Что касается https - есть ключевое слово CERTIFICATE, ему можно указать файл с сертификатом или ключ сертификата.
Но https://xxx.xxx.xxx.xxx/Test это сторонний web-сервис и у меня соответственно нет его файла с сертификатом или ключа его сертификата.
Вопрос: Как тут быть ?

2) Что касается post - достаточно ли будет в процедуре сменить type 'HTTP:GET' на type 'HTTP:POST', что бы сервер передал данные в web-сервис через post или надо что то еще ?
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
SA12: Вызов стороннего https web-серсиса с передачей ему параметров через post ?
    #40133142
alexsmile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подниму тему.
Хочу дернуть внешний web сервис через POST не понимаю как ему передать параметры
Вот пример на Postman
авторcurl --location --request POST 'http://127.0.0.1:8080/prismart/login' \
--header 'Content-Type: application/json' \
--header 'Cookie: JSESSIONID=543831682627612672_1uztt7u622so187d7qye8wpyx3.543831682627612672_' \
--data-raw '{
"username":"una",
"password":"000000"
}'

Ответ от сервиса
автор{
"resultCode": 1001,
"result": "succeed",
"message": "success",
"data": {
"jsessionid": "543831682627612672_1uztt7u622so187d7qye8wpyx3",
"admin": 0,
"storeName": "Fidesco20",
"storeCode": "920",
"customerStoreCode": "920",
"key": "/////////////////////w=="
}
}


Создаю процедуру
ALTER PROCEDURE "DBA"."WebTest2"()
result (t long varchar )
url 'http://127.0.0.1:8080/prismart/login'
header 'Content-Type: application/json'
type 'HTTP:POST'
set ' {"username":"una","password":"000000"}'

CALL "DBA"."WebTest2"()
при исполнении ругается на параметр SET
авторCould not execute statement.
Clause 'SET' has invalid attribute '{"username":"una"'
SQLCODE=-991, ODBC 3 State="HY000"
Line 1, column 1



Подскажите как передать в веб сервис данные.
Спасибо. ASA 16

Спасибо.
...
Рейтинг: 0 / 0
SA12: Вызов стороннего https web-серсиса с передачей ему параметров через post ?
    #40134280
Stalker4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexsmile,

У меня работает так (SA 17.0.10):

Код: sql
1.
2.
3.
4.
5.
CREATE PROCEDURE "dba"."WebClose"( in "nCustomerID" integer,in "nResultType" integer,in "cResultText" char(250),in "cAnswerNumber" char(30),in "dAnswerDate" date,in "cFile1" long varchar ) 
result( "cAttribute" long varchar,"cValue" long varchar,"npp" integer ) 
url 'https://username:password@test.com/dataapi/post'
certificate 'file=D:\\BASE\\CertSource\\isrgrootx1.cer'
type 'HTTP:POST'



Это пример вызова Web-сервиса по https с передачей ему данных (данные автоматом берутся из параметров SP).
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / SA12: Вызов стороннего https web-серсиса с передачей ему параметров через post ?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (1): Анонимы (1)
Читали форум (1): Анонимы (1)
Пользователи онлайн (14): Анонимы (11), Yandex Bot, Bing Bot, Google Bot 1 мин.
x
x
Закрыть


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