Details
-
Type:
Bug
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: Fuji, Matador
-
Fix Version/s: Rushmore
-
Component/s: None
-
Labels:None
-
Environment:
Matador Production
-
Sprint:Sprint 1, Sprint 6, Sprint 7
Description
The call extension validation is marking the 844 toll free extension as invalid. Number 844-667-9545 is failing for a customer.
FCC note on the new extension: http://www.fcc.gov/document/letter-authorizing-opening-844-toll-free-code-dec-7-2013
We would need to update the call validation library to the latest version which will include this new extension or dial down our validation restrictions to not check for valid number but just check for valid syntax.
Tomcat log stack trace:
2014-10-22 17:57:24,753-1283439165 [http-8080-37] INFO org.apache.cxf.interceptor.LoggingInInterceptor [] - Inbound Message
----------------------------
ID: 1611
Address: http://127.0.0.1:8080/sapi/rest/orders
Encoding: UTF-8
Http-Method: POST
Content-Type: application/json; charset=utf-8
Headers:
Payload: {"campaignTargets":[{"status":"VALID","businessArea":
{"id":"10032","title":"Air Conditioning Repair","status":"ACTIVE","language":"en","parentId":"8","leaf":true,"type":"BusinessArea"},"location":
{"id":"55","title":"Arizona","status":"ACTIVE","language":"en"},"localeName":"en_US","campaignAds":[
{"id":"26b551ec-cb6a-4068-8443-ba48e54c8281","disabled":false,"headline":"Affordable A/C Repair","first":"Efficient Air Conditioning Repair.","second":"See Our Range Of Services Now!"},{"id":"54a9f045-4c12-409f-92cd-119dfd4b2d64","disabled":false,"headline":"
{KeyWord:Affordable A/C Repair}","first":"See Our Range Of Services Now!","second":"Efficient Air Conditioning Repair."},{"id":"6d4b3f7e-c125-4104-9e17-515f96deb7b3","disabled":false,"headline":"
{KeyWord:Effective A/C Repair}","first":"We\u0027ve Got Cooling Covered.","second":"Easy Air Conditioning Repair."},
{"id":"f4f1574a-118e-487c-abc4-445232ab65f1","disabled":false,"headline":"Effective A/C Repair","first":"Easy Air Conditioning Repair.","second":"We\u0027ve Got Cooling Covered."}],"keywordListId":"435595f0-bb52-11e3-85a3-bc764e056e8c"}],"distributionBudgets":[
{"service":"GOOGLE","budget":1.0,"markupBudget":1.0,"markupMultiplier":0.0}],"billingInfoCaptured":true,"budgetOverride":false,"campaignDataList":[{"type":"phoneNumber","attributes":{"countryCode":"US","number":"18446679545","isEnabled":"true"}}],"name":"","comment":"","semLandingPageURL":"http://www.merchantsite.com/","state":"QUOTE","associatedMerchant":
{"id":"77a7b453-946f-444e-ac4e-ab0abe0f2e18","name":"0test1","customerId":"0test1"},"currencyCode":"USD","timeZone":"America/New_York","countryCode":"US"}
--------------------------------------
2014-10-22 17:57:24,784-1283439196 [http-8080-37] WARN org.apache.cxf.jaxrs.impl.WebApplicationExceptionMapper [timezone=Etc/UTC, principalId=8e102035-c74a-4115-af7e-0bc3a060036f, requestId=a2eb6cb4-2b4e-4e34-b755-f3bbd1c8cfd4, locale=en_US, authToken=C25ND5EHIQTORMDTVHADUTNBBZ6VM25UB6TXR5P2MHQ7XD3LMDEIS5JNR5UUX5ZLQXDAED7UY2YWKRJWMNNKZRCBCZCQJMDC572LCMXJ5A6I4L2XVZBQRZXJCGR2AHZSOEBH3YFOU5HSRRN5UZTZBCJ3ZYVC6IEA6IAGH6S6KNE537GNNPCEG57GRSXNXROEOOIBEPQ5FOXPC4CV6K337DZCQDDAVIUSXGTKMTPTJPUUC3GXYCF3LXLRUDOWN64KZIHJBVNBD2NEWHYNJKQ3PRNIIWA4JD6WZ272JIROVZ4E6JO6IFMZDVSJFTDUK2WELOMQIUC27W5J2DUGTEAAB6R3YZ4TOMMGSV5Y4MRRDHICGSXJ7HNMF26BJ3II3TRZJ2D5XX2FGJDM2QUV3IIBYEJQ6HP2GS2RQMSVBSC4TTFRAWMHJ3MXIVVACQBHMMUC35PLDVANLGXXDW7ZRBVZ27CUB75TDM6T7FAZVIHXIPBQZKNQQNHYXUNTW4QM4BR5KDRV7RNZ7IBMLDTX3BKO5TVBKBAPAXRXD2SNQ6LERFDLN4OJTKWFYQTK7GTC4WBBP4Z4DTKJVQXFGZWDR7OT7XDRKFEECNR3SAIEX64MG45K5YD3OPEL6VNELA4X24R24G4BQCDNCD2JQQQ2BRRICA74XIAOJXXV4VDB3SDGEUK7PPU2O5QABFZP5HQUTONDSS5XZ7RTFJSLQKYU3BF3XFPKGIYIKCJFF3RMPCVWH7U3NYW65WXCOCBCZPLMDJIIOJBQIBDR4KLEH6YZHEURVHKWWHHE64T6JJDJMPRX6BSSMQPFDTECOC742ZNEP2TFBJGJMVGZQMGI6KXHHJTAYULB3MZ3RWFJLPBPRDY7BCXTJ2G6Y7BA33J6WQGVSXWBR3I6UWWEMNFBNIEIQLCFTYIJGIUJFYETGYLXVZYXJ4WEMMDSTJYXJ4LY5DBSZWP4FFXJX4RHB3Z7UAHM3UXATXF2VLUAEDLTV4XIPC4MRKU7MW437YYZ2QCZTG74ZSC6FSTN5MZ5CIXXP2KQBWM37FHXJSNQC7MTCCTCTDGZ3KWGX4SZAY4DIKBHPBK2JGTQVJFZVUY2GXFSKGT7UNFMZY4E3TGUNQ5NTPQAJSY5GHASOMVV3YFGN63TA6PUVBQ7LSNWJG76CER3O4PNP5WLPIS5WGHHYQSXUVKJ5QHIJ2ZLYLPKYDO5SWKQQ2N27BYVJAKKPKFMW5E7AOYBX3TKDTRPCV6NXCGCT77FZAWP4JA3JQVOMR5J65JPWPL7BIAPSFGQUV5L6HQOLKC7EXQHNC5GNZ7A4URNQLMDXS55PA44SIUJYGIQ3ITI5TH34VBTRY4LSTQFQ6RSMYHX4JKK2SUUG25ZFNVVD4NH7JSEWBE4HHZ7RMGFKWNLLNVYRY45ZE5MXGDJEAHE4UY3LIBD7VX7ZVDZUL7NIKF4FP4LME2SLNJ5Z5QX66K5IK2HDLTHDQ3SYJ5GPNWDFQJKOPMXDT7A3NMAFQXPJSSR43OLIATMMFZJB4DS5AD5ZHT6SFKM46USVUC4WJGMX5JSE4ROZL35NGQMENTEFWDGCT46SR3DBRQVU6IVODFQIRMENF3CX4PG4N2R3NP27PQUWRHRV25QV5VKPEX7E3JV55UV53IEBK346RMQ====, hostname=127.0.0.1, ipAddress=127.0.0.1] - javax.ws.rs.WebApplicationException
at com.thesearchagency.sapi.services.order.OrderService.validate(OrderService.java:593)
at com.thesearchagency.sapi.services.order.OrderService.createOrder(OrderService.java:627)
at com.thesearchagency.sapi.services.order.OrderService.createOrder(OrderService.java:254)
at sun.reflect.GeneratedMethodAccessor700.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:622)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:319)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at com.sun.proxy.$Proxy224.createOrder(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:622)
at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:180)
at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:96)
at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:198)
at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:100)
at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)
at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:94)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271)
at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:239)
at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:223)
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:203)
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:137)
at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:158)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:243)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:163)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:219)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
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.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Thread.java:701)
2014-10-22 17:57:24,786-1283439198 [http-8080-37] INFO org.apache.cxf.interceptor.LoggingOutInterceptor [] - Outbound Message
---------------------------
ID: 1611
Response-Code: 400
Content-Type: application/json;charset=UTF-8;type=tsa-service-error;version=2.6.2
Headers:
Payload: {"code":"INVALID_DATA","message":"Invalid order!","details":[
{"code":"InvalidCallExtension","field":"campaignDataList[0]","message":"campaignDataList[0] is not a valid call extension"},{"code":"InvalidPhone","field":"campaignDataList[0].number","message":"number
{com.thesearchagency.constraints.phone}"}]}
There is a bug related to validation that exists on production. Run this command on aml10 to see the output. You can also see it in the above line "message":"number com.thesearchagency.constraints.phone}" should read "number is not a valid phone number"
grep "com.thesearchagency.constraints.phone" /var/log/tomcat6/aml.log
The fixed version displays the correct error message in the response: "message":"number is not a valid phone number"
Attachments
1.
|
update phone library |
|
Closed | Sanjay Kumar Biswal |