powered by simpleCommunicator - 2.0.48     © 2025 Programmizd 02
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Sybase SA 12.0.1: Как передать в web-services параметр типа json
3 сообщений из 3, страница 1 из 1
Sybase SA 12.0.1: Как передать в web-services параметр типа json
    #39411843
Stalker4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Hi Al,

Sybase SA 12.0.1

Есть гугловская форма, пользователь на ней заполняет поля и жмет кнопку, по которой формируется json-объект и дергается мой сервис в SA 12.0.1 которому по идее этот json-объект и надо передать.

Вопрос: Умеет ли вообще SA 12.0.1 принимать данные (параметры) в веб-сервисы в виде json-объекта ?
Если да, то покажите пожалуйста пример такого веб-сервиса, как его надо создать.
...
Рейтинг: 0 / 0
Sybase SA 12.0.1: Как передать в web-services параметр типа json
    #39412400
Stalker4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Немного дополню свой вопрос.

Это код JS-метода, который дергает web-сервис в Sybase SA 12.0.1
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
function postToURL_1(formObject, URL) {
  var result = {};
  try {
    var options =
        { "method": "post",
         "contentType": "application/json",
         "muteHttpExceptions": true,
         "payload": JSON.stringify([ formObject.text, +formObject.number,
formObject.string, formObject.inputDate, formObject.myFile ])
        };
    result.status = true;
    result.message = 'Запрос выполнился';
    var response = UrlFetchApp.fetch(URL, options);
    result.itog = JSON.parse(response);
  }
  catch (err) {
    result.status = false;
    result.message = 'Запрос не выполнился';
    result.err = err;
  }
  return result;
}


В параметр URL передается ссылка на web-сервис http://xxx.xxx.xxx.xxx:yyyy/TestBase/wsTest1
formObject это гугловская форма.

Если тут есть знатоки javaScript, посмотрите пожалуйста, правильно ли написан метод.

Это код со стороны БД:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
CREATE SERVICE "wsTest1" TYPE 'JSON' AUTHORIZATION OFF USER "MyUser" AS call dba.WebTest1(:cXML);

CREATE PROCEDURE "DBA"."WebTest1"(in cXML long varchar)
RESULT( cReturn long varchar ) 
BEGIN	
 select cXML;
END
go



По идее в параметр cXML должен прийти json-объект, но почему то не приходит. То есть вызов web-сервиса и последующий вызов dba.WebTest1 происходит, но в cXML почему то приходит пустое значение (NULL).
...
Рейтинг: 0 / 0
Sybase SA 12.0.1: Как передать в web-services параметр типа json
    #39415602
Stalker4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так как никто не ответил, отвечу сам себе (помогли на форуме sqlanywhere-forum.sap.com ).

Так как вызов из JS веб-сервиса происходит через post, то в параметр cXML ничего не приходит, а вылавливать переданные данные надо внутри SP с помощью функции HTTP_BODY().
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Sybase SA 12.0.1: Как передать в web-services параметр типа json
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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