Hivext Community
Февраль 05, 2012, 11:13:10 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Добро пожаловать в сообщество разработчиков Hivext.
 
Wiki   IDE   Console      Начало   Помощь Поиск Войти Регистрация  
Страниц: [1] 2 3 ... 10
 1 
 : Январь 19, 2012, 01:15:57  
Автор TumSoivemum - Последний ответ от TumSoivemum
online pharmacy programs http://sundrugstore.net/products/noroxin.htm cvs pharmacy gift card 2008

 2 
 : Октябрь 10, 2011, 02:55:00  
Автор kel - Последний ответ от kel
Нечаянно вызвал метод RemoveRole, где попытался удалить несуществующую роль с пользователя. После чего метод GetRoles срабатывает так:

Код
javascript:
 
http://de-hetzner.hivext.com/1.0/security/accesscontrol/cross/getroles
java.lang.ClassNotFoundException: com.hivext.api.data.entity.dynamic.app_13312.Role
IN
appid : "f2f11a762d9fbb8397944e8519c4fc36",
session : "586xde8d404c8d94f12fb024527db667a928"
 
OUT
result : 99,
error : "java.lang.ClassNotFoundException: com.hivext.api.data.entity.dynamic.app_13312.Role",
debug : {
       time : 30,
       cpu : {
               usage : 4.2016277,
               time : 10
       }
}

 3 
 : Октябрь 10, 2011, 12:50:48  
Автор kel - Последний ответ от kel
Скрипт собирает следующий объект:
Код
javascript:
 
   result.ert = 3;
   result.ert2 = result.ert;
 
   result.obj1 = {param1:"value1"};
   result.obj2 = result.obj1;
 
   result.ert3 = result.obj1.param1;

Но при ответе скрипта приходит вот такой объект:
Код
javascript:
 
response : {
      ert : 3,
      ert2 : 3,
 
      obj1 : {
             param1 : "value1"
      },
      obj2 : {
      },
 
      ert3 : "value1",
      okey : 1
}

То есть, у нас один объект в резалт-объекте повторяется дважды, а при формировании ответа - повторяющийся объект не клонирован, а просто забит пустышкой.

Изначально проблема обнаружилась при работе с массивами.

 4 
 : Октябрь 08, 2011, 04:06:04  
Автор kel - Последний ответ от kel
1. Написал такой скрипт:
Код
javascript:
 
//@req(email, password)
try {
   return hivext.users.athentication.SignIn(appid, email, password);
 
} catch (ex) {
   return {error: ex};
}
Отправлял запрос из консоли без аутентификации, без сессии, с параметрами: email=kel&password=123.
В ответ пришло сначала:
Код
html4strict:
 
<html>
<head>
<title>Error</title>
</head>
<body>
<h1>The resource did not process correctly</h1>
<pre>
, exception->java.net.SocketException: Unexpected end of file from server
at com.hivext.api.server.core.cluster.ClusterSwitcher.redirectToRandomNodeIfNeeded(ClusterSwitcher.java:277)
at com.hivext.api.server.core.cluster.ClusterSwitcher.redirectIfNeeded(ClusterSwitcher.java:253)
at com.hivext.api.server.core.cluster.ClusterSwitcher.redirectIfNeeded(ClusterSwitcher.java:56)
at com.hivext.api.server.core.filter.RemoteServerClusterSwitcherFilter.doFilter(RemoteServerClusterSwitcherFilter.java:72)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.hivext.api.server.core.filter.RedirectParamFilter.doFilter(RedirectParamFilter.java:44)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.hivext.api.server.core.filter.AmfRequestFilter.doFilter(AmfRequestFilter.java:190)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.hivext.api.server.core.filter.CharsetEncodingFilter.doFilter(CharsetEncodingFilter.java:68)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.ha.session.JvmRouteBinderValve.invoke(JvmRouteBinderValve.java:227)
at org.apache.catalina.ha.tcp.ReplicationValve.invoke(ReplicationValve.java:347)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:774)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703)
at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:896)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
at java.lang.Thread.run(Thread.java:662)
</pre></body>
</html>
А затем, после третьей попытки запуска скрипта, пришло:
Код
javascript:
 
