Когда 1 линия не справляется с потоком обращений, мы делегируем право регистрации 2 линии, т.е. этот "мусорок" в конфигурации моделирует наш процесс

. Спасибо, решение помогло (но из стартовой конфигурации для "правильного" процесса это нужно конечно убрать).
По поводу авто-регистрации картина следующая:
1. Если сообщение приходит от нового e-mail, регистрируется инцидент которому присваивается клиент "Help Desk Admin". Последующая "классификация" инцидента с указанием имени клиента и e-mail приводит к ошибке (лог ниже). Предварительное "редактирование" инцидента, картины не меняет.
Замечание: удобнее было бы, если бы данные клиента автоматически заносились в нужные поля - имя из FromUser а почта из FromEmail.- Code: Select all
System Information:
Java Information:
Java Version: 1.7.0_01
Java Vendor: Oracle Corporation
Java Specification Vendor: Oracle Corporation
Java Specification Version: 1.7
Java Home: c:\program files (x86)\common files\i4j_jres\1.7.0_01
Java Classpath:
Servlet Container Information:
Servlet Version: 25
AS Vendor: jetty/6.1.26
Virtual Machine Information:
VM Vendor: Oracle Corporation
VM: Java HotSpot(TM) Client VM
VM Version: 21.1-b02
Runtime Version: 1.7.0_01-b08
VM Specification Version: 1.7
VM Info: mixed mode
System information:
OS Name: x86-Windows 7(6.1)
Total Memory: 468713472
Free Memory: 14616040
Product Information:
Version: 4.0.14.9
Licensee: Evaluation Customer
License Type: EVAL
Database Information:
Database: HSQL Database Engine
Database version:1.8.0
Database major version:1
Database minor version:8
Database driver name:HSQL Database Engine Driver
Database driver version:1.8.0
Database driver major version:1
Database driver minor version:8
Hibernate Dialect: org.hibernate.dialect.HSQLDialect
Hibernate Driver: org.hsqldb.jdbcDriver
Expire Date: 1/7/47 6:33 AM
Stack Trace:
java.lang.NullPointerException
at scripts.before_add_message.itsm.ClassifyIncident.execute(ClassifyIncident.java:76)
at com.trackstudio.app.TriggerManager.executeTrigger(TriggerManager.java:123)
at com.trackstudio.app.TriggerManager.createMessage(TriggerManager.java:81)
at com.trackstudio.action.task.MessageCreateAction.saveMessage(MessageCreateAction.java:382)
at com.trackstudio.action.task.MessageCreateAction.save(MessageCreateAction.java:332)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:269)
at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:170)
at com.trackstudio.action.TSDispatchAction.execute(TSDispatchAction.java:73)
at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
at com.trackstudio.action.TSStrutsServlet.doGet(TSStrutsServlet.java:32)
at com.trackstudio.action.TSStrutsServlet.doPost(TSStrutsServlet.java:41)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1221)
at jcifs.http.NtlmHttpFilter.doFilter(NtlmHttpFilter.java:130)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
at com.trackstudio.filters.CompressResponseFilter.doFilter(CompressResponseFilter.java:69)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:945)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
2. При ручном добавлении нового инцидента и вводе нового e-mail, инцидент регистрируется, новый пользователь создаётся. Однако, если в поле "Контактные данные клиента", в строку "электронная почта:" вписать e-mail сразу после двоеточия(без пробела) выдаётся ошибка (лог ниже). Поправьте парсинг пожалуйста.
- Code: Select all
System Information:
Java Information:
Java Version: 1.7.0_01
Java Vendor: Oracle Corporation
Java Specification Vendor: Oracle Corporation
Java Specification Version: 1.7
Java Home: c:\program files (x86)\common files\i4j_jres\1.7.0_01
Java Classpath:
Servlet Container Information:
Servlet Version: 25
AS Vendor: jetty/6.1.26
Virtual Machine Information:
VM Vendor: Oracle Corporation
VM: Java HotSpot(TM) Client VM
VM Version: 21.1-b02
Runtime Version: 1.7.0_01-b08
VM Specification Version: 1.7
VM Info: mixed mode
System information:
OS Name: x86-Windows 7(6.1)
Total Memory: 469762048
Free Memory: 413097728
Product Information:
Version: 4.0.14.9
Licensee: Evaluation Customer
License Type: EVAL
Database Information:
Database: HSQL Database Engine
Database version:1.8.0
Database major version:1
Database minor version:8
Database driver name:HSQL Database Engine Driver
Database driver version:1.8.0
Database driver major version:1
Database driver minor version:8
Hibernate Dialect: org.hibernate.dialect.HSQLDialect
Hibernate Driver: org.hsqldb.jdbcDriver
Expire Date: 1/7/47 6:33 AM
Stack Trace:
java.lang.NullPointerException
at scripts.before_create_task.itsm.NewIncidentProcessing.execute(NewIncidentProcessing.java:44)
at com.trackstudio.app.TriggerManager.executeTrigger(TriggerManager.java:166)
at com.trackstudio.app.TriggerManager.createTask(TriggerManager.java:350)
at com.trackstudio.action.task.TaskEditAction.commonSaveTask(TaskEditAction.java:465)
at com.trackstudio.action.task.TaskEditAction.saveTask(TaskEditAction.java:278)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:269)
at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:170)
at com.trackstudio.action.TSDispatchAction.execute(TSDispatchAction.java:73)
at org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:58)
at org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:67)
at org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
at org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305)
at org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191)
at org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
at com.trackstudio.action.TSStrutsServlet.doGet(TSStrutsServlet.java:32)
at com.trackstudio.action.TSStrutsServlet.doPost(TSStrutsServlet.java:41)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1221)
at jcifs.http.NtlmHttpFilter.doFilter(NtlmHttpFilter.java:130)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
at com.trackstudio.filters.CompressResponseFilter.doFilter(CompressResponseFilter.java:69)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:945)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
Всё таки, правильнее было бы, заносить контактную информацию в отдельные текстовые поля, совпадающие по сути с полями из "свойств пользователя". Тем более, что поле "Контактные данные клиента", доступно для редактирования при создании и при классификации. Но если внести в это поле дополнительную информацию, все правки после "создания" или "классификации" затираются существующими данными клиента.