Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

  • NullPointerException when uploading file

    Hi,
    When I was uploading a file, the server threw this exception:

    === 2009-09-07 17:31:46,015 [80-1] DEBUG XML - Parsed XML from (in memory stream): 0ms
    === 2009-09-07 17:31:46,030 [80-1] DEBUG RPCManager - Processing 1 requests.
    === 2009-09-07 17:31:46,030 [80-1] ERROR IDACall - Top-level servlet error:
    java.lang.NullPointerException
    at com.isomorphic.datasource.DSRequest.parseUploadedFiles(DSRequest.java:336)
    at com.isomorphic.datasource.DSRequest.<init>(DSRequest.java:319)
    at com.isomorphic.rpc.RPCManager.parseRequest(RPCManager.java:1235)
    at com.isomorphic.rpc.RPCManager.<init>(RPCManager.java:234)
    at com.isomorphic.servlet.IDACall.processRequest(IDACall.java:90)
    at com.isomorphic.servlet.IDACall.doPost(IDACall.java:54)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at com.isomorphic.servlet.CompressionFilter.doFilter(CompressionFilter.java:248)
    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:128)
    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:293)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
    at java.lang.Thread.run(Thread.java:619)


    I can't find any reason, please help me,Thanks!

  • #2
    Please show the server-side log previous to this point (all logs related to processing this request) and the client-side code that initiates this request.

    Comment


    • #3
      The server log:

      DEBUG: wizerspend.ui.filter.SmartSpendFilter - Session Attribute: language = zh_CN
      DEBUG: wizerspend.ui.filter.SmartSpendFilter - Request Parameter: languageParam = null
      DEBUG: wizerspend.ui.filter.SmartSpendFilter - Set Session Attribute: language = zh_CN
      === 2009-09-10 11:54:21,536 [80-9] INFO RequestContext - URL: '/WizerSpend/isomorphic/skins/Enterprise/images/button/button_Focused_Over_start.png', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2': Moz (Gecko) with Accept-Encoding header
      DEBUG: wizerspend.ui.filter.SmartSpendFilter - Session Attribute: language = zh_CN
      DEBUG: wizerspend.ui.filter.SmartSpendFilter - Request Parameter: languageParam = null
      DEBUG: wizerspend.ui.filter.SmartSpendFilter - Set Session Attribute: language = zh_CN
      === 2009-09-10 11:54:21,536 [80-7] INFO RequestContext - URL: '/WizerSpend/isomorphic/skins/Enterprise/images/button/button_Focused_Over_stretch.png', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2': Moz (Gecko) with Accept-Encoding header
      DEBUG: wizerspend.ui.filter.SmartSpendFilter - Session Attribute: language = zh_CN
      DEBUG: wizerspend.ui.filter.SmartSpendFilter - Request Parameter: languageParam = null
      DEBUG: wizerspend.ui.filter.SmartSpendFilter - Set Session Attribute: language = zh_CN
      === 2009-09-10 11:54:21,536 [80-2] INFO RequestContext - URL: '/WizerSpend/isomorphic/skins/Enterprise/images/button/button_Focused_Over_end.png', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2': Moz (Gecko) with Accept-Encoding header
      === 2009-09-10 11:54:21,552 [80-9] INFO Download - done streaming: E:/projects/stsspace/WizerSpend/target/WizerSpend/isomorphic/skins/Enterprise/images/button/button_Focused_Over_start.png
      === 2009-09-10 11:54:21,552 [80-2] INFO Download - done streaming: E:/projects/stsspace/WizerSpend/target/WizerSpend/isomorphic/skins/Enterprise/images/button/button_Focused_Over_end.png
      === 2009-09-10 11:54:21,567 [80-7] INFO Download - done streaming: E:/projects/stsspace/WizerSpend/target/WizerSpend/isomorphic/skins/Enterprise/images/button/button_Focused_Over_stretch.png
      DEBUG: wizerspend.ui.filter.SmartSpendFilter - Session Attribute: language = zh_CN
      DEBUG: wizerspend.ui.filter.SmartSpendFilter - Request Parameter: languageParam = null
      DEBUG: wizerspend.ui.filter.SmartSpendFilter - Set Session Attribute: language = zh_CN
      === 2009-09-10 11:54:21,567 [80-8] INFO RequestContext - URL: '/WizerSpend/isomorphic/skins/Enterprise/images/button/button_Focused_Down_start.png', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2': Moz (Gecko) with Accept-Encoding header
      DEBUG: wizerspend.ui.filter.SmartSpendFilter - Session Attribute: language = zh_CN
      DEBUG: wizerspend.ui.filter.SmartSpendFilter - Request Parameter: languageParam = null
      DEBUG: wizerspend.ui.filter.SmartSpendFilter - Set Session Attribute: language = zh_CN
      === 2009-09-10 11:54:21,583 [80-4] INFO RequestContext - URL: '/WizerSpend/isomorphic/skins/Enterprise/images/button/button_Focused_Down_stretch.png', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2': Moz (Gecko) with Accept-Encoding header
      DEBUG: wizerspend.ui.filter.SmartSpendFilter - Session Attribute: language = zh_CN
      DEBUG: wizerspend.ui.filter.SmartSpendFilter - Request Parameter: languageParam = null
      DEBUG: wizerspend.ui.filter.SmartSpendFilter - Set Session Attribute: language = zh_CN
      === 2009-09-10 11:54:21,583 [80-5] INFO RequestContext - URL: '/WizerSpend/isomorphic/skins/Enterprise/images/button/button_Focused_Down_end.png', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2': Moz (Gecko) with Accept-Encoding header
      === 2009-09-10 11:54:21,598 [80-4] INFO Download - done streaming: E:/projects/stsspace/WizerSpend/target/WizerSpend/isomorphic/skins/Enterprise/images/button/button_Focused_Down_stretch.png
      === 2009-09-10 11:54:21,614 [80-8] INFO Download - done streaming: E:/projects/stsspace/WizerSpend/target/WizerSpend/isomorphic/skins/Enterprise/images/button/button_Focused_Down_start.png
      === 2009-09-10 11:54:21,630 [80-5] INFO Download - done streaming: E:/projects/stsspace/WizerSpend/target/WizerSpend/isomorphic/skins/Enterprise/images/button/button_Focused_Down_end.png
      DEBUG: wizerspend.ui.filter.SmartSpendFilter - Session Attribute: language = zh_CN
      DEBUG: wizerspend.ui.filter.SmartSpendFilter - Request Parameter: languageParam = null
      DEBUG: wizerspend.ui.filter.SmartSpendFilter - Set Session Attribute: language = zh_CN
      === 2009-09-10 11:54:21,723 [80-9] INFO RequestContext - URL: '/WizerSpend/isomorphic/skins/Enterprise/images/button/button_Focused_start.png', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2': Moz (Gecko) with Accept-Encoding header
      DEBUG: wizerspend.ui.filter.SmartSpendFilter - Session Attribute: language = zh_CN
      DEBUG: wizerspend.ui.filter.SmartSpendFilter - Request Parameter: languageParam = null
      DEBUG: wizerspend.ui.filter.SmartSpendFilter - Set Session Attribute: language = zh_CN
      === 2009-09-10 11:54:21,723 [80-2] INFO RequestContext - URL: '/WizerSpend/isomorphic/skins/Enterprise/images/button/button_Focused_stretch.png', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2': Moz (Gecko) with Accept-Encoding header
      DEBUG: wizerspend.ui.filter.SmartSpendFilter - Session Attribute: language = zh_CN
      DEBUG: wizerspend.ui.filter.SmartSpendFilter - Request Parameter: languageParam = null
      DEBUG: wizerspend.ui.filter.SmartSpendFilter - Set Session Attribute: language = zh_CN
      === 2009-09-10 11:54:21,739 [80-7] INFO RequestContext - URL: '/WizerSpend/isomorphic/skins/Enterprise/images/button/button_Focused_end.png', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2': Moz (Gecko) with Accept-Encoding header
      === 2009-09-10 11:54:21,755 [80-7] INFO Download - done streaming: E:/projects/stsspace/WizerSpend/target/WizerSpend/isomorphic/skins/Enterprise/images/button/button_Focused_end.png
      === 2009-09-10 11:54:21,755 [80-2] INFO Download - done streaming: E:/projects/stsspace/WizerSpend/target/WizerSpend/isomorphic/skins/Enterprise/images/button/button_Focused_stretch.png
      === 2009-09-10 11:54:21,786 [80-9] INFO Download - done streaming: E:/projects/stsspace/WizerSpend/target/WizerSpend/isomorphic/skins/Enterprise/images/button/button_Focused_start.png
      DEBUG: wizerspend.ui.filter.SmartSpendFilter - Session Attribute: language = zh_CN
      DEBUG: wizerspend.ui.filter.SmartSpendFilter - Request Parameter: languageParam = null
      DEBUG: wizerspend.ui.filter.SmartSpendFilter - Set Session Attribute: language = zh_CN
      === 2009-09-10 11:54:22,895 [80-4] INFO RequestContext - URL: '/WizerSpend/isomorphic/IDACall', User-Agent: 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2': Moz (Gecko) with Accept-Encoding header
      === 2009-09-10 11:54:23,083 [80-4] DEBUG XML - Parsed XML from (in memory stream): 0ms
      === 2009-09-10 11:54:23,083 [80-4] DEBUG RPCManager - Processing 1 requests.
      === 2009-09-10 11:54:23,083 [80-4] ERROR IDACall - Top-level servlet error:
      java.lang.NullPointerException
      at com.isomorphic.datasource.DSRequest.parseUploadedFiles(DSRequest.java:336)
      at com.isomorphic.datasource.DSRequest.<init>(DSRequest.java:319)
      at com.isomorphic.rpc.RPCManager.parseRequest(RPCManager.java:1235)
      at com.isomorphic.rpc.RPCManager.<init>(RPCManager.java:234)
      at com.isomorphic.servlet.IDACall.processRequest(IDACall.java:90)
      at com.isomorphic.servlet.IDACall.doPost(IDACall.java:54)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
      at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
      at

      Comment


      • #4
        org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at com.isomorphic.servlet.CompressionFilter.doFilter(CompressionFilter.java:248)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:164)
        at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:141)
        at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:90)
        at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:417)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:378)
        at org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
        at org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
        at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
        at org.springframework.security.ui.SessionFixationProtectionFilter.doFilterHttp(SessionFixationProtectionFilter.java:67)
        at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
        at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
        at org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101)
        at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
        at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
        at org.springframework.security.providers.anonymous.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:105)
        at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
        at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
        at org.springframework.security.ui.rememberme.RememberMeProcessingFilter.doFilterHttp(RememberMeProcessingFilter.java:116)
        at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
        at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
        at org.springframework.security.wrapper.SecurityContextHolderAwareRequestFilter.doFilterHttp(SecurityContextHolderAwareRequestFilter.java:91)
        at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
        at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
        at org.springframework.security.ui.basicauth.BasicProcessingFilter.doFilterHttp(BasicProcessingFilter.java:174)
        at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
        at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
        at org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:278)
        at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
        at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
        at wizerspend.ui.filter.SmartSpendFilter.doFilterHttp(SmartSpendFilter.java:45)
        at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
        at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
        at org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:89)
        at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
        at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
        at org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235)
        at org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
        at org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:390)
        at org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:175)
        at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:236)
        at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:167)
        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:128)
        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:293)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)
        at java.lang.Thread.run(Thread.java:619)
        === 2009-09-10 11:54:23,099 [80-4] INFO Compression - /WizerSpend/isomorphic/IDACall: 6749 -> 1069 bytes



        and the client codes:
        Code:
        var thisRef = this;
        this.docForm = isc.DynamicForm.create({
                        dataSource: "document",
                        autoFocus: true,
                        numCols: 2
                    });
        
        this.saveDoc = function() {
                        thisRef.docForm.setValue("parentId", thisRef.parentId);
                        thisRef.docForm.saveData(function (dsResponse, data, dsRequest) {                    
                            thisRef.hide();
                            thisRef.markForDestroy();
                        });
                    };
        datasource:
        Code:
        <!--
                <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
            -->
        
        <DataSource xmlns:fmt="urn:jsptld:/WEB-INF/fmt.tld" ID="document"
                    serverType="generic" titleField="title">
            <fields>
                <field name="id" type="integer" hidden="true"
                       primaryKey="true" title="ID"/>
                <field name="parentId" type="integer"  hidden="true"/>
                <field name="workspaceId" type="integer"  hidden="true"/>
                <field name="title" type="text" length="128" required="true">
                    <title>
                        <fmt:message key="ws.name"/>
                    </title>
                </field>
                <field name="description" type="text" length="2000" width="300">
                    <title>
                        <fmt:message key="ws.description"/>
                    </title>
                </field>
                <field name="file" type="binary" required="true">
                    <title><fmt:message key="doc.file"/> </title>
                </field>
            </fields>
            
            <serverObject lookupStyle="spring" bean="documentDMIService"/>
        </DataSource>

        Comment


        • #5
          What exact SmartClient version is this? Your line numbers don't appear to line up with a release.

          Comment


          • #6
            SmartClient 70rc2

            Comment


            • #7
              Could you also post the logs from server startup - there may be something in there that will help.

              Comment


              • #8
                Hi, Please check the log.txt, thanks!
                Attached Files

                Comment


                • #9
                  OK, another step back. Are you including our Init servlet in your web.xml? (see http://www.smartclient.com/docs/7.0r...up..iscInstall)

                  Comment


                  • #10
                    Yes, the web.xml:

                    Code:
                    <?xml version="1.0" encoding="UTF-8"?>
                    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:jsp="http://java.sun.com/xml/ns/javaee/jsp" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
                      <context-param>
                        <param-name>contextConfigLocation</param-name>
                        <param-value>
                    				classpath*:persistence-config.xml,
                    				classpath*:analysis-persistence-config.xml,
                    				classpath*:dao-config.xml,
                    				classpath*:service-config.xml,
                    				classpath*:security-config.xml
                    				
                    			</param-value>
                      </context-param>
                      <context-param>
                        <param-name>log4jConfigLocation</param-name>
                        <param-value>/WEB-INF/classes/log4j.xml</param-value>
                      </context-param>
                      <listener>
                        <display-name>ContextListener</display-name>
                        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
                      </listener>
                      <listener>
                        <display-name>SmartSpendListener</display-name>
                        <listener-class>wizerspend.ui.listener.SmartSpendContextListener</listener-class>
                      </listener>
                      <filter>
                        <filter-name>springSecurityFilterChain</filter-name>
                        <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
                      </filter>
                      <filter-mapping>
                        <filter-name>springSecurityFilterChain</filter-name>
                        <url-pattern>/*</url-pattern>
                      </filter-mapping>
                      <filter>
                        <filter-name>UrlRewriteFilter</filter-name>
                        <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
                      </filter>
                      <filter-mapping>
                        <filter-name>UrlRewriteFilter</filter-name>
                        <url-pattern>/*</url-pattern>
                      </filter-mapping>
                      <servlet>
                        <servlet-name>Spring MVC Dispatcher Servlet</servlet-name>
                        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
                        <init-param>
                          <param-name>contextConfigLocation</param-name>
                          <param-value>
                    				/WEB-INF/spring/bms-mvc.xml
                    			</param-value>
                        </init-param>
                        <load-on-startup>1</load-on-startup>
                      </servlet>
                      <servlet-mapping>
                        <servlet-name>Spring MVC Dispatcher Servlet</servlet-name>
                        <url-pattern>/app/*</url-pattern>
                      </servlet-mapping>
                      <filter>
                        <filter-name>CompressionFilter</filter-name>
                        <filter-class>com.isomorphic.servlet.CompressionFilter</filter-class>
                      </filter>
                      <filter-mapping>
                        <filter-name>CompressionFilter</filter-name>
                        <url-pattern>/*</url-pattern>
                      </filter-mapping>
                      <servlet>
                        <servlet-name>IDACall</servlet-name>
                        <servlet-class>com.isomorphic.servlet.IDACall</servlet-class>
                      </servlet>
                      <servlet>
                        <servlet-name>DataSourceLoader</servlet-name>
                        <servlet-class>com.isomorphic.servlet.DataSourceLoader</servlet-class>
                      </servlet>
                      <servlet>
                        <servlet-name>FileDownload</servlet-name>
                        <servlet-class>com.isomorphic.servlet.FileDownload</servlet-class>
                      </servlet>
                      <servlet>
                        <servlet-name>Inspector</servlet-name>
                        <servlet-class>wizerspend.util.inspector.Inspector</servlet-class>
                      </servlet>
                      <servlet>
                        <servlet-name>Init</servlet-name>
                        <servlet-class>com.isomorphic.base.Init</servlet-class>
                        <load-on-startup>1</load-on-startup>
                      </servlet>
                      <servlet>
                        <servlet-name>HttpProxy</servlet-name>
                        <servlet-class>com.isomorphic.servlet.HttpProxyServlet</servlet-class>
                      </servlet>
                      <servlet>
                        <servlet-name>PreCache</servlet-name>
                        <servlet-class>com.isomorphic.servlet.PreCache</servlet-class>
                        <load-on-startup>2</load-on-startup>
                      </servlet>
                      <servlet-mapping>
                        <servlet-name>IDACall</servlet-name>
                        <url-pattern>/isomorphic/IDACall/*</url-pattern>
                      </servlet-mapping>
                      <servlet-mapping>
                        <servlet-name>IDACall</servlet-name>
                        <url-pattern>/isomorphic/IDACall.aspx/*</url-pattern>
                      </servlet-mapping>
                      <servlet-mapping>
                        <servlet-name>DataSourceLoader</servlet-name>
                        <url-pattern>/isomorphic/DataSourceLoader</url-pattern>
                      </servlet-mapping>
                      <servlet-mapping>
                        <servlet-name>HttpProxy</servlet-name>
                        <url-pattern>/isomorphic/HttpProxy/*</url-pattern>
                      </servlet-mapping>
                      <servlet-mapping>
                        <servlet-name>FileDownload</servlet-name>
                        <url-pattern>/isomorphic/skins/*</url-pattern>
                      </servlet-mapping>
                      <servlet-mapping>
                        <servlet-name>FileDownload</servlet-name>
                        <url-pattern>/isomorphic/system/modules/*</url-pattern>
                      </servlet-mapping>
                      <servlet-mapping>
                        <servlet-name>FileDownload</servlet-name>
                        <url-pattern>/isomorphic/system/development/*</url-pattern>
                      </servlet-mapping>
                      <servlet-mapping>
                        <servlet-name>FileDownload</servlet-name>
                        <url-pattern>/isomorphic/system/reference/skin/*</url-pattern>
                      </servlet-mapping>
                      <servlet-mapping>
                        <servlet-name>Inspector</servlet-name>
                        <url-pattern>/inspector/*</url-pattern>
                      </servlet-mapping>
                      <jsp-config>
                        <taglib>
                          <taglib-uri>isomorphic</taglib-uri>
                          <taglib-location>/WEB-INF/tld/iscTaglib.xml</taglib-location>
                        </taglib>
                        <jsp-property-group>
                          <url-pattern>*.isc</url-pattern>
                          <include-prelude>/shared/jsp/iscHeader.jsp</include-prelude>
                          <include-coda>/shared/jsp/iscFooter.jsp</include-coda>
                        </jsp-property-group>
                        <jsp-property-group>
                          <url-pattern>*.rpc</url-pattern>
                          <include-prelude>/shared/jsp/rpcHeader.jsp</include-prelude>
                          <include-coda>/shared/jsp/rpcFooter.jsp</include-coda>
                        </jsp-property-group>
                        <jsp-property-group>
                          <url-pattern>/shared/ds/*</url-pattern>
                        </jsp-property-group>
                      </jsp-config>
                      <session-config>
                        <session-timeout>30</session-timeout>
                      </session-config>
                    </web-app>

                    Comment


                    • #11
                      The top exception is:
                      java.lang.NullPointerException
                      at com.isomorphic.datasource.DSRequest.parseUploadedFiles(DSRequest.java:336)

                      I decompiled the DSRequest and found the line 336 is:

                      int maxSize = config.getInt("DSRequest.maxUploadFileSize", 0);

                      so, it seems "config" is a null object, but when i access it from jsp, it worked:

                      <% Config cfg = Config.getGlobal(); %>
                      <%=cfg.getInt("DSRequest.maxUploadFileSize", 0)%>
                      the output is :104857600

                      really weird ! Can i get a copy of DSRequest.java file for debugging?

                      Comment


                      • #12
                        You can't debug this from DSRequest.java.

                        This error strongly suggests duplicate copies of the Isomorphic jars are in play. Do you perhaps have two or more copies, one on the system classpath, one on the classpath of Tomcat as a whole, one in web-inf/lib?

                        Comment


                        • #13
                          I didn't find duplicated isomorphic jars, this problem is so weird. How to resolve it, any idea? Maybe I need to upload files manually. what a pity!

                          Comment


                          • #14
                            After we changed the code in DSRequest:

                            from:
                            Code:
                            /* 336*/ int maxSize = config.getInt("DSRequest.maxUploadFileSize", 0);
                            /*1104*/ int maxSize = config.getInt("DSRequest.maxUploadFileSize", 0);
                            to:
                            Code:
                            /* 336*/ int maxSize = Config.getGlobal().getInt("DSRequest.maxUploadFileSize", 0);
                            /*1104*/ int maxSize = Config.getGlobal().getInt("DSRequest.maxUploadFileSize", 0);
                            it works!
                            So, the problem is why the config in DSRequest is null ? Is it caused by threading?

                            BTW, Could you guys change the DSRequest follow above snippet and give me class file?

                            Comment

                            Working...
                            X