i was just trying to record communication even when a email was received. I had done the MCA rules incorrectly, but i guess they are not set OK.
My MCA settings are: <service-mca xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://www.ofbiz.org/dtds/service-mca.xsd"> <mca mail-rule-name="processIncomingEmail"> <!-- the matching is a regular expression match against the email address. this format seems to work for both "[EMAIL PROTECTED]" and "Mr. XYZ <[EMAIL PROTECTED]>" --> <condition-field field-name="to" operator="matches" value="[EMAIL PROTECTED]"/> <action service="crmsfa.processIncomingEmail" mode="sync"/> </mca> </service-mca> The crmsfa.processincomingemail is defined as follows: <service name="crmsfa.processIncomingEmail" engine="java" location="com.opensourcestrategies.crmsfa.activities.ActivitiesServices" invoke="processIncomingEmail"> <description>Process an incoming email by calling storeIncomingEmail to create a CommunicationEvent wrapped in a WorkEffort. This WorkEffort is then associated with the partyIdFrom of the CommunicationEvent.</description> <attribute name="messageWrapper" type="org.ofbiz.service.mail.MimeMessageWrapper" mode="IN"/> </service> However the incoming mails are not being processed and i am getting these errors: 2007-04-20 12:44:03,137 (Thread-0) [ EmailServices.java:743:INFO ] Processing Incoming Email message from: Rohit Sureka <[EMAIL PROTECTED]> to: [EMAIL PROTECTED] 2007-04-20 12:44:03,170 (Thread-0) [ EmailServices.java:933:ERROR] ---- runtime exception report -------------------------------------------------- Exception: java.lang.NullPointerException Message: null ---- stack trace --------------------------------------------------------------- java.lang.NullPointerException org.ofbiz.content.email.EmailServices.storeIncomingEmail(EmailServices.java:835) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:324) org.ofbiz.service.engine.StandardJavaEngine.serviceInvoker(StandardJavaEngine.java:91) org.ofbiz.service.engine.StandardJavaEngine.runSync(StandardJavaEngine.java:53) org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:336) org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:211) org.ofbiz.service.GenericDispatcher.runSync(GenericDispatcher.java:136) com.opensourcestrategies.crmsfa.activities.ActivitiesServices.processIncomingEmail(ActivitiesServices.java:309) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:324) org.ofbiz.service.engine.StandardJavaEngine.serviceInvoker(StandardJavaEngine.java:91) org.ofbiz.service.engine.StandardJavaEngine.runSync(StandardJavaEngine.java:53) org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:336) org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:211) org.ofbiz.service.GenericDispatcher.runSync(GenericDispatcher.java:136) org.ofbiz.service.mail.ServiceMcaAction.runAction(ServiceMcaAction.java:58) org.ofbiz.service.mail.ServiceMcaRule.eval(ServiceMcaRule.java:97) org.ofbiz.service.mail.ServiceMcaUtil.evalRules(ServiceMcaUtil.java:120) org.ofbiz.service.mail.JavaMailContainer$PollerTask.processMessage(JavaMailContainer.java:334) org.ofbiz.service.mail.JavaMailContainer$PollerTask.checkMessages(JavaMailContainer.java:313) org.ofbiz.service.mail.JavaMailContainer$PollerTask.run(JavaMailContainer.java:262) java.util.TimerThread.mainLoop(Timer.java:432) java.util.TimerThread.run(Timer.java:382) -------------------------------------------------------------------------------- 2007-04-20 12:44:03,171 (Thread-0) [ ServiceDispatcher.java:411:ERROR] Service Error [storeIncomingEmail]: 2007-04-20 12:44:03,172 (Thread-0) [ TransactionUtil.java:285:WARN ] ---- exception report ---------------------------------------------------------- [TransactionUtil.setRollbackOnly] Calling transaction setRollbackOnly; this stack trace shows where this is happening: Exception: java.lang.Exception Message: Service Error [storeIncomingEmail]: ---- stack trace --------------------------------------------------------------- java.lang.Exception: Service Error [storeIncomingEmail]: org.ofbiz.entity.transaction.TransactionUtil.setRollbackOnly(TransactionUtil.java:285) org.ofbiz.entity.transaction.TransactionUtil.rollback(TransactionUtil.java:235) org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:415) org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:211) org.ofbiz.service.GenericDispatcher.runSync(GenericDispatcher.java:136) com.opensourcestrategies.crmsfa.activities.ActivitiesServices.processIncomingEmail(ActivitiesServices.java:309) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:324) org.ofbiz.service.engine.StandardJavaEngine.serviceInvoker(StandardJavaEngine.java:91) org.ofbiz.service.engine.StandardJavaEngine.runSync(StandardJavaEngine.java:53) org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:336) org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:211) org.ofbiz.service.GenericDispatcher.runSync(GenericDispatcher.java:136) org.ofbiz.service.mail.ServiceMcaAction.runAction(ServiceMcaAction.java:58) org.ofbiz.service.mail.ServiceMcaRule.eval(ServiceMcaRule.java:97) org.ofbiz.service.mail.ServiceMcaUtil.evalRules(ServiceMcaUtil.java:120) org.ofbiz.service.mail.JavaMailContainer$PollerTask.processMessage(JavaMailContainer.java:334) org.ofbiz.service.mail.JavaMailContainer$PollerTask.checkMessages(JavaMailContainer.java:313) org.ofbiz.service.mail.JavaMailContainer$PollerTask.run(JavaMailContainer.java:262) java.util.TimerThread.mainLoop(Timer.java:432) java.util.TimerThread.run(Timer.java:382) -------------------------------------------------------------------------------- 2007-04-20 12:44:03,173 (Thread-0) [ UtilCommon.java:127:ERROR] Failed to process incoming email: 2007-04-20 12:44:03,173 (Thread-0) [ ServiceDispatcher.java:411:ERROR] Service Error [crmsfa.processIncomingEmail]: Failed to process incoming email: 2007-04-20 12:44:03,174 (Thread-0) [ TransactionUtil.java:252:ERROR] ---- exception report ---------------------------------------------------------- [TransactionUtil.rollback] Exception: java.lang.Exception Message: Stack Trace ---- stack trace --------------------------------------------------------------- java.lang.Exception: Stack Trace org.ofbiz.entity.transaction.TransactionUtil.rollback(TransactionUtil.java:251) org.ofbiz.entity.transaction.TransactionUtil.rollback(TransactionUtil.java:233) org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:415) org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:211) org.ofbiz.service.GenericDispatcher.runSync(GenericDispatcher.java:136) org.ofbiz.service.mail.ServiceMcaAction.runAction(ServiceMcaAction.java:58) org.ofbiz.service.mail.ServiceMcaRule.eval(ServiceMcaRule.java:97) org.ofbiz.service.mail.ServiceMcaUtil.evalRules(ServiceMcaUtil.java:120) org.ofbiz.service.mail.JavaMailContainer$PollerTask.processMessage(JavaMailContainer.java:334) org.ofbiz.service.mail.JavaMailContainer$PollerTask.checkMessages(JavaMailContainer.java:313) org.ofbiz.service.mail.JavaMailContainer$PollerTask.run(JavaMailContainer.java:262) java.util.TimerThread.mainLoop(Timer.java:432) java.util.TimerThread.run(Timer.java:382) -------------------------------------------------------------------------------- 2007-04-20 12:44:03,175 (Thread-0) [ TransactionUtil.java:262:INFO ] [TransactionUtil.rollback] transaction rolled back 2007-04-20 12:44:03,176 (Thread-0) [ ServiceMcaAction.java:60 :ERROR] Failed to process incoming email: C: QUIT S: +OK Logging out. BJ Freeman wrote: > > could you be more specific about what you are trying to sort? > would this be better served as a entity view? > > Rohit Sureka sent the following on 4/20/2007 9:32 AM: >> Thanks for the email and i am sorry if i did not put my question >> properly. >> >> My real problem is configuring the service to sort emails. I have put the >> MCA rules in place but i am not able to configure the "sortincomingemail' >> service. >> >> I understand that "sortincomingemail" has to be run at regular interval >> to process the email sorting. >> >> Rohit >> >> BJ Freeman <[EMAIL PROTECTED]> wrote: My previous response was aimed at >> sorting the communication events after >> they have been already loaded. >> >> to answer your question, Yes ofbiz will try to match any email to and >> from with those in the parties. >> if it can not find one of the parties, usually the from, it puts the >> address in comments, an marks it unknown email address. >> >> >> The MCA is used to filter the emails. Like: >> >> link tracking number to order--> >> >> >> value="[EMAIL PROTECTED]"/> >> >> >> >> in the above I am rerouting the Quantum emails to a process I wrote to >> input the shipping tracking number into an order. >> >> If this is what you were meaning by sort then this is the mechanism to >> to this. >> >> you can find /framework/common/servicedef/smca_test.xml >> >> >> rohit2006 sent the following on 4/19/2007 10:03 PM: >>> i am trying to configure email sorting in ofbiz. I have followed the >>> documentation by Si Chen, to test it. I am assuming that if email >>> sorting is >>> correctly configured, emails will be recorded as communication event for >>> the >>> related parties. For eg. after a email is received ofbiz, will try to >>> match >>> the "to" address, with the email associated to a party, and if a match >>> is >>> found, a communication event will be logged for the party. >>> >>> I hope that i got this right? >>> >>> I have followed the instruction as mentioned in documentation, and >>> everything loads fine, but when i schedule the service >>> storeincomingemail, i >>> am prompted to enter the service parameter(messageWrapper >>> (org.ofbiz.service.mail.MimeMessageWrapper), which i have no clue about. >>> i >>> guess this is to do something 'MimeMessageWrapper'. >>> >>> The documentation by Si Chen mentions this: >>> >>> 5. MCA services need to implement the mail processing interface, as in: >>> >>> It uses a MimeMessageWrapper: >>> MimeMessageWrapper wrapper = (MimeMessageWrapper) >>> context.get("messageWrapper"); >>> MimeMessage message = wrapper.getMessage(); >>> with methods like message.getAllRecipients(), message.getFrom(), >>> message.getSubject(), getAllRecipients(), getSentDate(), >>> getReceivedDate(), >>> etc. >>> >>> Currently (20060607) there is a service called “storeIncomingEmail†>>> which >>> could be used to do inbound mail sorting. This has not been fully >>> tested >>> yet. >>> >>> >>> I am not sure what to insert in the service parameters. >>> >>> Do we need to create a view for email sorting, cause i think the mails >>> will >>> be visible, under the communication tab, in party manager? >>> >>> Rohit >>> >>> >>> >>> BJ Freeman wrote: >>>> If I understand you, you can create a view with the sorting you want. >>>> >>>> rohit2006 sent the following on 4/19/2007 4:33 AM: >>>>> Hi, >>>>> >>>>> I am trying configure email sorting in ofbiz and store emails as >>>>> communication events. I believe i have to schedule the service >>>>> storeIncomingEmail as a service. I tried to do that and was prompted >>>>> fill >>>>> the fields: >>>>> >>>>> Step 2: Service Parameters >>>>> messageWrapper (org.ofbiz.service.mail.MimeMessageWrapper). >>>>> >>>>> I am not sure what to enter into this field, can someone please help >>>>> me >>>>> configure this. I am getting the following error in log when the >>>>> service >>>>> is >>>>> run >>>>> >>>>> 2007-04-19 05:22:31,302 (default-invoker-Thread-2) [ >>>>> JobInvoker.java:211:INFO ] Invoker: default-invoker-Thread-2 received >>>>> job >>>>> -- >>>>> 1176985293330 from poller - [EMAIL PROTECTED] >>>>> 2007-04-19 05:22:31,320 (default-invoker-Thread-2) >>>>> [PersistedServiceJob.java:136:INFO ] >>>>> [EMAIL PROTECTED] -- Next >>>>> runtime: >>>>> -1 >>>>> [Error] :2:12: cvc-elt.1: Cannot find the declaration of element >>>>> 'ofbiz-ser'. >>>>> 2007-04-19 05:22:31,331 (default-invoker-Thread-2) [ >>>>> UtilXml.java:243:DEBUG] XML Read 0.0040s: Internal Content >>>>> 2007-04-19 05:22:31,332 (default-invoker-Thread-2) [ >>>>> ServiceDispatcher.java:322:ERROR] >>>>> ---- exception report >>>>> ---------------------------------------------------------- >>>>> Incoming context (in runSync : storeIncomingEmail) does not match >>>>> expected >>>>> requirements >>>>> Exception: org.ofbiz.service.ServiceValidationException >>>>> Message: The following required parameter is missing: >>>>> [storeIncomingEmail.messageWrapper] >>>>> ---- stack trace >>>>> --------------------------------------------------------------- >>>>> org.ofbiz.service.ServiceValidationException: The following required >>>>> parameter is missing: [storeIncomingEmail.messageWrapper] >>>>> org.ofbiz.service.ModelService.validate(ModelService.java:452) >>>>> org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:320) >>>>> org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:211) >>>>> org.ofbiz.service.GenericDispatcher.runSync(GenericDispatcher.java:136) >>>>> org.ofbiz.service.job.GenericServiceJob.exec(GenericServiceJob.java:70) >>>>> org.ofbiz.service.job.JobInvoker.run(JobInvoker.java:221) >>>>> java.lang.Thread.run(Thread.java:534) >>>>> -------------------------------------------------------------------------------- >>>>> >>>>> 2007-04-19 05:22:31,333 (default-invoker-Thread-2) [ >>>>> ServiceDispatcher.java:385:DEBUG] [[Sync service failed...- >>>>> total:0.0,since >>>>> last(Begin):0.0]] - 'JobDispatcher / storeIncomingEmail' >>>>> 2007-04-19 05:22:31,333 (default-invoker-Thread-2) [ >>>>> ServiceDispatcher.java:388:ERROR] >>>>> ---- exception report >>>>> ---------------------------------------------------------- >>>>> Service [storeIncomingEmail] threw an unexpected exception/error >>>>> Exception: org.ofbiz.service.ServiceValidationException >>>>> Message: The following required parameter is missing: >>>>> [storeIncomingEmail.messageWrapper] >>>>> ---- stack trace >>>>> --------------------------------------------------------------- >>>>> org.ofbiz.service.ServiceValidationException: The following required >>>>> parameter is missing: [storeIncomingEmail.messageWrapper] >>>>> org.ofbiz.service.ModelService.validate(ModelService.java:452) >>>>> org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:320) >>>>> org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:211) >>>>> org.ofbiz.service.GenericDispatcher.runSync(GenericDispatcher.java:136) >>>>> org.ofbiz.service.job.GenericServiceJob.exec(GenericServiceJob.java:70) >>>>> org.ofbiz.service.job.JobInvoker.run(JobInvoker.java:221) >>>>> java.lang.Thread.run(Thread.java:534) >>>>> -------------------------------------------------------------------------------- >>>>> >>>>> 2007-04-19 05:22:31,334 (default-invoker-Thread-2) [ >>>>> TransactionUtil.java:252:ERROR] >>>>> ---- exception report >>>>> ---------------------------------------------------------- >>>>> [TransactionUtil.rollback] >>>>> Exception: java.lang.Exception >>>>> Message: Stack Trace >>>>> ---- stack trace >>>>> --------------------------------------------------------------- >>>>> java.lang.Exception: Stack Trace >>>>> org.ofbiz.entity.transaction.TransactionUtil.rollback(TransactionUtil.java:251) >>>>> org.ofbiz.entity.transaction.TransactionUtil.rollback(TransactionUtil.java:233) >>>>> org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:391) >>>>> org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:211) >>>>> org.ofbiz.service.GenericDispatcher.runSync(GenericDispatcher.java:136) >>>>> org.ofbiz.service.job.GenericServiceJob.exec(GenericServiceJob.java:70) >>>>> org.ofbiz.service.job.JobInvoker.run(JobInvoker.java:221) >>>>> java.lang.Thread.run(Thread.java:534) >>>>> -------------------------------------------------------------------------------- >>>>> >>>>> 2007-04-19 05:22:31,335 (default-invoker-Thread-2) [ >>>>> TransactionUtil.java:262:INFO ] [TransactionUtil.rollback] transaction >>>>> rolled back >>>>> 2007-04-19 05:22:31,335 (default-invoker-Thread-2) [ >>>>> TransactionUtil.java:189:INFO ] [TransactionUtil.commit] Not >>>>> committing >>>>> transaction, status is STATUS_NO_TRANSACTION >>>>> 2007-04-19 05:22:31,336 (default-invoker-Thread-2) [ >>>>> GenericServiceJob.java:117:ERROR] >>>>> ---- exception report >>>>> ---------------------------------------------------------- >>>>> Async-Service failed. >>>>> Exception: org.ofbiz.service.ServiceValidationException >>>>> Message: The following required parameter is missing: >>>>> [storeIncomingEmail.messageWrapper] >>>>> ---- stack trace >>>>> --------------------------------------------------------------- >>>>> org.ofbiz.service.ServiceValidationException: The following required >>>>> parameter is missing: [storeIncomingEmail.messageWrapper] >>>>> org.ofbiz.service.ModelService.validate(ModelService.java:452) >>>>> org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:320) >>>>> org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:211) >>>>> org.ofbiz.service.GenericDispatcher.runSync(GenericDispatcher.java:136) >>>>> org.ofbiz.service.job.GenericServiceJob.exec(GenericServiceJob.java:70) >>>>> org.ofbiz.service.job.JobInvoker.run(JobInvoker.java:221) >>>>> java.lang.Thread.run(Thread.java:534) >>>>> -------------------------------------------------------------------------------- >>>>> >>>>> 2007-04-19 05:22:31,342 (default-invoker-Thread-2) [ >>>>> SequenceUtil.java:254:INFO ] Got bank of sequenced IDs for >>>>> [JobSandbox]; >>>>> curSeqId=58370, maxSeqId=58380, bankSize=10 >>>>> 2007-04-19 05:22:31,348 (default-invoker-Thread-2) >>>>> [PersistedServiceJob.java:202:INFO ] Persisted Job [58369] Failed >>>>> Re-Scheduling : 1176985531339 >>>>> 2007-04-19 05:22:37,711 (http-0.0.0.0-7443-Processor1) [ >>>>> ContextFilter.java:182:INFO ] [Request]: /webtools/control/jobList >>>>> 2007-04-19 05:22:37,712 (http-0.0.0.0-7443-Processor1) [ >>>>> ControlServlet.java:90 :INFO ] The character encoding of the request >>>>> is: >>>>> [null]. The character encoding we will use for the request and >>>>> response >>>>> is: >>>>> [UTF-8] >>>>> 2007-04-19 05:22:37,713 (http-0.0.0.0-7443-Processor1) [ >>>>> ControlServlet.java:126:DEBUG] [[[jobList] Servlet Starting, doing >>>>> setup- >>>>> total:0.0,since last(Begin):0.0]] >>>>> 2007-04-19 05:22:37,714 (http-0.0.0.0-7443-Processor1) [ >>>>> ControlServlet.java:181:DEBUG] [[[jobList] Setup done, doing Event(s) >>>>> and >>>>> View(s)- total:0.0,since last([jobList] Servlet...):0.0]] >>>>> 2007-04-19 05:22:37,714 (http-0.0.0.0-7443-Processor1) [ >>>>> RequestHandler.java:266:INFO ] [Processing Request]: jobList >>>>> sessionId=1508B221763B3DC07A253921591B5DA1.jvm1 >>>>> 2007-04-19 05:22:37,715 (http-0.0.0.0-7443-Processor1) [ >>>>> RequestManager.java:117:INFO ] [RequestManager.getRequestAttribute] >>>>> Value >>>>> for attribute "null" of uri "jobList" not found >>>>> 2007-04-19 05:22:37,716 (http-0.0.0.0-7443-Processor1) [ >>>>> RequestHandler.java:450:INFO ] [RequestHandler.doRequest]: Response is >>>>> a >>>>> view. sessionId=1508B221763B3DC07A253921591B5DA1.jvm1 >>>>> 2007-04-19 05:22:37,716 (http-0.0.0.0-7443-Processor1) [ >>>>> RequestHandler.java:603:INFO ] servletName=control, view=jobList >>>>> sessionId=1508B221763B3DC07A253921591B5DA1.jvm1 >>>>> 2007-04-19 05:22:37,717 (http-0.0.0.0-7443-Processor1) [ >>>>> ScreenRenderer.java:220:INFO ] Found servlet context (application) >>>>> attribute >>>>> that conflicts with parameter name, leaving request parameter in place >>>>> for >>>>> name: _REQUEST_HANDLER_ >>>>> 2007-04-19 05:22:37,826 (http-0.0.0.0-7443-Processor1) [ >>>>> ModelScreenWidget.java:361:INFO ] In the include-screen tag the screen >>>>> name >>>>> was empty, ignoring include; in screen [GlobalDecorator] >>>>> 2007-04-19 05:22:37,857 (http-0.0.0.0-7443-Processor1) [ >>>>> ControlServlet.java:256:DEBUG] [[[jobList] Done rendering page, >>>>> Servlet >>>>> Finished- total:0.143,since last([jobList] Setup d...):0.143]] >>>>> >>>>> >> >> >> >> >> --------------------------------- >> Ahhh...imagining that irresistible "new car" smell? >> Check outnew cars at Yahoo! Autos. > > > -- View this message in context: http://www.nabble.com/what-is--storeIncomingEmail.messageWrapper---tf3606994.html#a10109491 Sent from the OFBiz - User mailing list archive at Nabble.com.
