Return-Path: X-Original-To: apmail-ofbiz-user-archive@www.apache.org Delivered-To: apmail-ofbiz-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 739B97866 for ; Mon, 29 Aug 2011 08:22:12 +0000 (UTC) Received: (qmail 46795 invoked by uid 500); 29 Aug 2011 08:22:11 -0000 Delivered-To: apmail-ofbiz-user-archive@ofbiz.apache.org Received: (qmail 46548 invoked by uid 500); 29 Aug 2011 08:22:03 -0000 Mailing-List: contact user-help@ofbiz.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@ofbiz.apache.org Delivered-To: mailing list user@ofbiz.apache.org Received: (qmail 46511 invoked by uid 99); 29 Aug 2011 08:21:57 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 29 Aug 2011 08:21:57 +0000 X-ASF-Spam-Status: No, hits=0.0 required=5.0 tests=SPF_PASS,T_FILL_THIS_FORM_SHORT X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: local policy) Received: from [67.221.226.157] (HELO zimbra.hotwaxmedia.com) (67.221.226.157) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 29 Aug 2011 08:21:50 +0000 Received: from localhost (localhost.localdomain [127.0.0.1]) by zimbra.hotwaxmedia.com (Postfix) with ESMTP id A506492F0718 for ; Mon, 29 Aug 2011 03:21:28 -0500 (CDT) X-Virus-Scanned: amavisd-new at zimbra.hotwaxmedia.com Received: from zimbra.hotwaxmedia.com ([127.0.0.1]) by localhost (zimbra.hotwaxmedia.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id QaxH00WTQRUr for ; Mon, 29 Aug 2011 03:21:27 -0500 (CDT) Received: from [10.0.0.121] (unknown [122.168.227.223]) by zimbra.hotwaxmedia.com (Postfix) with ESMTPSA id 3429F92F0717 for ; Mon, 29 Aug 2011 03:21:25 -0500 (CDT) Message-ID: <4E5B4C02.9080401@hotwaxmedia.com> Date: Mon, 29 Aug 2011 13:51:22 +0530 From: Atul Vani User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.15) Gecko/20101027 Thunderbird/3.0.10 MIME-Version: 1.0 To: user@ofbiz.apache.org Subject: Re: Issue with ajax and json response References: <1144636273.34732.1314557270668.JavaMail.root@wax01.managed.contegix.com> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Virus-Checked: Checked by ClamAV on apache.org Jacques, Got it, will do it soon, Thanks :) Thanks& Regards Atul Vani Enterprise Software Developer HotWax Media Pvt. Ltd. http://www.hotwaxmedia.com/ We are the Global Leaders in Apache OFBiz, Google 'ofbiz' and see for yourself. On Monday 29 August 2011 01:05 PM, Jacques Le Roux wrote: > Atul, > > These interesting comments should be better in the Jira > > Thanks > > Jacques > > From: "Atul Vani" >> Ok, hadn't checked the code yet, did it now, my bad :) >> >> What I oberved is that when I enter promo code, it fires an ajax >> request and don't display me the error message when I entered the >> wrong code, need to fix that. Well, the interesting part is, it then >> fires another ajax request to check if the cart is empty, how >> possibly can a cart get empty by applying a promo code :-/ And then >> it fires another one to update the cart with the discounted price. >> Why don't we return the updated cart along with the error message, if >> any, and replace the existing html with the new one, so that user is >> displayed with the error message and the updated cart both, will also >> save us two extra ajax requests. Another thing I noticed is that >> lot's of elements are being identified using their ids, not so good. >> >> ----- Original Message ----- >> From: "Atul Vani" >> To: user@ofbiz.apache.org >> Sent: Sunday, August 28, 2011 10:47:07 PM >> Subject: Re: Issue with ajax and json response >> >> Jonatan, >> >> IMO, the event you invoked in your request mapping should be fixed to >> return error response, when they get errors. It will cause the error >> response to be rendered instead of the success. Then you can use >> type="request" value="json" for the error response. The responseText >> recieved by the ajax will be a JSON String. You can then pass this >> JSON string to the getServerError() function to extract and return >> error message(s). I don't know if this information will be useful to >> you or not, as I haven't seen the code, but this is pretty much all >> one needs to check :) >> >> >> ----- Original Message ----- >> From: "Jonatan Soto" >> To: user@ofbiz.apache.org >> Sent: Saturday, August 27, 2011 3:51:58 PM >> Subject: Re: Issue with ajax and json response >> >> Hi Atul, >> >> I've didn't got server error messages using what you said. Probably is >> something wrong in my code, but what I have noticed is that no >> matters what >> kind of response I set, the 'success' callback method is called. >> Anyway, how is handled the server response in this case? I mean, >> where can I >> find the code where the getServerError() JS function is called once we >> return the error response? >> >> Many thanks Atul. >> >> On Fri, Aug 26, 2011 at 7:32 PM, Atul Vani >> wrote: >> >>> Jonatan, >>> >>> I think if you use >>> >>> (it is used in several places in ecommerce and other components' >>> controller.xml) >>> >>> and then use the getServerError() function >>> (used in specialpurpose/ecommerce/webapp/ecommerce/images/profile.js) >>> to parse the JSON response, >>> then you should be able to retrieve the error message to display it >>> to the >>> user. >>> >>> I'm not sure if it will be helpful, I didn't got the problem completely >>> either ;-) >>> >>> >>> ----- Original Message ----- >>> From: "Jonatan Soto" >>> To: user@ofbiz.apache.org >>> Sent: Sunday, July 17, 2011 5:56:10 PM >>> Subject: Re: Issue with ajax and json response >>> >>> Done. Patch provided, not fully tested. >>> https://issues.apache.org/jira/browse/OFBIZ-4342 >>> >>> Regards, >>> >>> >>> On Sun, Jul 17, 2011 at 1:34 PM, Scott Gray >> >wrote: >>> >>> > Yeah, checking for the _ERROR_MESSAGE* keys is the right way to >>> go, would >>> > be great if you could create a jira issue so this doesn't get lost. >>> > >>> > Regards >>> > Scott >>> > >>> > HotWax Media >>> > http://www.hotwaxmedia.com >>> > >>> > On 17/07/2011, at 7:56 AM, Jonatan Soto wrote: >>> > >>> > > Well, I did a little read on the jquery ajax documentation ( >>> > > http://api.jquery.com/jQuery.ajax/) and some of my assertions were >>> > wrong. >>> > > It is definitively not related to >>> > > the CommonEvents#jsonResponseFromRequestAttributes. I felt >>> stupid when >>> I >>> > > realized that the result the controller returns has nothing to >>> do with >>> > the >>> > > ajax callbacks :) >>> > > >>> > > According to this doc the error callback is: >>> > > "A function to be called if the request fails...." >>> > > >>> > > In the case I'm exposing, obviously the request is not failing >>> so the >>> > error >>> > > I'm getting should be handled in the success callback. Please, >>> tell me >>> if >>> > > there is another way to do it. >>> > > I found a js function in the CheckoutProcess.js called >>> > getServerError(...) >>> > > which is never invoked. I think it should be included in the >>> success >>> > > callback like the following code: >>> > > >>> > > (chekoutProcess.js) >>> > > >>> > > // Check server side error >>> > > function getServerError(data) { >>> > > var serverErrorHash = []; >>> > > var serverError = ""; >>> > > if (data._ERROR_MESSAGE_LIST_ != undefined) { >>> > > serverErrorHash = data._ERROR_MESSAGE_LIST_; >>> > > jQuery.each(serverErrorHash, function(i, error) { >>> > > serverError += error.message + '
'; >>> > > }); >>> > > } >>> > > if (data._ERROR_MESSAGE_ != undefined) { >>> > > serverError = data._ERROR_MESSAGE_; >>> > > } >>> > > return serverError; >>> > > } >>> > > >>> > > function createUpdateCustomerAndShippingAddress() { >>> > > var result = false; >>> > > jQuery.ajax({ >>> > > url: 'createUpdateShippingAddress', >>> > > type: 'POST', >>> > > dataType: 'json', >>> > > async: false, >>> > > data: jQuery('#shippingForm').serialize(), >>> > > success: function(json) { >>> > > var serverError = getServerError(json); >>> > > if (!serverError) { >>> > > jQuery('#shippingFormServerError').fadeOut('fast'); >>> > > // Process Shipping data response. >>> > > jQuery('#shipToPartyId').val(json.partyId); >>> > > jQuery('#billToPartyId').val(json.partyId); >>> > > jQuery('#shipToContactMechId').val(json.contactMechId); >>> > > >>> > > jQuery('#shipToPhoneContactMechId').val(json.phoneContactMechId); >>> > > >>> jQuery('#emailContactMechId').val(json.emailContactMechId); >>> > > >>> > > >>> //jQuery('#completedShippingMethod').html(json.shippingDescription); >>> > > updateShippingSummary(); >>> > > getShipOptions(); >>> > > result = true; >>> > > } else { >>> > > >>> jQuery('#shippingFormServerError').html(serverError); >>> > > >>> jQuery('#shippingFormServerError').css("display","block"); >>> > > result = false; >>> > > } >>> > > }, >>> > > error: function(error) { >>> > > if (error != "") { >>> > > jQuery('#shippingFormServerError').html(error); >>> > > } >>> > > result = false; >>> > > } >>> > > }); >>> > > return result; >>> > > } >>> > > >>> > > Now with this modifications I am showing the server side error >>> messages >>> > > correctly. >>> > > >>> > > >>> > > HTH >>> > > >>> > > >>> > > On Sat, Jul 16, 2011 at 8:28 PM, Jonatan Soto < >>> seniledementia@gmail.com >>> > >wrote: >>> > > >>> > >> Hi BJ, >>> > >> >>> > >> The setAnonuserLogin is an ECA triggered before. The problem is >>> after >>> it >>> > if >>> > >> I'm not wrong. >>> > >> >>> > >> Look at: >>> > >> 2011-07-16 19:44:35,399 (http-0.0.0.0-8443-2) [ >>> > >> ServiceDispatcher.java:599:INFO ] Sync service >>> > >> [traditional#JF/createUpdateCustomerAndShippingAddress] >>> finished in >>> > [112] >>> > >> milliseconds with response [{errorMessageList={Area code is >>> missing, >>> > Falta >>> > >> Teléfono de Contacto}, responseMessage=error}] >>> > >> ... >>> > >> 2011-07-16 19:44:35,504 (http-0.0.0.0-8443-2) [ >>> > >> RequestHandler.java:639:INFO ] Ran Event >>> > >> >>> [java:org.ofbiz.common.CommonEvents#jsonResponseFromRequestAttributes] >>> > from >>> > >> [request], result is [success] >>> > >> >>> > >> The service that is called from ajax is returning 'error' but the >>> > chained >>> > >> json request is returning 'success'. I guess this is the problem. >>> > >> >>> > >> Thanks anyway! >>> > >> >>> > >> >>> > >> On Sat, Jul 16, 2011 at 8:18 PM, BJ Freeman >>> > wrote: >>> > >> >>> > >>> [traditional#JF/setAnonUserLogin] finished in [105] >>> milliseconds with >>> > >>> response [{responseMessage=success}] >>> > >>> >>> > >>> it is evaluating a good lognin. this is where to debug. >>> > >>> >>> > >>> Jonatan Soto sent the following on 7/16/2011 10:59 AM: >>> > >>>> Hi all, >>> > >>>> >>> > >>>> I am customizing the onePageCheckout (the anonymous part) and I >>> found >>> > >>>> something strange. I've changed the client-side validation in >>> order >>> to >>> > >>> allow >>> > >>>> the customer to only introduce the phone, cell phone or both. >>> But on >>> > >>>> server-side I didn't change anything in the >>> > PartyContactMechMapProcs.xml >>> > >>>> yet. So, it is throwing an error of course, but the ajax handler >>> does >>> > >>> not >>> > >>>> consider it as an error. It always executes the success ajax >>> handler! >>> > >>>> >>> > >>>> This is the stack trace: >>> > >>>> >>> > >>>> 2011-07-16 19:44:35,266 (http-0.0.0.0-8443-2) [ >>> > >>>> ControlServlet.java:141:INFO ] [[[createUpdateShippingAddress] >>> Request >>> > >>>> Begun, encoding=[UTF-8]- total:0.0,since last(Begin):0.0]] >>> > >>>> 2011-07-16 19:44:35,283 (http-0.0.0.0-8443-2) [ >>> > >>>> ConfigXMLReader.java:120:INFO ] controller loaded: 0.0030s, 281 >>> > >>> requests, >>> > >>>> 96 views in >>> jndi:/0.0.0.0/ecomm/traditional/WEB-INF/controller.xml >>> > >>>> 2011-07-16 19:44:35,286 (http-0.0.0.0-8443-2) [ >>> > >>>> ServiceEcaRule.java:150:INFO ] Running Service ECA Service: >>> > >>>> setAnonUserLogin, triggered by rule on Service: >>> > >>>> createUpdateCustomerAndShippingAddress >>> > >>>> 2011-07-16 19:44:35,392 (http-0.0.0.0-8443-2) [ >>> > >>>> ServiceDispatcher.java:599:INFO ] Sync service >>> > >>>> [traditional#JF/setAnonUserLogin] finished in [105] milliseconds >>> with >>> > >>>> response [{responseMessage=success}] >>> > >>>> 2011-07-16 19:44:35,396 (http-0.0.0.0-8443-2) [ >>> > >>>> TransactionUtil.java:374:WARN ] >>> > >>>> ---- exception report >>> > >>>> ---------------------------------------------------------- >>> > >>>> [TransactionUtil.setRollbackOnly] Calling transaction >>> setRollbackOnly; >>> > >>> this >>> > >>>> stack trace shows where this is happening: >>> > >>>> Exception: java.lang.Exception >>> > >>>> Message: Error in simple-method [Create/Update Customer, >>> Shipping >>> > >>> Address >>> > >>>> and other contact details. >>> > >>>> >>> > >>> >>> > >>> [file:/home/jsoto/workspace/ofbizcustom/applications/order/script/org/ofbiz/order/order/CheckoutServices.xml#createUpdateCustomerAndShippingAddress]]: >>> >>> > >>>> ; {Area code is missing, Falta Teléfono de Contacto} >>> > >>>> ---- stack trace >>> > >>>> --------------------------------------------------------------- >>> > >>>> java.lang.Exception: Error in simple-method [Create/Update >>> Customer, >>> > >>>> Shipping Address and other contact details. >>> > >>>> >>> > >>> >>> > >>> [file:/home/jsoto/workspace/ofbizcustom/applications/order/script/org/ofbiz/order/order/CheckoutServices.xml#createUpdateCustomerAndShippingAddress]]: >>> >>> > >>>> ; {Area code is missing, Falta Teléfono de Contacto} >>> > >>>> >>> > >>> >>> > >>> org.ofbiz.entity.transaction.TransactionUtil.setRollbackOnly(TransactionUtil.java:374) >>> >>> > >>>> >>> > >>> >>> > >>> org.ofbiz.entity.transaction.TransactionUtil.rollback(TransactionUtil.java:316) >>> >>> > >>>> org.ofbiz.minilang.SimpleMethod.exec(SimpleMethod.java:870) >>> > >>>> >>> org.ofbiz.minilang.SimpleMethod.runSimpleMethod(SimpleMethod.java:160) >>> > >>>> >>> > >>> org.ofbiz.minilang.SimpleMethod.runSimpleService(SimpleMethod.java:142) >>> > >>>> >>> > >>> >>> > >>> org.ofbiz.minilang.SimpleServiceEngine.serviceInvoker(SimpleServiceEngine.java:78) >>> >>> > >>>> >>> > >>> >>> > >>> org.ofbiz.minilang.SimpleServiceEngine.runSync(SimpleServiceEngine.java:53) >>> >>> > >>>> >>> > >>> >>> > >>> org.ofbiz.service.ModelServiceReader$GenericInvokerImpl.runSync(ModelServiceReader.java:761) >>> >>> > >>>> >>> > >>> >>> > >>> _$gen.file_58$.home.jsoto.workspace.ofbizcustom.applications.order.servicedef.services_95$checkout_46$xml_35$createUpdateCustomerAndShippingAddress.runSync(file:/home/jsoto/workspace/ofbizcustom/applications/order/servicedef/services_checkout.xml#createUpdateCustomerAndShippingAddress:24) >>> >>> > >>>> >>> > >>> org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:399) >>> > >>>> >>> > >>> org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:226) >>> > >>>> >>> > >>> org.ofbiz.service.GenericDispatcher.runSync(GenericDispatcher.java:165) >>> > >>>> >>> > >>> >>> > >>> org.ofbiz.webapp.event.ServiceEventHandler.invoke(ServiceEventHandler.java:336) >>> >>> > >>>> >>> > >>> >>> > >>> org.ofbiz.webapp.control.RequestHandler.runEvent(RequestHandler.java:638) >>> >>> > >>>> >>> > >>> >>> > >>> org.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:384) >>> >>> > >>>> >>> org.ofbiz.webapp.control.ControlServlet.doGet(ControlServlet.java:224) >>> > >>>> >>> org.ofbiz.webapp.control.ControlServlet.doPost(ControlServlet.java:87) >>> > >>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:637) >>> > >>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:717) >>> > >>>> >>> > >>> >>> > >>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) >>> >>> > >>>> >>> > >>> >>> > >>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) >>> >>> > >>>> >>> > >>> org.ofbiz.webapp.control.ContextFilter.doFilter(ContextFilter.java:338) >>> > >>>> >>> > >>> >>> > >>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) >>> >>> > >>>> >>> > >>> >>> > >>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) >>> >>> > >>>> >>> > >>> >>> > >>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) >>> >>> > >>>> >>> > >>> >>> > >>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) >>> >>> > >>>> >>> > >>> >>> > >>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) >>> >>> > >>>> >>> > >>> >>> > >>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) >>> >>> > >>>> >>> > >>> >>> > >>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) >>> >>> > >>>> >>> > >>> >>> > >>> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:554) >>> >>> > >>>> >>> > >>> >>> > >>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) >>> >>> > >>>> >>> > >>> >>> > >>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) >>> >>> > >>>> >>> > >>> >>> > >>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) >>> >>> > >>>> >>> > >>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) >>> > >>>> java.lang.Thread.run(Thread.java:619) >>> > >>>> >>> > >>> >>> > >>> -------------------------------------------------------------------------------- >>> >>> > >>>> >>> > >>>> 2011-07-16 19:44:35,397 (http-0.0.0.0-8443-2) [ >>> > >>>> ServiceDispatcher.java:543:ERROR] Error in Service >>> > >>>> [createUpdateCustomerAndShippingAddress]: Area code is missing, >>> Falta >>> > >>>> Teléfono de Contacto >>> > >>>> 2011-07-16 19:44:35,397 (http-0.0.0.0-8443-2) [ >>> > >>>> TransactionUtil.java:338: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:337) >>> >>> > >>>> >>> > >>> >>> > >>> org.ofbiz.entity.transaction.TransactionUtil.rollback(TransactionUtil.java:314) >>> >>> > >>>> >>> > >>> org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:547) >>> > >>>> >>> > >>> org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:226) >>> > >>>> >>> > >>> org.ofbiz.service.GenericDispatcher.runSync(GenericDispatcher.java:165) >>> > >>>> >>> > >>> >>> > >>> org.ofbiz.webapp.event.ServiceEventHandler.invoke(ServiceEventHandler.java:336) >>> >>> > >>>> >>> > >>> >>> > >>> org.ofbiz.webapp.control.RequestHandler.runEvent(RequestHandler.java:638) >>> >>> > >>>> >>> > >>> >>> > >>> org.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:384) >>> >>> > >>>> >>> org.ofbiz.webapp.control.ControlServlet.doGet(ControlServlet.java:224) >>> > >>>> >>> org.ofbiz.webapp.control.ControlServlet.doPost(ControlServlet.java:87) >>> > >>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:637) >>> > >>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:717) >>> > >>>> >>> > >>> >>> > >>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) >>> >>> > >>>> >>> > >>> >>> > >>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) >>> >>> > >>>> >>> > >>> org.ofbiz.webapp.control.ContextFilter.doFilter(ContextFilter.java:338) >>> > >>>> >>> > >>> >>> > >>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) >>> >>> > >>>> >>> > >>> >>> > >>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) >>> >>> > >>>> >>> > >>> >>> > >>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) >>> >>> > >>>> >>> > >>> >>> > >>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) >>> >>> > >>>> >>> > >>> >>> > >>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) >>> >>> > >>>> >>> > >>> >>> > >>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) >>> >>> > >>>> >>> > >>> >>> > >>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) >>> >>> > >>>> >>> > >>> >>> > >>> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:554) >>> >>> > >>>> >>> > >>> >>> > >>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) >>> >>> > >>>> >>> > >>> >>> > >>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) >>> >>> > >>>> >>> > >>> >>> > >>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) >>> >>> > >>>> >>> > >>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) >>> > >>>> java.lang.Thread.run(Thread.java:619) >>> > >>>> >>> > >>> >>> > >>> -------------------------------------------------------------------------------- >>> >>> > >>>> >>> > >>>> 2011-07-16 19:44:35,398 (http-0.0.0.0-8443-2) [ >>> > >>>> TransactionUtil.java:348:INFO ] [TransactionUtil.rollback] >>> transaction >>> > >>>> rolled back >>> > >>>> 2011-07-16 19:44:35,399 (http-0.0.0.0-8443-2) [ >>> > >>>> ServiceDispatcher.java:599:INFO ] Sync service >>> > >>>> [traditional#JF/createUpdateCustomerAndShippingAddress] >>> finished in >>> > >>> [112] >>> > >>>> milliseconds with response [{errorMessageList={Area code is >>> missing, >>> > >>> Falta >>> > >>>> Teléfono de Contacto}, responseMessage=error}] >>> > >>>> 2011-07-16 19:44:35,399 (http-0.0.0.0-8443-2) [ >>> > >>>> RequestHandler.java:639:INFO ] Ran Event >>> > >>>> [service:#createUpdateCustomerAndShippingAddress] from >>> [request], >>> > result >>> > >>> is >>> > >>>> [error] >>> > >>>> 2011-07-16 19:44:35,495 (http-0.0.0.0-8443-2) [ >>> > >>>> RequestHandler.java:425:ERROR] Request >>> createUpdateShippingAddress >>> > >>> caused an >>> > >>>> error with the following message: {Area code is missing, Falta >>> > Teléfono >>> > >>> de >>> > >>>> Contacto} >>> > >>>> 2011-07-16 19:44:35,496 (http-0.0.0.0-8443-2) [ >>> > >>>> RequestHandler.java:524:INFO ] [RequestHandler.doRequest]: >>> Response >>> is >>> > a >>> > >>>> chained request. sessionId=4D2FA44B2DA6BCB7E2D9BE245F808E22.jvm1 >>> > >>>> 2011-07-16 19:44:35,496 (http-0.0.0.0-8443-2) [ >>> > >>>> RequestHandler.java:167:INFO ] [RequestHandler]: Chain in place: >>> > >>>> requestUri=json overrideViewUri=null >>> > >>>> sessionId=4D2FA44B2DA6BCB7E2D9BE245F808E22.jvm1 >>> > >>>> 2011-07-16 19:44:35,504 (http-0.0.0.0-8443-2) [ >>> > >>>> RequestHandler.java:639:INFO ] Ran Event >>> > >>>> >>> [java:org.ofbiz.common.CommonEvents#jsonResponseFromRequestAttributes] >>> > >>> from >>> > >>>> [request], result is [success] >>> > >>>> 2011-07-16 19:44:35,556 (http-0.0.0.0-8443-2) [ >>> > >>>> ServerHitBin.java:627:INFO ] Visit delegatorName=default#JF, >>> > >>> ServerHitBin >>> > >>>> delegatorName=default#JF >>> > >>>> 2011-07-16 19:44:35,604 (http-0.0.0.0-8443-2) [ >>> > >>>> SequenceUtil.java:337:INFO ] Got bank of sequenced IDs for >>> > >>> [ServerHitBin]; >>> > >>>> curSeqId=53390, maxSeqId=53400, bankSize=10 >>> > >>>> 2011-07-16 19:44:35,653 (http-0.0.0.0-8443-2) [ >>> > >>>> ControlServlet.java:324:INFO ] [[[createUpdateShippingAddress] >>> Request >>> > >>> Done- >>> > >>>> total:0.386,since last([createUpdateShip...):0.386]] >>> > >>>> >>> > >>>> >>> > >>>> >>> > >>> >>> > >>> ----------------------------------------------------------------------------------------------- >>> >>> > >>>> >>> > >>>> After a bit of investigation I found this: >>> > >>>> >>> > >>>> The event 'createUpdateCustomerAndShippingAddress' is >>> returning an >>> > error >>> > >>> as >>> > >>>> a result but since the request is chained (with a json >>> request) the >>> > >>>> controller takes the response from the event >>> > >>>> >>> 'java:org.ofbiz.common.CommonEvents#jsonResponseFromRequestAttributes' >>> > >>> which >>> > >>>> is always 'success'. So that's why I figure out the ajax error >>> handler >>> > >>> is >>> > >>>> never invoked. >>> > >>>> >>> > >>>> What do you think? >>> > >>>> >>> > >>>> For further details, I am using a 3 months old trunk version >>> with >>> > MySql. >>> > >>>> I've checked out the latest version >>> > >>>> of CommonEvents#jsonResponseFromRequestAttributes in the SVN, >>> still >>> > the >>> > >>> same >>> > >>>> code as I have. >>> > >>>> >>> > >>>> Thanks in advance. >>> > >>>> >>> > >>> >>> > >> >>> > >> >>> > >> >>> > >> -- >>> > >> ----- >>> > >> >>> > >> Jonatan Soto >>> > >> >>> > > >>> > > >>> > > >>> > > -- >>> > > ----- >>> > > >>> > > Jonatan Soto >>> > >>> > >>> >>> >>> -- >>> ----- >>> >>> Jonatan Soto >>> >> >> >> >> -- >> ----- >> >> Jonatan Soto >> > >