Details
-
Type:
Bug
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: Mercury
-
Fix Version/s: Mercury
-
Component/s: API
-
Labels:None
-
Environment:
QA5
ls -l /usr/share/tomcat6/webapps/
total 193820
drwxr-xr-x 4 tomcat tomcat 4096 Jan 22 07:35 distribution
rw-rr- 1 gsingh gsingh 53034808 Jan 22 07:29 distribution.war
drwxr-xr-x 7 tomcat tomcat 4096 Jan 22 07:35 merchant
rw-rr- 1 gsingh gsingh 18784096 Jan 22 07:25 merchant.war
drwxr-xr-x 7 tomcat tomcat 4096 Jan 27 05:30 reseller
rw-rr- 1 gsingh gsingh 35400263 Jan 27 05:20 reseller.war
drwxr-xr-x 4 tomcat tomcat 4096 Jan 27 05:30 sapi
rw-rr- 1 gsingh gsingh 91015357 Jan 27 05:26 sapi.warsapi.war = 2.9.0-cxf-SNAPSHOT / aml-data-tool 2.9.0-BETA4
distribution.war =
<parent>
<groupId>com.thesearchagency.services</groupId>
<artifactId>aml-services-pom</artifactId>
<version>2.9.1-cxf-SNAPSHOT</version>
</parent>
<artifactId>aml-distribution-service-war</artifactId>
<version>1.0.0-mercury-SNAPSHOT</version>
<packaging>war</packaging>bidmgr bidmgr-distribution-2.9.0-SNAPSHOT-dev-t20160125042922 (downloaded from Jenkins http://jenkins.ri.thesearchagency.com/job/Bid%20Manager/1060/)
QA5 ls -l /usr/share/tomcat6/webapps/ total 193820 drwxr-xr-x 4 tomcat tomcat 4096 Jan 22 07:35 distribution rw-r r - 1 gsingh gsingh 53034808 Jan 22 07:29 distribution.war drwxr-xr-x 7 tomcat tomcat 4096 Jan 22 07:35 merchant rw-r r - 1 gsingh gsingh 18784096 Jan 22 07:25 merchant.war drwxr-xr-x 7 tomcat tomcat 4096 Jan 27 05:30 reseller rw-r r - 1 gsingh gsingh 35400263 Jan 27 05:20 reseller.war drwxr-xr-x 4 tomcat tomcat 4096 Jan 27 05:30 sapi rw-r r - 1 gsingh gsingh 91015357 Jan 27 05:26 sapi.war sapi.war = 2.9.0-cxf-SNAPSHOT / aml-data-tool 2.9.0-BETA4 distribution.war = <parent> <groupId>com.thesearchagency.services</groupId> <artifactId>aml-services-pom</artifactId> <version>2.9.1-cxf-SNAPSHOT</version> </parent> <artifactId>aml-distribution-service-war</artifactId> <version>1.0.0-mercury-SNAPSHOT</version> <packaging>war</packaging> bidmgr bidmgr-distribution-2.9.0-SNAPSHOT-dev-t20160125042922 (downloaded from Jenkins http://jenkins.ri.thesearchagency.com/job/Bid%20Manager/1060/ )
-
Sprint:Sprint 17, Sprint 18
Description
To reproduce:
Create a merchant with an email. Create an order an deploy. Or, instead of creating the order make the following request:
http://{hostname}/distribution/rest/distributionSettings/merchant/{merchant_uuid}/{bidmgr_distribution_id i.e. 3 (Google) or 147 (Bing)}
Example:
http://aml-dev3-front1/distribution/rest/distributionSettings/merchant/8e45e80e-bf27-4112-87e3-1ccab0a126b2/bidmgrDistribution/3
log from catalina.out
2016-01-28 21:49:10,860-145101526 [http-8080-34] ERROR org.apache.cxf.jaxrs.utils.JAXRSUtils - Problem with reading the data, class com.thesearchagency.services.merchant.Merchant, ContentType: application/j
son;charset=UTF-8;type=tsa-merchant;version=2.9.0-cxf-SNAPSHOT.
2016-01-28 21:49:10,861-145101527 [http-8080-34] WARN org.apache.cxf.jaxrs.impl.WebApplicationExceptionMapper - javax.ws.rs.InternalServerErrorException: HTTP 500 Internal Server Error
at com.thesearchagency.services.distribution.DistributionService.getBidmgrDistributionSettingsForMerchant(DistributionService.java:98)
at com.thesearchagency.sapi.services.distribution.DistributionSettingsRS.getDistributionSettingsForResellerAndBidmgrDistribution(DistributionSettingsRS.java:55)
at sun.reflect.GeneratedMethodAccessor590.invoke(Unknown Source)
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:181)
at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:97)
at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:200)
at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:99)
at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:59)
at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:96)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:251)
at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:234)
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:208)
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:160)
at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:180)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:293)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServlet.java:217)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:268)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:154)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:201)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.authentication.www.DigestAuthenticationFilter.doFilter(DigestAuthenticationFilter.java:115)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.authentication.ui.DefaultLoginPageGeneratingFilter.doFilter(DefaultLoginPageGeneratingFilter.java:155)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343)
at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
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)
Caused by: javax.ws.rs.client.ResponseProcessingException: Problem with reading the data, class com.thesearchagency.services.merchant.Merchant, ContentType: application/json;charset=UTF-8;type=tsa-merchant;version=2.9.0-cxf-SNAPSHOT.
at org.apache.cxf.jaxrs.impl.ResponseImpl.reportMessageHandlerProblem(ResponseImpl.java:438)
at org.apache.cxf.jaxrs.impl.ResponseImpl.doReadEntity(ResponseImpl.java:378)
at org.apache.cxf.jaxrs.client.AbstractClient.readBody(AbstractClient.java:521)
at org.apache.cxf.jaxrs.client.WebClient.handleResponse(WebClient.java:1168)
at org.apache.cxf.jaxrs.client.WebClient.doResponse(WebClient.java:1156)
at org.apache.cxf.jaxrs.client.WebClient.doChainedInvocation(WebClient.java:1094)
at org.apache.cxf.jaxrs.client.WebClient.doInvoke(WebClient.java:894)
at org.apache.cxf.jaxrs.client.WebClient.doInvoke(WebClient.java:865)
at org.apache.cxf.jaxrs.client.WebClient.invoke(WebClient.java:428)
at org.apache.cxf.jaxrs.client.WebClient.get(WebClient.java:611)
at com.thesearchagency.services.distribution.client.remote.DistributionServiceSAPIClient.getResellerIdForMerchant(DistributionServiceSAPIClient.java:43)
at com.thesearchagency.services.distribution.DistributionService.getBidmgrDistributionSettingsForMerchant(DistributionService.java:93)
... 65 more
Caused by: org.codehaus.jackson.map.JsonMappingException: Can not construct instance of com.thesearchagency.security.IUser, problem: abstract types can only be instantiated with additional type information
at [Source: sun.net.www.protocol.http.HttpURLConnection$HttpInputStream@5eec237d; line: 1, column: 685] (through reference chain: com.thesearchagency.services.merchant.Merchant["contact"])
at org.codehaus.jackson.map.JsonMappingException.from(JsonMappingException.java:163)
at org.codehaus.jackson.map.deser.StdDeserializationContext.instantiationException(StdDeserializationContext.java:233)
at org.codehaus.jackson.map.deser.AbstractDeserializer.deserialize(AbstractDeserializer.java:97)
at org.codehaus.jackson.map.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:299)
at org.codehaus.jackson.map.deser.SettableBeanProperty$MethodProperty.deserializeAndSet(SettableBeanProperty.java:414)
at org.codehaus.jackson.map.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:697)
at org.codehaus.jackson.map.deser.BeanDeserializer.deserialize(BeanDeserializer.java:580)
at org.codehaus.jackson.map.ObjectMapper._readValue(ObjectMapper.java:2695)
at org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1308)
at org.codehaus.jackson.jaxrs.JacksonJsonProvider.readFrom(JacksonJsonProvider.java:419)
at org.apache.cxf.jaxrs.utils.JAXRSUtils.readFromMessageBodyReader(JAXRSUtils.java:1343)
at org.apache.cxf.jaxrs.impl.ResponseImpl.doReadEntity(ResponseImpl.java:369)
... 75 more
Broken merchant:
{
"id": "a0f07d69-f616-4110-a821-d23c1d3dbbcd",
"name": null,
"displayName": "aml-3498-10",
"description": null,
"realm": "com.thesearchagency/33146f19-22f8-4b98-96f7-6cb4f0da283b/a0f07d69-f616-4110-a821-d23c1d3dbbcd",
"active": true,
"createdDate": "2016-01-28T20:44:41.000+0000",
"lastModifiedDate": "2016-01-28T20:44:41.000+0000",
"createdBy": "9c60c5d7-4a25-4a6e-800e-bde312623a0f",
"createdByName": "Madhanmohan Pulipati",
"contactName": "aml-3498-10",
"lastModifiedBy": "9c60c5d7-4a25-4a6e-800e-bde312623a0f",
"lastModifiedByName": "Madhanmohan Pulipati",
"customerId": "aml-3498-10",
"contactEmail": "aml-3498-10@admaxlocal.com",
"contactPhoneNumber": "1112223333",
"phoneNumber": "1112223333",
"comments": "",
"contact": {
"language": "en",
"properties": {},
"id": "d13037b4-36e1-4af0-a5d8-d00a379f4d6c",
"displayName": "aml-3498-10",
"email": "aml-3498-10@admaxlocal.com",
"description": "Merchant user for aml-3498-10",
"realm": "com.thesearchagency/33146f19-22f8-4b98-96f7-6cb4f0da283b/a0f07d69-f616-4110-a821-d23c1d3dbbcd",
"createdBy": "9c60c5d7-4a25-4a6e-800e-bde312623a0f",
"lastModifiedBy": "9c60c5d7-4a25-4a6e-800e-bde312623a0f",
"homePhone": null,
"mobilePhone": null,
"lastModifiedDate": "2016-01-28",
"organization": null,
"createdDate": "2016-01-28",
"active": false,
"firstName": null,
"lastName": null,
"workPhone": "1112223333",
"countryCode": "US",
"timezone": "America/New_York",
"gender": "M",
"birthday": null,
"lastLoginDate": "1970-01-01",
"workPhoneExtension": null
},
"url": null,
"groupId": "8b61a155-f75c-4130-9b29-b932ba77ed73",
"userId": "d13037b4-36e1-4af0-a5d8-d00a379f4d6c",
"resellerId": "33146f19-22f8-4b98-96f7-6cb4f0da283b",
"properties": {
"countryCode": "US",
"currencyCode": "USD",
"language": "en",
"locale": "en_US"
}
}
Working merchant:
{
"id": "ddda0547-2480-4b29-bdd7-14bd1ef43a4b",
"name": null,
"displayName": "ross-test-1",
"description": null,
"realm": "com.thesearchagency/33146f19-22f8-4b98-96f7-6cb4f0da283b/ddda0547-2480-4b29-bdd7-14bd1ef43a4b",
"active": true,
"createdDate": "2016-01-28T15:15:28.000+0000",
"lastModifiedDate": "2016-01-28T15:15:28.000+0000",
"createdBy": "9c60c5d7-4a25-4a6e-800e-bde312623a0f",
"createdByName": "Madhanmohan Pulipati",
"contactName": null,
"lastModifiedBy": "9c60c5d7-4a25-4a6e-800e-bde312623a0f",
"lastModifiedByName": "Madhanmohan Pulipati",
"customerId": "ross-test-1",
"contactEmail": null,
"contactPhoneNumber": "",
"phoneNumber": "",
"comments": "",
"contact": null,
"url": null,
"groupId": "50bc5abd-73e9-45dc-b081-c7b317d6170b",
"userId": null,
"resellerId": "33146f19-22f8-4b98-96f7-6cb4f0da283b",
"properties": {
"countryCode": "US",
"currencyCode": "USD",
"language": "en",
"locale": "en_US"
}
}
REST request to distribution service:
GET http://aml-qa5-front1:8080/distribution/rest//distributionSettings/merchant/
Where {bidmgrId}= 3 or 147
Works with this values:{merchantId}
= ddda0547-2480-4b29-bdd7-14bd1ef43a4b
Breaks with this value:
{merchantId}= a0f07d69-f616-4110-a821-d23c1d3dbbcd