Announcement

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

    URLEncoder error in ViewFileItem URL

    Hi, I just upgraded from SmartClient Version: v9.1p_2014-08-29/Pro Deployment (built 2014-08-29) to v10.0p_2014-12-27/Pro Deployment (built 2014-12-27)

    After the upgrade all of my ViewFileItems stopped working.

    The ViewFileItems showed images from my database, but all the generated URLs now return a NullPointerException:
    Code:
    java.lang.NullPointerException
     at java.net.URLEncoder.encode(URLEncoder.java:205)
     at com.isomorphic.rpc.RPCManager.encodeURIComponent(RPCManager.java:2006)
     at com.isomorphic.rpc.RPCManager.encodeFilename(RPCManager.java:2071)
     at com.isomorphic.rpc.RPCManager.setContentDispositionHeader(RPCManager.java:2052)
     at com.isomorphic.rpc.RPCManager.completeResponse(RPCManager.java:908)
     at com.isomorphic.rpc.RPCManager.send(RPCManager.java:648)
     at com.isomorphic.servlet.IDACall.processRPCTransaction(IDACall.java:178)
     at com.isomorphic.servlet.IDACall.processRequest(IDACall.java:142)
     at com.isomorphic.servlet.IDACall.doGet(IDACall.java:84)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:668)
     at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:156)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:770)
     at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686)
     at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:501)
     at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
     at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)
     at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
     at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
     at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
     at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
     at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
     at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
     at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
     at org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:68)
     at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
     at org.eclipse.jetty.server.Server.handle(Server.java:370)
     at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
     at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:949)
     at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1011)
     at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)
     at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
     at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
     at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)
     at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
     at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
     at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
    Here is an example of a genereted URL (not sure if you can use this):
    Code:
    http://127.0.0.1:8888/forecast/sc/IDACall?isc_rpc=1&isc_v=v10.0p_2014-12-27&isc_tnum=20&_transaction=%3Ctransaction%20xmlns%3Axsi%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2F10%2FXMLSchema-instance%22%20xsi%3Atype%3D%22xsd%3AObject%22%3E%3CtransactionNum%20xsi%3Atype%3D%22xsd%3Along%22%3E20%3C%2FtransactionNum%3E%3Coperations%20xsi%3Atype%3D%22xsd%3AList%22%3E%3Celem%20xsi%3Atype%3D%22xsd%3AObject%22%3E%3Ccriteria%20xsi%3Atype%3D%22xsd%3AObject%22%3E%3CsessionId%3Ea0491ad3-a698-42c0-9488-e0afce6dca66%3C%2FsessionId%3E%3Cid%20xsi%3Atype%3D%22xsd%3Along%22%3E22%3C%2Fid%3E%3Cdownload_fieldname%3Efile%3C%2Fdownload_fieldname%3E%3C%2Fcriteria%3E%3CoperationConfig%20xsi%3Atype%3D%22xsd%3AObject%22%3E%3CdataSource%3Euser_profilePicture%3C%2FdataSource%3E%3CoperationType%3EviewFile%3C%2FoperationType%3E%3CtextMatchStyle%3Eexact%3C%2FtextMatchStyle%3E%3C%2FoperationConfig%3E%3CappID%3EbuiltinApplication%3C%2FappID%3E%3Coperation%3Euser_profilePicture_viewFile%3C%2Foperation%3E%3ColdValues%20xsi%3Atype%3D%22xsd%3AObject%22%3E%3CsessionId%3Ea0491ad3-a698-42c0-9488-e0afce6dca66%3C%2FsessionId%3E%3Cid%20xsi%3Atype%3D%22xsd%3Along%22%3E22%3C%2Fid%3E%3Cdownload_fieldname%3Efile%3C%2Fdownload_fieldname%3E%3C%2FoldValues%3E%3C%2Felem%3E%3C%2Foperations%3E%3C%2Ftransaction%3E
    Has anything been changed between the 2 versions in regards to ViewFileItems that I should be aware of?

    #2
    There was a change to filename management in October - this affected 9.1 as well as 10.0, but your 9.1 build is from August.

    Try setting the server.properties attribute RPCManager.downloadsRelyOnFilenameInURL to false - if that doesn't fix your problem, please show some code that demonstrates the issue, along with the details of a record from your database - in particular, the value of the filename on the record. Also, are you seeing this in multiple browsers?
    Last edited by Isomorphic; 30 Dec 2014, 06:02.

    Comment


      #3
      Actually, we see the issue (when the filename is null) and it's been fixed for builds dated December 31 and later.

      Comment

      Working...
      X