Форум программистов, компьютерный форум, киберфорум
HCL Notes: Программирование
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/35: Рейтинг темы: голосов - 35, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252

jsonRpcService/CSJS->SSJS->CSJS ошибка запроса

09.08.2016, 19:25. Показов 7429. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
кнопка и сервис в файле (админы - где вы, невозможно так код постить уже)
в либе код такой (изгалялся по-разному, но до него даже не доходит)

Код (Javascript):
function rpcSetViewScope(xName:string, xVal:string){
try{
viewScope.put("\""+xName+"\"",xVal);
return xVal;
} catch (e) {
return SSJS Error: + e.toString();
}
}

ошибка:
Caused by: java.lang.ClassCastException: com.ibm.jscript.std.FunctionObject incompatible with com.ibm.jscript.std.ObjectObject
at com.ibm.jscript.json.JsonJavaScriptFacto ry.getProperty(JsonJavaScriptFactory.jav a:87)
это ответ сервера клиенту (браузеру) на POST (кот. по кнопке)

Код (XML):

<xe:jsonRpcService id="rpcScope" pathInfo="rpcScope"
serviceName="rpcScope">
<xe:thys.methods>
<xe:remoteMethod name="setViewScope"
script="rpcSetViewScope">
<xe:thys.arguments>
<xe:remoteMethodArg name="xName" type="string"></xe:remoteMethodArg>
<xe:remoteMethodArg name="xVal" type="string"></xe:remoteMethodArg>
</xe:thys.arguments>
</xe:remoteMethod>
</xe:thys.methods>
</xe:jsonRpcService>

<xp:button value="XHR" id="button1" onclick="xhr();">

<xp:eventHandler event="onclick" submit="false">
<xp:thys.script><![CDATA[try{
rpcScope.setViewScope("test","test").add Callback(function(xVal){
console.log("xVal:"+xVal);});
} catch (e) {
alert(e.toString());
}]]></xp:thys.script>
</xp:eventHandler></xp:button>
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.08.2016, 19:25
Ответы с готовыми решениями:

Работа со строками viewpanel на csjs
Как выделить цветом кликнутую мышой row в стандартном viewPanel? Что б как в стандартной вьюшке на классике. И взять конкретный...

Set/get scope var через csjs
Привет, Помогите понять что не так. Что нужно: спросить пользователя и записать его ответ в поле документа Что делал: 1)поле...

Сторонние js убивают работу csjs хпагесов
хотел порисовать схему для докуменооборота, взял библиотечку GoJS (сайт_GoJS библиотечка_go.js около 800кб). И не могу понять, толи я...

23
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
16.10.2016, 12:20
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от romych2004
Во-первых, что бросилось в глаза - это eval, зачем он тут нужен? Ты итак выводишь текст
отгадай ;) - очевиднож - получить массив
есть другой способ? получить в переменную массив, вызовом ф-ции на сервере и без rpcService в клиенте?
Почему не сервис - в контксте выплнения хэпаги нужна переменная, кот. для вызова сервиса существовать, еще, не будет, а костыли с отложенным вызовом - городить не хочу


Цитата Сообщение от romych2004
А не сконверченный в массив
ты заметил что ф-ция д.б., типа, универсальной ;) ?!
снипет писал не я и итерировать можно, а вот пользоваться, для передачи "клиенту" - нет
0
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
16.10.2016, 12:29
Цитата Сообщение от romych2004
Во-вторых, если передать в функцию toArray лист
мне нужно получить, на выходе, из вектора то - что можно, в клиенте, интерпретировать как массив
0
0 / 0 / 0
Регистрация: 20.07.2014
Сообщений: 93
17.10.2016, 16:24
Цитата Сообщение от lmike
отгадай ;) - очевиднож - получить массив
есть другой способ? получить в переменную массив, вызовом ф-ции на сервере и без rpcService в клиенте?
Не, так-то все правильно, вью скоп недоступен в RCP
Я имел ввиду - все тоже самое, только убрать евал и кавычки. Оставить только #{javascript: ...}



Цитата Сообщение от lmike
ты заметил что ф-ция д.б., типа, универсальной ;) ?!
снипет писал не я и итерировать можно, а вот пользоваться, для передачи "клиенту" - нет
Ну формально ты получаешь массив. В котором один элемент - твой лист
Чтобы пофиксить - замени проверку на вектор вот так: if ( input instanceof java.util.Collection ) {
Должно сработать
0
0 / 0 / 0
Регистрация: 23.08.2008
Сообщений: 6,252
17.10.2016, 18:41
Цитата Сообщение от romych2004
только убрать евал и кавычки. Оставить только #{javascript: ...}
прав, спасибо


Цитата Сообщение от romych2004
if ( input instanceof java.util.Collection ) {
да, действительно будет работать, спасибо, сайд эффектов от всего снипета пока не знаю
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.10.2016, 18:41

Rich text получить значение csjs
Здравствуйте. Есть на Xpage рт-поле Код (HTML5): &lt;xp:inputRichText id=&quot;text&quot; value=&quot;#{document1.text}&quot; ...

Ошибка запроса System.Data.OleDb.OleDbException: "Ошибка синтаксиса (запятая) в выражении запроса
Добрый день, коллеги! Утро субботы не задалось В коде формирую запрос в базу. Текст запроса следующий: strTabName =...

Ssjs И Activexobject
При выполнении следующего SSJS: var objWord = new ActiveXObject(&quot;Word.Application&quot;) сервер выдает ошибку: 20.05.2014 15:14:48 HTTP...

Обновление Полей В Ssjs
Всем привет. добрался и я к Xpage. работаю над первым проектом и солкнулся с траблом как обновить несколько полей. искал инфу и все...

SSJS а что у нас с датами
а вот с датами у &quot;нас&quot; некоторый конфуз Код (Javascript): var keys = ; keys.push(context.getUser().getCommonName()); var dt =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
24
Ответ Создать тему
Новые блоги и статьи
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru