sorry about that. I should change the eclipse formatter rules to meet Ofbiz format specs. I did it for another workspace but not for the current one I'm using. Well, I will provide a new patch correcting this ASAP.
On Sun, Aug 28, 2011 at 11:02 AM, Jacques Le Roux < jacques.le.r...@les7arts.com> wrote: > Also I think there are some tabs in your patch (I can see them because > your file is automatically rendered in browsers) > I see some > jQuery('#**shippingFormServerError').**html(serverError); > lines wrongly formatted > > Jacques > > > Jacques Le Roux wrote: > >> Hi Jonatan, >> >> Your patch looks good at 1st glance, but you say below "not fully tested" >> what do you mean by that? Do we need to test something >> which could be specifically missing or has not been tested, or is it just >> a point in the dark? >> >> Thanks >> >> Jacques >> >> Jonatan Soto wrote: >> >>> 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 <atul.v...@hotwaxmedia.com>** >>> wrote: >>> >>> Jonatan, >>>> >>>> I think if you use >>>> <response name="error" type="request" value="json"/> >>>> (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" <seniledemen...@gmail.com> >>>> 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<https://issues.apache.org/jira/browse/OFBIZ-4342> >>>> >>>> <https://issues.apache.org/**jira/browse/OFBIZ-4342<https://issues.apache.org/jira/browse/OFBIZ-4342> >>>> >**Regards, >>>> >>>> >>>> On Sun, Jul 17, 2011 at 1:34 PM, Scott Gray <scott.g...@hotwaxmedia.com >>>> >>>>> 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/<http://api.jquery.com/jQuery.ajax/>) >>>>>> and some of my assertions were wrong. >>>>>> It is definitively not related to >>>>>> the CommonEvents#**jsonResponseFromRequestAttribu**tes. 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 + '<br/>'; >>>>>> }); >>>>>> } >>>>>> if (data._ERROR_MESSAGE_ != undefined) { >>>>>> serverError = data._ERROR_MESSAGE_; >>>>>> } >>>>>> return serverError; >>>>>> } >>>>>> >>>>>> function createUpdateCustomerAndShippin**gAddress() { >>>>>> 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 < >>>>>> seniledemen...@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/**createUpdateCustomerAndShippin**gAddress] 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#** >>>>>>> jsonResponseFromRequestAttribu**tes] 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 <bjf...@free-man.net> >>>>>>> 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<http://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: >>>>>>>>> createUpdateCustomerAndShippin**gAddress >>>>>>>>> 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#** >>>> createUpdateCustomerAndShippin**gAddress]]: >>>> >>>>> ; {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#** >>>> createUpdateCustomerAndShippin**gAddress]]: >>>> >>>>> ; {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$** >>>> createUpdateCustomerAndShippin**gAddress.runSync(file:/home/** >>>> jsoto/workspace/ofbizcustom/**applications/order/servicedef/** >>>> services_checkout.xml#**createUpdateCustomerAndShippin**gAddress: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 >>>>>>>>> [**createUpdateCustomerAndShippin**gAddress]: 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/**createUpdateCustomerAndShippin**gAddress] >>>>>>>>> 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:#**createUpdateCustomerAndShippin**gAddress] 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=**4D2FA44B2DA6BCB7E2D9BE245F808E** >>>>>>>>> 22.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=**4D2FA44B2DA6BCB7E2D9BE245F808E**22.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#** >>>>>>>>> jsonResponseFromRequestAttribu**tes] 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 '**createUpdateCustomerAndShippin**gAddress' 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#** >>>>>>>>> jsonResponseFromRequestAttribu**tes' 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#**jsonResponseFromRequestAttribu**tes in the SVN, >>>>>>>>> still the same >>>>>>>>> code as I have. >>>>>>>>> >>>>>>>>> Thanks in advance. >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> ----- >>>>>>> >>>>>>> Jonatan Soto >>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> ----- >>>>>> >>>>>> Jonatan Soto >>>>>> >>>>> >>>>> >>>>> >>>> >>>> -- >>>> ----- >>>> >>>> Jonatan Soto >>>> >>> -- ----- Jonatan Soto