HNet.ScriptRequest.Response.ID861033({"response":{"error":{"message":"Cannot call method \"SignIn\" of undefined","source":"auth.Auth","name":"TypeError","line":4}},"result":0,"debug":{"time":12,"cpu":{"usage":10.587406,"time":10}}})

2. После чего я изменил скрипт на такой:
Код
javascript:
 
//@req(email, password)
try {
   return "werer";
   //return hivext.users.athentication.Signin(appid, email, password);
 
} catch (ex) {
   return {error: ex};
}
В результате, на повторение запроса стали возвращаться указанные два ответа, плюс, очень редко:
Код
javascript:
 
HNet.ScriptRequest.Response.ID243869({"response":"werer","result":0,"debug":{"time":13,"cpu":{"usage":9.554258,"time":10}}})


Когда запускал скрипт с теми-же параметрами, но сразу из HiveIDE - ответ был всегда адекватным. Либо не могу вызвать ундифайн метод, либо - "werer".

Запуск с клиентского приложения приносит такой-же результат, как и запуск из консоли.

 5 
 : Октябрь 06, 2011, 04:15:19  
Автор kel - Последний ответ от kel
Есть для PHP замечательная библиотека, плюс плагин для FireBug. В PHP-коде достаточно было инклудить либу, написать fblog("бла-бла-бла"); - и во вкладке "Консоль" в фаербаге появлялся выведенный текст. Очень нужная штука, хочу-хочу! Улыбающийся

 6 
 : Октябрь 05, 2011, 10:39:40  
Автор kel - Последний ответ от kel
При выполнении кода в рамках оператора try - catch происходит ошибка js (например, использование не объявленной переменной). В блоке обработки исключения пишу result ex - и таким образом вижу исключение. Объект состоит из 4-х полей: {name, message, line, source}. Этот объект я вижу в таком виде как результат выполнения скрипта.

Ошибка или неожиданное поведение: если я в коде пытаюсь обратится к таким полям объекта, как line и source - но получаю только undefined (два других поля "работают" нормально). Я просто хотел объект сложить в строку и записать в лог, чтобы отслеживать выполнение скрипта.

Это нормальное поведение или не совсем?

 7 
 : Октябрь 05, 2011, 10:27:30  
Автор kel - Последний ответ от kel
Экспериментируя со скриптами, запускаемыми из Планировщика, выяснил, что они не могут иметь аннотацию @local (не запускаются). Ну и скрипты вообще не работают, если их добавлять в Планировщик по сигнатуре, а у них стоит аннотация @auth.

В результате получается свободный скрипт, который может выполнить кто угодно, включая шедулер.

Есть какие-нибудь простые способы ограничения запуска скрипта?

 8 
 : Сентябрь 29, 2011, 11:56:01  
Автор Mike - Последний ответ от Mike
вот спасибо, капитан!

Что это такое, понятно по названию, но неплохо было бы где-нибудь вывесить весь список таких вот скрытых переменных с их пояснениями, что в них хранится.

 9 
 : Сентябрь 28, 2011, 02:14:42  
Автор Mike - Последний ответ от Ruslan
Одно связанно с другим, то что информация отображается в Консоли - это ок, так и задуманно. Jelastic - это часть Hivext. Вообщем это все ок. Просто вы создали приложения не на тех серверах где нужно, старые сервера не поддерживают часть нового функционала. Вот и получилася казус.

 10 
 : Сентябрь 27, 2011, 11:41:47  
Автор Mike - Последний ответ от kel
appid - это идентификатор приложения, в котором вызван скрипт.
Сессия - это параметр сессии
Два эти параметра передаются во многие функции Hive API.

Эти параметры начинают существовать после sign in.

signature - это "айдишник машины"... общем говоря, его можно указывать вместо сессии, и тогда скрипт запуститься в режиме "бога", как от создателя. то есть, можно что угодно сделать по сигнатуре даже если метод вызван либо не авторизованным пользователем, либо не имеющем прав на вызов метода. В таком случае сигнатура представляет уровень прав разработчика.

Страниц: [1] 2 3 ... 10
Powered by MySQL Powered by PHP Powered by SMF 1.1.11 | SMF © 2006-2008, Simple Machines LLC | Sitemap Valid XHTML 1.0! Valid CSS!