Announcement

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

    #16
    OK, you're looking for either a FilterServlet or a setting on your Servlet engine - something that kicks in before SmartGWT even gets the request.

    Comment


      #17
      Hi Isomorphic,

      the thing is that it worked before with 5.0p. I'll go back to that version and try again with my new logging.

      I disabled all filters in web.xml, that are not SmartGWT filters, but no change. Actually all my filters were only about "Expires"-headers.

      As reference here the encodings for the different request types captured from IDACALL doPost() - the are the same locally and remote:
      Code:
      Local:
      Normal request:
      === 2016-02-19 23:45:15,339 [ec-4] ERROR LMSIDACall - Logging from doPost, request.getContentLength(): 1778
      === 2016-02-19 23:45:15,339 [ec-4] ERROR LMSIDACall - Logging from doPost, request.getCharacterEncoding(): UTF-8
      === 2016-02-19 23:45:15,339 [ec-4] ERROR LMSIDACall - Logging from doPost, response.getCharacterEncoding(): ISO-8859-1
      
      Upload file:
      === 2016-02-19 23:46:23,785 [ec-6] ERROR LMSIDACall - Logging from doPost, request.getContentLength(): 1562
      === 2016-02-19 23:46:23,785 [ec-6] ERROR LMSIDACall - Logging from doPost, request.getCharacterEncoding(): null
      === 2016-02-19 23:46:23,785 [ec-6] ERROR LMSIDACall - Logging from doPost, response.getCharacterEncoding(): ISO-8859-1
      
      Download file:
      === 2016-02-19 23:47:56,117 [ec-8] ERROR LMSIDACall - Logging from doPost, request.getContentLength(): 1292
      === 2016-02-19 23:47:56,117 [ec-8] ERROR LMSIDACall - Logging from doPost, request.getCharacterEncoding(): null
      === 2016-02-19 23:47:56,117 [ec-8] ERROR LMSIDACall - Logging from doPost, response.getCharacterEncoding(): ISO-8859-1
      
      Batch Upload other request:
      === 2016-02-19 23:58:33,271 [c-12] ERROR LMSIDACall - Logging from doPost, request.getContentLength(): 1414
      === 2016-02-19 23:58:33,271 [c-12] ERROR LMSIDACall - Logging from doPost, request.getCharacterEncoding(): UTF-8
      === 2016-02-19 23:58:33,271 [c-12] ERROR LMSIDACall - Logging from doPost, response.getCharacterEncoding(): ISO-8859-1
      
      Batch Upload data multipart request:
      === 2016-02-19 23:58:33,273 [ec-5] ERROR LMSIDACall - Logging from doPost, request.getContentLength(): 2228
      === 2016-02-19 23:58:33,273 [ec-5] ERROR LMSIDACall - Logging from doPost, request.getCharacterEncoding(): null
      === 2016-02-19 23:58:33,273 [ec-5] ERROR LMSIDACall - Logging from doPost, response.getCharacterEncoding(): ISO-8859-1
      
      Remote:
      Normal request:
      === 2016-02-19 23:49:39,777 [ec-2] ERROR LMSIDACall - Logging from doPost, request.getContentLength(): 1778
      === 2016-02-19 23:49:39,777 [ec-2] ERROR LMSIDACall - Logging from doPost, request.getCharacterEncoding(): UTF-8
      === 2016-02-19 23:49:39,778 [ec-2] ERROR LMSIDACall - Logging from doPost, response.getCharacterEncoding(): ISO-8859-1
      
      Upload file:
      === 2016-02-20 00:03:45,729 [c-10] ERROR LMSIDACall - Logging from doPost, request.getContentLength(): 1974
      === 2016-02-20 00:03:45,729 [c-10] ERROR LMSIDACall - Logging from doPost, request.getCharacterEncoding(): null
      === 2016-02-20 00:03:45,729 [c-10] ERROR LMSIDACall - Logging from doPost, response.getCharacterEncoding(): ISO-8859-1
      
      Download file:
      === 2016-02-19 23:52:01,994 [c-14] ERROR LMSIDACall - Logging from doPost, request.getContentLength(): 1292
      === 2016-02-19 23:52:01,994 [c-14] ERROR LMSIDACall - Logging from doPost, request.getCharacterEncoding(): null
      === 2016-02-19 23:52:01,994 [c-14] ERROR LMSIDACall - Logging from doPost, response.getCharacterEncoding(): ISO-8859-1
      
      Batch Upload other request:
      === 2016-02-19 23:56:11,908 [c-12] ERROR LMSIDACall - Logging from doPost, request.getContentLength(): 1414
      === 2016-02-19 23:56:11,908 [c-12] ERROR LMSIDACall - Logging from doPost, request.getCharacterEncoding(): UTF-8
      === 2016-02-19 23:56:11,908 [c-12] ERROR LMSIDACall - Logging from doPost, response.getCharacterEncoding(): ISO-8859-1
      
      Batch Upload data multipart request:
      === 2016-02-19 23:56:11,914 [ec-9] ERROR LMSIDACall - Logging from doPost, request.getContentLength(): 2195
      === 2016-02-19 23:56:11,914 [ec-9] ERROR LMSIDACall - Logging from doPost, request.getCharacterEncoding(): null
      === 2016-02-19 23:56:11,914 [ec-9] ERROR LMSIDACall - Logging from doPost, response.getCharacterEncoding(): ISO-8859-1
      What relevant Servlet engine setting could you think of?

      Best regards
      Blama

      Comment


        #18
        If you'd like to convince yourself that it has nothing to do with SmartGWT server code, replace IDACall with a Servlet that doesn't subclass our code at all and run your same test with doGet/doPost.

        Comment


          #19
          Also, intercepting processRequest() in your IDACall subclass is fine, but be careful about placing logic in doGet()/doPost() because that occurs earlier in the call stack and IDACall actually does the following as part of that processing chain:

          Code:
          String encoding = getServletConfig().getInitParameter("encoding");
                  if (encoding == null) encoding = "UTF-8";
                  if (!encoding.toLowerCase().equals("none")) {
                      request.setCharacterEncoding(encoding);
                  }
          Which is something that needs to happen for the request to be properly parsed encoding-wise.

          Another thing to try: log all inbound http request header name/value pairs on both the remote and local instance and see if you can spot the difference. Usually, if there's a proxy or L4 switch involved, it will at least inject something into the request header.

          Comment


            #20
            Hi Isomorphic,

            I'll try all your suggestions. In the meantime another observation:
            With
            Code:
                @Override
                public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
                    int i = request.getContentLength();
                    Logger logger = new Logger(LMSIDACall.class);
                    if (i > 3000) {
                        String s = IOUtils.toString(((RequestFacade) request).getInputStream());
                        logger.error("Logging from doPost, test umlauts: \"öß\"");
                        logger.error(s);
                    }
            
                    logger.error("Logging from doPost, request.getContentLength(): " + request.getContentLength());
                    logger.error("Logging from doPost, request.getCharacterEncoding(): " + request.getCharacterEncoding());
                    logger.error("Logging from doPost, response.getCharacterEncoding(): " + response.getCharacterEncoding());
                    super.doPost(request, response);
                };
            a fileupload (not Batch Upload) request shows the same logging problem (logging "??" instead of the umlauts), but saves the data correctly. Download of the saved file is also working. This is pretty strange.
            Locally again logging and upload / download work as expected.

            Best regards
            Blama
            Last edited by Blama; 19 Feb 2016, 15:41.

            Comment


              #21
              This happens both on the server and the client for
              Code:
                  @Override
                  public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
                      Logger logger = new Logger(LMSIDACall.class);
                      logger.error("Logging from doPost, getServletConfig().getInitParameter(\"encoding\"): "
                              + getServletConfig().getInitParameter("encoding"));
                      logger.error("Logging from doPost, request.getContentLength(): " + request.getContentLength());
                      logger.error("Logging from doPost, request.getCharacterEncoding(): " + request.getCharacterEncoding());
                      logger.error("Logging from doPost, response.getCharacterEncoding(): " + response.getCharacterEncoding());
                      super.doPost(request, response);
                  };
              Code:
              Logging from doPost, getServletConfig().getInitParameter("encoding"): null
              Logging from processRequest, getServletConfig().getInitParameter("encoding"): null
              So no difference here local / remote.

              Comment


                #22
                Hi Isomorphic,

                I compared the headers now, using the original IDACall. They are 1:1 the same (striped times for better comparison):

                Local:
                Code:
                INFO  RequestContext - URL: '/lms/lms/sc/IDACall', User-Agent: 'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0': Moz (Gecko) with Accept-Encoding header
                DEBUG IDACall - Header Name:Value pair: host:localhost
                DEBUG IDACall - Header Name:Value pair: user-agent:Mozilla/5.0 (Windows NT 6.3; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0
                DEBUG IDACall - Header Name:Value pair: accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
                DEBUG IDACall - Header Name:Value pair: Accept-Language:de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
                DEBUG IDACall - Header Name:Value pair: Accept-Encoding:gzip, deflate
                DEBUG IDACall - Header Name:Value pair: DNT:1
                DEBUG IDACall - Header Name:Value pair: content-type:application/x-www-form-urlencoded; charset=UTF-8
                DEBUG IDACall - Header Name:Value pair: referer:http://localhost/lms/Lms.jsp
                DEBUG IDACall - Header Name:Value pair: content-length:1412
                DEBUG IDACall - Header Name:Value pair: cookie:JSESSIONID=<removed>; isc_cState=ready; GLog=%7B%0A%20%20%20%20trackRPC%3Atrue%2C%20%0A%20%20%20%20isc_pageURL%3A%22http%3A//localhost%3A8080/lms/%22%2C%20%0A%20%20%20%20isc_pageGUID%3A%22EACAD9EA-F478-4FB7-A537-B4A829F74479%22%2C%20%0A%20%20%20%20priorityDefaults%3A%7B%0A%20%20%20%20%20%20%20%20sgwtInternal%3A1%2C%20%0A%20%20%20%20%20%20%20%20Log%3A4%0A%20%20%20%20%7D%2C%20%0A%20%20%20%20defaultPriority%3A3%2C%20%0A%20%20%20%20left%3A1935%2C%20%0A%20%20%20%20top%3A471%2C%20%0A%20%20%20%20width%3A1320%2C%20%0A%20%20%20%20height%3A487%0A%7D; _ga=GA1.1.1194399815.1455554184
                DEBUG IDACall - Header Name:Value pair: connection:keep-alive
                DEBUG IDACall - Header Name:Value pair: pragma:no-cache
                DEBUG IDACall - Header Name:Value pair: Cache-Control:no-cache
                DEBUG IDACall - session exists: <removed>
                DEBUG IDACall - remote user: csuperuser
                INFO  RequestContext - URL: '/lms/lms/sc/IDACall', User-Agent: 'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0': Moz (Gecko) with Accept-Encoding header
                DEBUG IDACall - Header Name:Value pair: host:localhost
                DEBUG IDACall - Header Name:Value pair: user-agent:Mozilla/5.0 (Windows NT 6.3; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0
                DEBUG IDACall - Header Name:Value pair: accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
                DEBUG IDACall - Header Name:Value pair: Accept-Language:de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
                DEBUG IDACall - Header Name:Value pair: Accept-Encoding:gzip, deflate
                DEBUG IDACall - Header Name:Value pair: DNT:1
                DEBUG IDACall - Header Name:Value pair: referer:http://localhost/lms/Lms.jsp
                DEBUG IDACall - Header Name:Value pair: cookie:JSESSIONID=<removed>; isc_cState=ready; GLog=%7B%0A%20%20%20%20trackRPC%3Atrue%2C%20%0A%20%20%20%20isc_pageURL%3A%22http%3A//localhost%3A8080/lms/%22%2C%20%0A%20%20%20%20isc_pageGUID%3A%22EACAD9EA-F478-4FB7-A537-B4A829F74479%22%2C%20%0A%20%20%20%20priorityDefaults%3A%7B%0A%20%20%20%20%20%20%20%20sgwtInternal%3A1%2C%20%0A%20%20%20%20%20%20%20%20Log%3A4%0A%20%20%20%20%7D%2C%20%0A%20%20%20%20defaultPriority%3A3%2C%20%0A%20%20%20%20left%3A1935%2C%20%0A%20%20%20%20top%3A471%2C%20%0A%20%20%20%20width%3A1320%2C%20%0A%20%20%20%20height%3A487%0A%7D; _ga=GA1.1.1194399815.1455554184
                DEBUG IDACall - Header Name:Value pair: connection:keep-alive
                DEBUG IDACall - Header Name:Value pair: content-type:multipart/form-data; boundary=---------------------------13665267913188
                DEBUG IDACall - Header Name:Value pair: content-length:1783
                DEBUG IDACall - session exists: <removed>
                DEBUG IDACall - remote user: csuperuser
                Remote:
                Code:
                INFO  RequestContext - URL: '/test/lms/sc/IDACall', User-Agent: 'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0': Moz (Gecko) with Accept-Encoding header
                DEBUG IDACall - Header Name:Value pair: host:test.myserver.com
                DEBUG IDACall - Header Name:Value pair: user-agent:Mozilla/5.0 (Windows NT 6.3; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0
                DEBUG IDACall - Header Name:Value pair: accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
                DEBUG IDACall - Header Name:Value pair: Accept-Language:de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
                DEBUG IDACall - Header Name:Value pair: Accept-Encoding:gzip, deflate
                DEBUG IDACall - Header Name:Value pair: DNT:1
                DEBUG IDACall - Header Name:Value pair: content-type:application/x-www-form-urlencoded; charset=UTF-8
                DEBUG IDACall - Header Name:Value pair: referer:https://test.myserver.com/test/Lms.jsp
                DEBUG IDACall - Header Name:Value pair: content-length:1412
                DEBUG IDACall - Header Name:Value pair: cookie:JSESSIONID=<removed>; _ga=GA1.2.555732576.1455549470; isc_cState=ready; GLog=%7B%0A%20%20%20%20trackRPC%3Afalse%2C%20%0A%20%20%20%20isc_pageURL%3A%22https%3A//test.myserver.com/test/Lms.jsp%22%2C%20%0A%20%20%20%20isc_pageGUID%3A%2249245953-7AF1-4520-B59E-43DD273F0EE7%22%2C%20%0A%20%20%20%20priorityDefaults%3A%7B%0A%20%20%20%20%20%20%20%20sgwtInternal%3A1%0A%20%20%20%20%7D%2C%20%0A%20%20%20%20defaultPriority%3A3%2C%20%0A%20%20%20%20left%3A1927%2C%20%0A%20%20%20%20top%3A14%2C%20%0A%20%20%20%20width%3A1330%2C%20%0A%20%20%20%20height%3A532%0A%7D
                DEBUG IDACall - Header Name:Value pair: connection:keep-alive
                DEBUG IDACall - Header Name:Value pair: pragma:no-cache
                DEBUG IDACall - Header Name:Value pair: Cache-Control:no-cache
                DEBUG IDACall - session exists: <removed>
                DEBUG IDACall - remote user: csuperuser
                INFO  RequestContext - URL: '/test/lms/sc/IDACall', User-Agent: 'Mozilla/5.0 (Windows NT 6.3; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0': Moz (Gecko) with Accept-Encoding header
                DEBUG IDACall - Header Name:Value pair: host:test.myserver.com
                DEBUG IDACall - Header Name:Value pair: user-agent:Mozilla/5.0 (Windows NT 6.3; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0
                DEBUG IDACall - Header Name:Value pair: accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
                DEBUG IDACall - Header Name:Value pair: Accept-Language:de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
                DEBUG IDACall - Header Name:Value pair: Accept-Encoding:gzip, deflate
                DEBUG IDACall - Header Name:Value pair: DNT:1
                DEBUG IDACall - Header Name:Value pair: referer:https://test.myserver.com/test/Lms.jsp
                DEBUG IDACall - Header Name:Value pair: cookie:JSESSIONID=<removed>; _ga=GA1.2.555732576.1455549470; isc_cState=ready; GLog=%7B%0A%20%20%20%20trackRPC%3Afalse%2C%20%0A%20%20%20%20isc_pageURL%3A%22https%3A//test.myserver.com/test/Lms.jsp%22%2C%20%0A%20%20%20%20isc_pageGUID%3A%2249245953-7AF1-4520-B59E-43DD273F0EE7%22%2C%20%0A%20%20%20%20priorityDefaults%3A%7B%0A%20%20%20%20%20%20%20%20sgwtInternal%3A1%0A%20%20%20%20%7D%2C%20%0A%20%20%20%20defaultPriority%3A3%2C%20%0A%20%20%20%20left%3A1927%2C%20%0A%20%20%20%20top%3A14%2C%20%0A%20%20%20%20width%3A1330%2C%20%0A%20%20%20%20height%3A532%0A%7D
                DEBUG IDACall - Header Name:Value pair: connection:keep-alive
                DEBUG IDACall - Header Name:Value pair: content-type:multipart/form-data; boundary=---------------------------103312013811958
                DEBUG IDACall - Header Name:Value pair: content-length:1786
                DEBUG IDACall - session exists: <removed>
                DEBUG IDACall - remote user: csuperuser
                Only difference is the _ga-google Analytics header being present on the server.

                Best regards
                Blama

                Comment


                  #23
                  Hi Isomorphic,

                  does this help?
                  Originally posted by Blama View Post
                  a fileupload (not Batch Upload) request shows the same logging problem (logging "??" instead of the umlauts), but saves the data correctly. Download of the saved file is also working. This is pretty strange.
                  Locally again logging and upload / download work as expected.
                  Is there something happening for file uploads, that is not happening for Batch Uploads?
                  Perhaps related to some change with the new 5.1 DataImport classes? Because it worked before with 5.0p (Unfortunately I can't test this right now because of this issue).

                  Best regards
                  Blama

                  Comment


                    #24
                    We're not sure what part of the file upload has ?? characters - if it's somewhere in the file name that expected because there are special encoding rules. If it's in the binary data that also wouldn't mean anything.

                    Regardless, that's a case that's working in both environments. As far as the case that is working in one of your environments but not the other, it seems that the problem has been conclusively traced to a layer prior to our software, right? So your next step should be to look at settings on your Servlet container.

                    Comment


                      #25
                      Hi Isomorphic,

                      no, it hasn't.
                      1) A few month ago just replacing 5.0p with 5.1d led to the error. I'd like to assure that it now still is working with 5.0p, but the bug from the other thread is stopping me.

                      2) The test with
                      Code:
                      int i = request.getContentLength();
                      Logger logger = new Logger(LMSIDACall.class);
                      if (i > 3000) {
                          String s = IOUtils.toString(((RequestFacade) request).getInputStream());
                          logger.error("Logging from doPost, test umlauts: \"öß\"");
                          logger.error(s);
                      }
                      showed that remote the umlaut data get logged as "??" at a very early stage - also for File Uploads. But in case of a File Upload, the data is stored (and later retrieved) as expected. I uploaded the same .csv file I used for the Batch Uploader.
                      Locally in both cases (File Upload, Batch Upload) there are no "??". See post #20. Binary data works as well in File Upload.

                      As both File Upload / Batch Uploader use the same technique to get data to the server and in one case it is working, my assumption is that somewhere in the File Upload there is "add missing encoding"-code (or sth. related), that isn't there in Batch Uploader. This code is not needed locally, as there there is some (server? JVM?) setting in place leading to everything working as expected. This setting is missing remote, and with 5.1 it gets not default-set as in 5.0, meaning 5.1's default behavior is different to the 5.0 default behavior.

                      If I'm right, the root cause is a different (yet unknown) setting between my local and remote machines. This leads to the bug as the behavior in case this setting is missing changed from 5.0 to 5.1.
                      As written in #23 perhaps this is related to DataImport? There were changes in this area in 5.1, so I wouldn't rule it out from the beginning.

                      I'm happy to provide any log files needed, but if you could search at your side what might have changed this would be great, because I don't know what to try next. I'll also retest with current 5.0 once the solution for the other issue is backported.

                      Best regards
                      Blama

                      Comment


                        #26
                        Is there a difference in the default operating system encoding between the local and remote machines? A difference in how the JVM is launched?

                        Comment


                          #27
                          Hi Isomorphic,

                          kinda great news:
                          I got my local system to behave like the remote system.
                          On Tomcat startup from Eclipse, this is added: -Dfile.encoding=UTF-8

                          This seems to be by default, as it is not listed in Tomcat start options (and is added last):
                          Startup log excerpt:
                          Code:
                          Feb 22, 2016 1:05:33 PM org.apache.catalina.startup.VersionLoggerListener log
                          INFORMATION: Server version:        Apache Tomcat/8.0.30
                          Feb 22, 2016 1:05:33 PM org.apache.catalina.startup.VersionLoggerListener log
                          INFORMATION: Server built:          Dec 1 2015 22:30:46 UTC
                          Feb 22, 2016 1:05:33 PM org.apache.catalina.startup.VersionLoggerListener log
                          INFORMATION: Server number:         8.0.30.0
                          Feb 22, 2016 1:05:33 PM org.apache.catalina.startup.VersionLoggerListener log
                          INFORMATION: OS Name:               Windows 10
                          Feb 22, 2016 1:05:33 PM org.apache.catalina.startup.VersionLoggerListener log
                          INFORMATION: OS Version:            10.0
                          Feb 22, 2016 1:05:33 PM org.apache.catalina.startup.VersionLoggerListener log
                          INFORMATION: Architecture:          amd64
                          Feb 22, 2016 1:05:33 PM org.apache.catalina.startup.VersionLoggerListener log
                          INFORMATION: Java Home:             C:\Program Files\Java\jre1.8.0_65
                          Feb 22, 2016 1:05:33 PM org.apache.catalina.startup.VersionLoggerListener log
                          INFORMATION: JVM Version:           1.8.0_65-b17
                          Feb 22, 2016 1:05:33 PM org.apache.catalina.startup.VersionLoggerListener log
                          INFORMATION: JVM Vendor:            Oracle Corporation
                          Feb 22, 2016 1:05:33 PM org.apache.catalina.startup.VersionLoggerListener log
                          INFORMATION: CATALINA_BASE:         C:\Program Files\Apache Software Foundation\apache-tomcat-8.0.30
                          Feb 22, 2016 1:05:33 PM org.apache.catalina.startup.VersionLoggerListener log
                          INFORMATION: CATALINA_HOME:         C:\Program Files\Apache Software Foundation\apache-tomcat-8.0.30
                          Feb 22, 2016 1:05:33 PM org.apache.catalina.startup.VersionLoggerListener log
                          INFORMATION: Command line argument: -agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:50697
                          Feb 22, 2016 1:05:33 PM org.apache.catalina.startup.VersionLoggerListener log
                          INFORMATION: Command line argument: -Dcatalina.base=C:\Program Files\Apache Software Foundation\apache-tomcat-8.0.30
                          Feb 22, 2016 1:05:33 PM org.apache.catalina.startup.VersionLoggerListener log
                          INFORMATION: Command line argument: -Dcatalina.home=C:\Program Files\Apache Software Foundation\apache-tomcat-8.0.30
                          Feb 22, 2016 1:05:33 PM org.apache.catalina.startup.VersionLoggerListener log
                          INFORMATION: Command line argument: -Dwtp.deploy=C:\Program Files\Apache Software Foundation\apache-tomcat-8.0.30\wtpwebapps
                          Feb 22, 2016 1:05:33 PM org.apache.catalina.startup.VersionLoggerListener log
                          INFORMATION: Command line argument: -Djava.endorsed.dirs=C:\Program Files\Apache Software Foundation\apache-tomcat-8.0.30\endorsed
                          Feb 22, 2016 1:05:33 PM org.apache.catalina.startup.VersionLoggerListener log
                          [B]INFORMATION: Command line argument: -Dfile.encoding=UTF-8[/B]
                          Feb 22, 2016 1:05:33 PM org.apache.catalina.core.AprLifecycleListener lifecycleEvent
                          INFORMATION: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jre1.8.0_65\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:/Program Files/Java/jre1.8.0_65/bin/server;C:/Program Files/Java/jre1.8.0_65/bin;C:/Program Files/Java/jre1.8.0_65/lib/amd64;C:\oraclexe\app\oracle\product\11.2.0\server\bin;C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files\TortoiseGit\bin;C:\Program Files\Git\cmd;C:\oraclexe\instantclient_11_2;C:\eclipse;;.
                          Feb 22, 2016 1:05:33 PM org.apache.coyote.AbstractProtocol init
                          INFORMATION: Initializing ProtocolHandler ["http-nio-8080"]
                          Feb 22, 2016 1:05:33 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
                          INFORMATION: Using a shared selector for servlet write/read
                          Feb 22, 2016 1:05:33 PM org.apache.coyote.AbstractProtocol init
                          INFORMATION: Initializing ProtocolHandler ["ajp-nio-8009"]
                          Feb 22, 2016 1:05:33 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
                          INFORMATION: Using a shared selector for servlet write/read
                          Feb 22, 2016 1:05:33 PM org.apache.catalina.startup.Catalina load
                          INFORMATION: Initialization processed in 471 ms
                          Feb 22, 2016 1:05:33 PM org.apache.catalina.core.StandardService startInternal
                          INFORMATION: Starting service Catalina
                          Feb 22, 2016 1:05:33 PM org.apache.catalina.core.StandardEngine startInternal
                          INFORMATION: Starting Servlet Engine: Apache Tomcat/8.0.30
                          Tomcat Eclipse Configuration: Click image for larger version

Name:	Tomcat_Conf.PNG
Views:	101
Size:	86.7 KB
ID:	235167


                          With an explicit -Dfile.encoding=ISO-8859-1 added there I can see the following problems in the log file when debug-printing the file data "ü" -> "ü" and "ß" -> "Ã".
                          So the umlauts are broken, but in a different way. With US-ASCII I get the ��.

                          But again, like remote, file upload / download is working, Batch Upload is not.
                          I'll have a look how to add the option at startup on my server, but I'm still thinking this could/should be mitigated in SmartGWT as well.
                          Perhaps you are using getBytes() with explicit UTF8 for file upload / download and with default encoding for Batch Upload?

                          Best regards
                          Blama

                          Comment


                            #28
                            Hi Isomorphic,

                            adding
                            Code:
                            export CATALINA_OPTS="$CATALINA_OPTS -Dfile.encoding=UTF-8"
                            to my setenv.sh solved the problem for me with no apparent side issues.

                            So this is fine for me now, even though I still think there is some unwanted difference between 5.0 and 5.1 in BatchUploader.

                            Thank you for your help and best regards
                            Blama

                            Comment

                            Working...
                            X