Getting the XML response from DispatcherServlet which is just cut off and no error is logged

49 Views Asked by At

I have a project with Spring (config is below):

<import resource="classpath:payment-impl-context.xml"/>
<import resource="classpath:abs-payment-consumer-context.xml"/>

<jee:jndi-lookup id="dataSource" jndi-name="java:comp/env/jdbc/postgres"/>

<security:http authentication-manager-ref="authenticationManager" create-session="stateless">
    <security:intercept-url pattern="/api2/xml/**" access="permitAll" />
    <security:intercept-url pattern="/**" access="isAuthenticated()" />
    <security:http-basic entry-point-ref="webServiceAuthenticationEntryPoint"/>
    <security:csrf disabled="true"/>
</security:http>

<mvc:annotation-driven/>
<context:component-scan base-package="com.openpayment.web.service"/>

<bean id="contentNegotiationManager" class="org.springframework.web.accept.ContentNegotiationManagerFactoryBean">
    <property name="favorPathExtension" value="false" />
</bean>

<mvc:annotation-driven content-negotiation-manager="contentNegotiationManager">
    <mvc:path-matching suffix-pattern="false"/>
</mvc:annotation-driven>

<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
    <property name="basenames">
        <list>
            <value>payment-messages</value>
            <value>web-service-messages</value>
        </list>
    </property>
</bean>

and it calls for the controller with

@RestController
@RequestMapping(consumes = "application/xml;charset=cp1251", produces = "application/xml;charset=cp1251")

and when seializing the data

invokeAndHandle:117, ServletInvocableHandlerMethod (org.springframework.web.servlet.mvc.method.annotation)
invokeHandlerMethod:854, RequestMappingHandlerAdapter (org.springframework.web.servlet.mvc.method.annotation)
handleInternal:765, RequestMappingHandlerAdapter (org.springframework.web.servlet.mvc.method.annotation)
handle:85, AbstractHandlerMethodAdapter (org.springframework.web.servlet.mvc.method)
doDispatch:967, DispatcherServlet (org.springframework.web.servlet)
doDispatch:41, LoggableDispatcherServlet (com.openpayment.web.service.init)
doService:901, DispatcherServlet (org.springframework.web.servlet)
processRequest:970, FrameworkServlet (org.springframework.web.servlet)
doPost:872, FrameworkServlet (org.springframework.web.servlet)
service:647, HttpServlet (javax.servlet.http)
service:846, FrameworkServlet (org.springframework.web.servlet)
service:728, HttpServlet (javax.servlet.http)
internalDoFilter:305, ApplicationFilterChain (org.apache.catalina.core)
doFilter:210, ApplicationFilterChain (org.apache.catalina.core)
doFilter:51, WsFilter (org.apache.tomcat.websocket.server)
internalDoFilter:243, ApplicationFilterChain (org.apache.catalina.core)
doFilter:210, ApplicationFilterChain (org.apache.catalina.core)
doFilter:317, FilterChainProxy$VirtualFilterChain (org.springframework.security.web)
invoke:127, FilterSecurityInterceptor (org.springframework.security.web.access.intercept)
doFilter:91, FilterSecurityInterceptor (org.springframework.security.web.access.intercept)
doFilter:331, FilterChainProxy$VirtualFilterChain (org.springframework.security.web)
doFilter:114, ExceptionTranslationFilter (org.springframework.security.web.access)
doFilter:331, FilterChainProxy$VirtualFilterChain (org.springframework.security.web)
doFilter:111, AnonymousAuthenticationFilter (org.springframework.security.web.authentication)
doFilter:331, FilterChainProxy$VirtualFilterChain (org.springframework.security.web)
doFilter:170, SecurityContextHolderAwareRequestFilter (org.springframework.security.web.servletapi)
doFilter:331, FilterChainProxy$VirtualFilterChain (org.springframework.security.web)
doFilterInternal:158, BasicAuthenticationFilter (org.springframework.security.web.authentication.www)
doFilter:107, OncePerRequestFilter (org.springframework.web.filter)
doFilter:331, FilterChainProxy$VirtualFilterChain (org.springframework.security.web)
doFilterInternal:66, HeaderWriterFilter (org.springframework.security.web.header)
doFilter:107, OncePerRequestFilter (org.springframework.web.filter)
doFilter:331, FilterChainProxy$VirtualFilterChain (org.springframework.security.web)
doFilterInternal:56, WebAsyncManagerIntegrationFilter (org.springframework.security.web.context.request.async)
doFilter:107, OncePerRequestFilter (org.springframework.web.filter)
doFilter:331, FilterChainProxy$VirtualFilterChain (org.springframework.security.web)
doFilter:105, SecurityContextPersistenceFilter (org.springframework.security.web.context)
doFilter:331, FilterChainProxy$VirtualFilterChain (org.springframework.security.web)
doFilterInternal:214, FilterChainProxy (org.springframework.security.web)
doFilter:177, FilterChainProxy (org.springframework.security.web)
invokeDelegate:347, DelegatingFilterProxy (org.springframework.web.filter)
doFilter:263, DelegatingFilterProxy (org.springframework.web.filter)
internalDoFilter:243, ApplicationFilterChain (org.apache.catalina.core)
doFilter:210, ApplicationFilterChain (org.apache.catalina.core)
invoke:222, StandardWrapperValve (org.apache.catalina.core)
invoke:123, StandardContextValve (org.apache.catalina.core)
invoke:502, AuthenticatorBase (org.apache.catalina.authenticator)
invoke:171, StandardHostValve (org.apache.catalina.core)
invoke:100, ErrorReportValve (org.apache.catalina.valves)
invoke:953, AccessLogValve (org.apache.catalina.valves)
invoke:118, StandardEngineValve (org.apache.catalina.core)
service:408, CoyoteAdapter (org.apache.catalina.connector)
process:1041, AbstractHttp11Processor (org.apache.coyote.http11)
process:603, AbstractProtocol$AbstractConnectionHandler (org.apache.coyote)
run:310, JIoEndpoint$SocketProcessor (org.apache.tomcat.util.net)
runWorker:1128, ThreadPoolExecutor (java.util.concurrent)
run:628, ThreadPoolExecutor$Worker (java.util.concurrent)
run:834, Thread (java.lang)

I was getting trace message, that I have fount only under debug mode.

com.fasterxml.jackson.databind.JsonMappingException: local part cannot be "null" when creating a QName (through reference chain: com.openpayment.external.pay24.model.GetUIProvidersResponse["providers"]->com.openpayment.external.pay24.model.GetUIProvidersResponse$Providers["getUIProviders"]->com.openpayment.external.pay24.model.GetUIProvidersResponse$GetUIProviders["provider"]->java.util.ArrayList[53]->com.openpayment.external.pay24.model.GetUIProvidersResponse$Provider["field"]->java.util.ArrayList[0]->com.openpayment.external.pay24.model.GetUIProvidersResponse$Field["data"]->java.util.ArrayList[0])

and as the result the output is just broken XML, which is correct till the failure place and then is just interrupted

Why I'm not getting 500 Server error then? But just 200 and XML data cut off?

0

There are 0 best solutions below