Announcement

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

    #16
    Thank for you finally supplying the version. However, if you just follow the instructions in the text you have to delete every time you post, there's an easy place to just copy and paste the version info from.

    Also, there is no previous post from you with the basic information you need to provide before an issue can be looked into. There are some posts from some other user who was doing something different on an older version and was badly confused about a number of things - these aren't relevant.

    Comment


      #17
      As an aside, if you look at other threads in this forum, you will notice that when all the required information is provided, the next response from Isomorphic is generally a solution - whether a bugfix, usage correction, or something else.

      So please just provide the required information, which takes only seconds. There's a lot of rich information in the logs, RPC tab info, etc which tells us things that will not be obvious to you.

      So rather than second-guessing Support and starting an escalation process, just provide the required information, which takes much less time and actually leads to resolution.

      Comment


        #18
        Sorry for second-guessing the support. I saw the user who created this post initially has provided everything as requested but still didn't get a solution. In addition to that, I didn't feel comfortable to provide the information as requested in this forum. That's why I thought to go through other channels.

        In any case, I'm in the process of rebuilding RestfulDataSourceSample program with httpProxy enabled with SmartGWT Power edition (which we purchased the support contract for). I used SmartGWT EE showcase project because it can be imported directly into eclipse and has a showcase example (RssSample.java) that uses httpProxy.

        I'll post the detailed information once I get something working.

        In the meanwhile, if you could let me know if sending a POST request through httpProxy is supported by SmartGWT, then that response alone would be very helpful. I couldn't get that out of the responses to the initial post.

        Thanks.

        Comment


          #19
          Of course POSTs are supported. There are examples of contacting WSDL services right in the SDK, and that's necessarily all POST.

          What you're doing right now is another waste of time, unfortunately. If you can just post the required information from your tests with the EE Showcase, not only is that perfectly valid, but there's no possible way your organization could be worried about you posting information from a modified *product sample*.

          Comment


            #20
            Good to know POSTs through httpProxy are supported.
            I'm working on adding a simple showcase program to use RestDataSource and some sample json data set to demonstrate the problem. I will post the information that you have requested once I got the sample program working.

            Thanks.

            Comment


              #21
              Here are the information that you have requested. Thanks.

              1. the *complete* SmartGWT or SmartClient version from the lower left-hand corner of the Developer Console (see FAQ for how to open Developer Console), for example, \"v8.2p_2012-04-18/PowerEdition Deployment\"

              SmartClient Version: v9.0p_2014-01-09/EVAL Deployment (expires 2014.03.10_09.41.58) Licensed to: Isomorphic Software (#ISC_EVAL_NIGHTLY)

              2. browser(s) and version(s) involved

              Firefox 19.0.2

              3. for a server-side problem, the *complete* logs generated during processing of the failing request (do *not* trim to just the error message)

              === 2014-02-19 02:12:34,034 [l0-6] INFO RequestContext - URL: '/showcase/sc/IDACall', User-Agent: 'Mozilla/5.0 (X11; Linux x86_64; rv:10.0.12) Gecko/20130110 Firefox/10.0.12': Moz (Gecko) with Accept-Encoding header
              === 2014-02-19 02:12:34,039 [l0-6] DEBUG IDACall - Header Name:Value pair: Host:127.0.0.1:8888
              === 2014-02-19 02:12:34,039 [l0-6] DEBUG IDACall - Header Name:Value pair: User-Agent:Mozilla/5.0 (X11; Linux x86_64; rv:10.0.12) Gecko/20130110 Firefox/10.0.12
              === 2014-02-19 02:12:34,040 [l0-6] DEBUG IDACall - Header Name:Value pair: Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
              === 2014-02-19 02:12:34,040 [l0-6] DEBUG IDACall - Header Name:Value pair: Accept-Language:en-us,en;q=0.5
              === 2014-02-19 02:12:34,040 [l0-6] DEBUG IDACall - Header Name:Value pair: Accept-Encoding:gzip, deflate
              === 2014-02-19 02:12:34,040 [l0-6] DEBUG IDACall - Header Name:Value pair: Connection:keep-alive
              === 2014-02-19 02:12:34,040 [l0-6] DEBUG IDACall - Header Name:Value pair: Cookie:GLog=%7B%0D%20%20%20%20left%3A0%2C%20%0D%20%20%20%20top%3A146%2C%20%0D%20%20%20%20width%3A1910%2C%20%0D%20%20%20%20height%3A738%2C%20%0D%20%20%20%20priorityDefaults%3A%7B%0D%20%20%20%20%20%20%20%20Log%3A4%0D%20%20%20%20%7D%2C%20%0D%20%20%20%20defaultPriority%3A3%2C%20%0D%20%20%20%20trackRPC%3Atrue%0D%7D; isc_cState=ready; JSESSIONID=1ej57vb60s2qt
              === 2014-02-19 02:12:34,040 [l0-6] DEBUG IDACall - Header Name:Value pair: Referer:http://127.0.0.1:8888/showcase/sc/system/helpers/Log.html
              === 2014-02-19 02:12:34,040 [l0-6] DEBUG IDACall - Header Name:Value pair: Content-Type:application/x-www-form-urlencoded; charset=UTF-8
              === 2014-02-19 02:12:34,040 [l0-6] DEBUG IDACall - Header Name:Value pair: Content-Length:677
              === 2014-02-19 02:12:34,040 [l0-6] DEBUG IDACall - Header Name:Value pair: Pragma:no-cache
              === 2014-02-19 02:12:34,040 [l0-6] DEBUG IDACall - Header Name:Value pair: Cache-Control:no-cache
              === 2014-02-19 02:12:34,040 [l0-6] DEBUG IDACall - session exists: 1ej57vb60s2qt
              === 2014-02-19 02:12:34,040 [l0-6] DEBUG IDACall - remote user: null
              === 2014-02-19 02:12:34,046 [l0-6] DEBUG XML - Parsed XML from (in memory stream): 1ms
              === 2014-02-19 02:12:34,047 [l0-6] DEBUG XML - Parsed XML from /usr/local/mshen/smartgwtee-4.0p/samples/showcase/war/showcase/sc/system/schema/List.ds.xml: 0ms
              === 2014-02-19 02:12:34,049 [l0-6] DEBUG RPCManager - Processing 1 requests.
              === 2014-02-19 02:12:34,049 [l0-6] DEBUG RPCManager - Request #1 (RPCRequest) data: {
              appID:"isc_builtin",
              className:"builtin",
              methodName:"getAvailableScriptEngines",
              arguments:[
              ],
              is_ISC_RPC_DMI:true
              }
              === 2014-02-19 02:12:34,049 [l0-6] INFO IDACall - Performing 1 operation(s)
              === 2014-02-19 02:12:34,055 [l0-6] DEBUG XML - Parsed XML from jar:file:/usr/local/mshen/smartgwtee-4.0p/samples/showcase/war/WEB-INF/lib/isomorphic_core_rpc.jar!/isc_builtin.app.xml: 2ms
              === 2014-02-19 02:12:34,056 [l0-6] DEBUG XML - Parsed XML from /usr/local/mshen/smartgwtee-4.0p/samples/showcase/war/showcase/sc/system/schema/Application.ds.xml: 1ms
              === 2014-02-19 02:12:34,058 [l0-6] DEBUG XML - Parsed XML from /usr/local/mshen/smartgwtee-4.0p/samples/showcase/war/showcase/sc/system/schema/Method.ds.xml: 1ms
              === 2014-02-19 02:12:34,062 [l0-6] DEBUG RPCDMI - appConfig: isc.Application.create({
              rpcBindings:[
              {
              ID:"builtin",
              className:"com.isomorphic.rpc.BuiltinRPC",
              visibleMethods:[
              {
              name:"downloadWSDL"
              },
              {
              name:"downloadClientContent"
              },
              {
              name:"downloadClientExport"
              },
              {
              name:"xmlToJS"
              },
              {
              name:"uploadProgressCheck"
              },
              {
              name:"saveFile"
              },
              {
              name:"appendToFile"
              },
              {
              name:"loadFile"
              },
              {
              name:"deleteFile"
              },
              {
              name:"loadSharedXML"
              },
              {
              name:"saveSharedXML"
              },
              {
              name:"getAvailableScriptEngines"
              },
              {
              name:"devConsoleEvalServerScript"
              },
              {
              name:"evalJava"
              },
              {
              name:"getLogNames"
              },
              {
              name:"getLogEntries"
              },
              {
              name:"getLogThresholds"
              },
              {
              name:"setLogThreshold"
              },
              {
              name:"getPdfObject"
              },
              {
              name:"exportImage"
              },
              {
              name:"areServerTimingsTracked"
              },
              {
              name:"trackServerTimings"
              }
              ]
              },
              {
              ID:"builtin_tools",
              className:"com.isomorphic.tools.BuiltinRPC",
              visibleMethods:[
              {
              name:"getDataSourceFromTable"
              },
              {
              name:"getDataSourceJSONFromTable"
              },
              {
              name:"getDataSourceFromHibernateMapping"
              },
              {
              name:"getDataSourceJSONFromHibernateMapping"
              },
              {
              name:"getTables"
              },
              {
              name:"getFieldsFromTable"
              },
              {
              name:"getBeanFields"
              },
              {
              name:"getHibernateBeans"
              },
              {
              name:"getDatabaseProductNameAndVersion"
              },
              {
              name:"getDatabaseTableTypes"
              },
              {
              name:"setAttributes"
              },
              {
              name:"clearAttributes"
              },
              {
              name:"getAttributes"
              },
              {
              name:"getAttribute"
              },
              {
              name:"getDataSourceConfigFromJavaClass"
              },
              {
              args:"cName",
              language:"groovy",
              name:"getJavaSource",
              script:"\n if (!com.isomorphic.auth.DevModeAuthFilter.devModeAuthorized(request)) throw new Exception(\"Not Authorized\"); \n //import org.apache.bcel.Repository;\n\n try {\n return org.apache.bcel.Repository.lookupClass(cName).toString();\n } catch (Throwable e) {\n return \"Unable to reverse engineer class \"+cName+\": \"+e.getMessage();\n }\n "
              },
              {
              name:"loadDataSource"
              },
              {
              name:"dsFromXML"
              },
              {
              name:"dsConfigFromXML"
              },
              {
              name:"getDefinedDataSources"
              }
              ]
              },
              {
              ID:"builtin_adminconsole",
              className:"com.isomorphic.tools.AdminConsole",
              visibleMethods:[
              {
              name:"getDefinedDatabases"
              },
              {
              name:"testDB"
              },
              {
              name:"saveDBConfig"
              },
              {
              name:"setDefaultDB"
              },
              {
              name:"importDataSources"
              },
              {
              name:"discoverJNDIDatabases"
              }
              ]
              }
              ]
              })

              === 2014-02-19 02:12:34,062 [l0-6] WARN RequestContext - rpcRequest.execute() failed:
              === 2014-02-19 02:12:34,068 [l0-6] DEBUG RPCManager - Content type for RPC transaction: text/plain; charset=UTF-8
              === 2014-02-19 02:12:34,069 [l0-6] INFO Compression - /showcase/sc/IDACall: 285 -> 218 bytes
              === 2014-02-19 02:12:38,050 [l0-6] INFO RequestContext - URL: '/showcase/sc/IDACall', User-Agent: 'Mozilla/5.0 (X11; Linux x86_64; rv:10.0.12) Gecko/20130110 Firefox/10.0.12': Moz (Gecko) with Accept-Encoding header
              === 2014-02-19 02:12:38,058 [l0-6] INFO Compression - /showcase/sc/IDACall: 81 -> 86 bytes
              === 2014-02-19 02:12:38,202 [l0-6] INFO RequestContext - URL: '/showcase/sc/IDACall', User-Agent: 'Mozilla/5.0 (X11; Linux x86_64; rv:10.0.12) Gecko/20130110 Firefox/10.0.12': Moz (Gecko) with Accept-Encoding header
              === 2014-02-19 02:12:38,221 [l0-6] INFO Compression - /showcase/sc/IDACall: 118942 -> 7600 bytes
              === 2014-02-19 02:13:09,306 [l0-6] INFO RequestContext - URL: '/showcase/sc/IDACall', User-Agent: 'Mozilla/5.0 (X11; Linux x86_64; rv:10.0.12) Gecko/20130110 Firefox/10.0.12': Moz (Gecko) with Accept-Encoding header
              === 2014-02-19 02:13:09,325 [l0-6] INFO Compression - /showcase/sc/IDACall: 118895 -> 7614 bytes
              === 2014-02-19 02:15:55,370 [l0-5] INFO RequestContext - URL: '/showcase/sc/IDACall', User-Agent: 'Mozilla/5.0 (X11; Linux x86_64; rv:10.0.12) Gecko/20130110 Firefox/10.0.12': Moz (Gecko) with Accept-Encoding header
              === 2014-02-19 02:15:55,371 [l0-5] DEBUG IDACall - Header Name:Value pair: Host:127.0.0.1:8888
              === 2014-02-19 02:15:55,371 [l0-5] DEBUG IDACall - Header Name:Value pair: User-Agent:Mozilla/5.0 (X11; Linux x86_64; rv:10.0.12) Gecko/20130110 Firefox/10.0.12
              === 2014-02-19 02:15:55,371 [l0-5] DEBUG IDACall - Header Name:Value pair: Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
              === 2014-02-19 02:15:55,371 [l0-5] DEBUG IDACall - Header Name:Value pair: Accept-Language:en-us,en;q=0.5
              === 2014-02-19 02:15:55,371 [l0-5] DEBUG IDACall - Header Name:Value pair: Accept-Encoding:gzip, deflate
              === 2014-02-19 02:15:55,371 [l0-5] DEBUG IDACall - Header Name:Value pair: Connection:keep-alive
              === 2014-02-19 02:15:55,371 [l0-5] DEBUG IDACall - Header Name:Value pair: Content-Type:application/x-www-form-urlencoded; charset=UTF-8
              === 2014-02-19 02:15:55,371 [l0-5] DEBUG IDACall - Header Name:Value pair: Referer:http://127.0.0.1:8888/showcase/sc/system/helpers/Log.html
              === 2014-02-19 02:15:55,371 [l0-5] DEBUG IDACall - Header Name:Value pair: Content-Length:675
              === 2014-02-19 02:15:55,371 [l0-5] DEBUG IDACall - Header Name:Value pair: Cookie:GLog=%7B%0D%20%20%20%20left%3A0%2C%20%0D%20%20%20%20top%3A146%2C%20%0D%20%20%20%20width%3A1910%2C%20%0D%20%20%20%20height%3A738%2C%20%0D%20%20%20%20priorityDefaults%3A%7B%0D%20%20%20%20%20%20%20%20Log%3A4%0D%20%20%20%20%7D%2C%20%0D%20%20%20%20defaultPriority%3A3%2C%20%0D%20%20%20%20trackRPC%3Atrue%0D%7D; isc_cState=ready; JSESSIONID=1ej57vb60s2qt
              === 2014-02-19 02:15:55,371 [l0-5] DEBUG IDACall - Header Name:Value pair: Pragma:no-cache
              === 2014-02-19 02:15:55,371 [l0-5] DEBUG IDACall - Header Name:Value pair: Cache-Control:no-cache
              === 2014-02-19 02:15:55,371 [l0-5] DEBUG IDACall - session exists: 1ej57vb60s2qt
              === 2014-02-19 02:15:55,372 [l0-5] DEBUG IDACall - remote user: null
              === 2014-02-19 02:15:55,377 [l0-5] DEBUG XML - Parsed XML from (in memory stream): 4ms
              === 2014-02-19 02:15:55,382 [l0-5] DEBUG RPCManager - Processing 1 requests.
              === 2014-02-19 02:15:55,382 [l0-5] DEBUG RPCManager - Request #1 (RPCRequest) data: {
              appID:"isc_builtin",
              className:"builtin",
              methodName:"areServerTimingsTracked",
              arguments:[
              ],
              is_ISC_RPC_DMI:true
              }
              === 2014-02-19 02:15:55,382 [l0-5] INFO IDACall - Performing 1 operation(s)
              === 2014-02-19 02:15:55,383 [l0-5] DEBUG RPCDMI - appConfig: isc.Application.create({
              rpcBindings:[
              {
              ID:"builtin",
              className:"com.isomorphic.rpc.BuiltinRPC",
              visibleMethods:[
              {
              name:"downloadWSDL"
              },
              {
              name:"downloadClientContent"
              },
              {
              name:"downloadClientExport"
              },
              {
              name:"xmlToJS"
              },
              {
              name:"uploadProgressCheck"
              },
              {
              name:"saveFile"
              },
              {
              name:"appendToFile"
              },
              {
              name:"loadFile"
              },
              {
              name:"deleteFile"
              },
              {
              name:"loadSharedXML"
              },
              {
              name:"saveSharedXML"
              },
              {
              name:"getAvailableScriptEngines"
              },
              {
              name:"devConsoleEvalServerScript"
              },
              {
              name:"evalJava"
              },
              {
              name:"getLogNames"
              },
              {
              name:"getLogEntries"
              },
              {
              name:"getLogThresholds"
              },
              {
              name:"setLogThreshold"
              },
              {
              name:"getPdfObject"
              },
              {
              name:"exportImage"
              },
              {
              name:"areServerTimingsTracked"
              },
              {
              name:"trackServerTimings"
              }
              ]
              },
              {
              ID:"builtin_tools",
              className:"com.isomorphic.tools.BuiltinRPC",
              visibleMethods:[
              {
              name:"getDataSourceFromTable"
              },
              {
              name:"getDataSourceJSONFromTable"
              },
              {
              name:"getDataSourceFromHibernateMapping"
              },
              {
              name:"getDataSourceJSONFromHibernateMapping"
              },
              {
              name:"getTables"
              },
              {
              name:"getFieldsFromTable"
              },
              {
              name:"getBeanFields"
              },
              {
              name:"getHibernateBeans"
              },
              {
              name:"getDatabaseProductNameAndVersion"
              },
              {
              name:"getDatabaseTableTypes"
              },
              {
              name:"setAttributes"
              },
              {
              name:"clearAttributes"
              },
              {
              name:"getAttributes"
              },
              {
              name:"getAttribute"
              },
              {
              name:"getDataSourceConfigFromJavaClass"
              },
              {
              args:"cName",
              language:"groovy",
              name:"getJavaSource",
              script:"\n if (!com.isomorphic.auth.DevModeAuthFilter.devModeAuthorized(request)) throw new Exception(\"Not Authorized\"); \n //import org.apache.bcel.Repository;\n\n try {\n return org.apache.bcel.Repository.lookupClass(cName).toString();\n } catch (Throwable e) {\n return \"Unable to reverse engineer class \"+cName+\": \"+e.getMessage();\n }\n "
              },
              {
              name:"loadDataSource"
              },
              {
              name:"dsFromXML"
              },
              {
              name:"dsConfigFromXML"
              },
              {
              name:"getDefinedDataSources"
              }
              ]
              },
              {
              ID:"builtin_adminconsole",
              className:"com.isomorphic.tools.AdminConsole",
              visibleMethods:[
              {
              name:"getDefinedDatabases"
              },
              {
              name:"testDB"
              },
              {
              name:"saveDBConfig"
              },
              {
              name:"setDefaultDB"
              },
              {
              name:"importDataSources"
              },
              {
              name:"discoverJNDIDatabases"
              }
              ]
              }
              ]
              })

              === 2014-02-19 02:15:55,384 [l0-5] WARN RequestContext - rpcRequest.execute() failed:
              === 2014-02-19 02:15:55,384 [l0-5] DEBUG RPCManager - Content type for RPC transaction: text/plain; charset=UTF-8
              === 2014-02-19 02:15:55,385 [l0-5] INFO Compression - /showcase/sc/IDACall: 283 -> 216 bytes
              === 2014-02-19 02:16:26,476 [l0-5] INFO RequestContext - URL: '/showcase/sc/IDACall', User-Agent: 'Mozilla/5.0 (X11; Linux x86_64; rv:10.0.12) Gecko/20130110 Firefox/10.0.12': Moz (Gecko) with Accept-Encoding header
              === 2014-02-19 02:16:26,476 [l0-5] DEBUG IDACall - Header Name:Value pair: Host:127.0.0.1:8888
              === 2014-02-19 02:16:26,476 [l0-5] DEBUG IDACall - Header Name:Value pair: User-Agent:Mozilla/5.0 (X11; Linux x86_64; rv:10.0.12) Gecko/20130110 Firefox/10.0.12
              === 2014-02-19 02:16:26,476 [l0-5] DEBUG IDACall - Header Name:Value pair: Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
              === 2014-02-19 02:16:26,476 [l0-5] DEBUG IDACall - Header Name:Value pair: Accept-Language:en-us,en;q=0.5
              === 2014-02-19 02:16:26,476 [l0-5] DEBUG IDACall - Header Name:Value pair: Accept-Encoding:gzip, deflate
              === 2014-02-19 02:16:26,476 [l0-5] DEBUG IDACall - Header Name:Value pair: Connection:keep-alive
              === 2014-02-19 02:16:26,476 [l0-5] DEBUG IDACall - Header Name:Value pair: Content-Type:application/x-www-form-urlencoded; charset=UTF-8
              === 2014-02-19 02:16:26,476 [l0-5] DEBUG IDACall - Header Name:Value pair: Referer:http://127.0.0.1:8888/showcase/sc/system/helpers/Log.html
              === 2014-02-19 02:16:26,476 [l0-5] DEBUG IDACall - Header Name:Value pair: Content-Length:677
              === 2014-02-19 02:16:26,477 [l0-5] DEBUG IDACall - Header Name:Value pair: Cookie:GLog=%7B%0D%20%20%20%20left%3A0%2C%20%0D%20%20%20%20top%3A146%2C%20%0D%20%20%20%20width%3A1910%2C%20%0D%20%20%20%20height%3A738%2C%20%0D%20%20%20%20priorityDefaults%3A%7B%0D%20%20%20%20%20%20%20%20Log%3A4%0D%20%20%20%20%7D%2C%20%0D%20%20%20%20defaultPriority%3A3%2C%20%0D%20%20%20%20trackRPC%3Atrue%0D%7D; isc_cState=ready; JSESSIONID=1ej57vb60s2qt
              === 2014-02-19 02:16:26,477 [l0-5] DEBUG IDACall - Header Name:Value pair: Pragma:no-cache
              === 2014-02-19 02:16:26,477 [l0-5] DEBUG IDACall - Header Name:Value pair: Cache-Control:no-cache
              === 2014-02-19 02:16:26,477 [l0-5] DEBUG IDACall - session exists: 1ej57vb60s2qt
              === 2014-02-19 02:16:26,477 [l0-5] DEBUG IDACall - remote user: null
              === 2014-02-19 02:16:26,479 [l0-5] DEBUG XML - Parsed XML from (in memory stream): 1ms
              === 2014-02-19 02:16:26,480 [l0-5] DEBUG RPCManager - Processing 1 requests.
              === 2014-02-19 02:16:26,480 [l0-5] DEBUG RPCManager - Request #1 (RPCRequest) data: {
              appID:"isc_builtin",
              className:"builtin",
              methodName:"getAvailableScriptEngines",
              arguments:[
              ],
              is_ISC_RPC_DMI:true
              }
              === 2014-02-19 02:16:26,480 [l0-5] INFO IDACall - Performing 1 operation(s)
              === 2014-02-19 02:16:26,481 [l0-5] DEBUG RPCDMI - appConfig: isc.Application.create({
              rpcBindings:[
              {
              ID:"builtin",
              className:"com.isomorphic.rpc.BuiltinRPC",
              visibleMethods:[
              {
              name:"downloadWSDL"
              },
              {
              name:"downloadClientContent"
              },
              {
              name:"downloadClientExport"
              },
              {
              name:"xmlToJS"
              },
              {
              name:"uploadProgressCheck"
              },
              {
              name:"saveFile"
              },
              {
              name:"appendToFile"
              },
              {
              name:"loadFile"
              },
              {
              name:"deleteFile"
              },
              {
              name:"loadSharedXML"
              },
              {
              name:"saveSharedXML"
              },
              {
              name:"getAvailableScriptEngines"
              },
              {
              name:"devConsoleEvalServerScript"
              },
              {
              name:"evalJava"
              },
              {
              name:"getLogNames"
              },
              {
              name:"getLogEntries"
              },
              {
              name:"getLogThresholds"
              },
              {
              name:"setLogThreshold"
              },
              {
              name:"getPdfObject"
              },
              {
              name:"exportImage"
              },
              {
              name:"areServerTimingsTracked"
              },
              {
              name:"trackServerTimings"
              }
              ]
              },
              {
              ID:"builtin_tools",
              className:"com.isomorphic.tools.BuiltinRPC",
              visibleMethods:[
              {
              name:"getDataSourceFromTable"
              },
              {
              name:"getDataSourceJSONFromTable"
              },
              {
              name:"getDataSourceFromHibernateMapping"
              },
              {
              name:"getDataSourceJSONFromHibernateMapping"
              },
              {
              name:"getTables"
              },
              {
              name:"getFieldsFromTable"
              },
              {
              name:"getBeanFields"
              },
              {
              name:"getHibernateBeans"
              },
              {
              name:"getDatabaseProductNameAndVersion"
              },
              {
              name:"getDatabaseTableTypes"
              },
              {
              name:"setAttributes"
              },
              {
              name:"clearAttributes"
              },
              {
              name:"getAttributes"
              },
              {
              name:"getAttribute"
              },
              {
              name:"getDataSourceConfigFromJavaClass"
              },
              {
              args:"cName",
              language:"groovy",
              name:"getJavaSource",
              script:"\n if (!com.isomorphic.auth.DevModeAuthFilter.devModeAuthorized(request)) throw new Exception(\"Not Authorized\"); \n //import org.apache.bcel.Repository;\n\n try {\n return org.apache.bcel.Repository.lookupClass(cName).toString();\n } catch (Throwable e) {\n return \"Unable to reverse engineer class \"+cName+\": \"+e.getMessage();\n }\n "
              },
              {
              name:"loadDataSource"
              },
              {
              name:"dsFromXML"
              },
              {
              name:"dsConfigFromXML"
              },
              {
              name:"getDefinedDataSources"
              }
              ]
              },
              {
              ID:"builtin_adminconsole",
              className:"com.isomorphic.tools.AdminConsole",
              visibleMethods:[
              {
              name:"getDefinedDatabases"
              },
              {
              name:"testDB"
              },
              {
              name:"saveDBConfig"
              },
              {
              name:"setDefaultDB"
              },
              {
              name:"importDataSources"
              },
              {
              name:"discoverJNDIDatabases"
              }
              ]
              }
              ]
              })

              === 2014-02-19 02:16:26,481 [l0-5] WARN RequestContext - rpcRequest.execute() failed:
              === 2014-02-19 02:16:26,481 [l0-5] DEBUG RPCManager - Content type for RPC transaction: text/plain; charset=UTF-8
              === 2014-02-19 02:16:26,482 [l0-5] INFO Compression - /showcase/sc/IDACall: 285 -> 218 bytes
              === 2014-02-19 02:17:00,422 [l0-5] INFO RequestContext - URL: '/showcase/sc/IDACall', User-Agent: 'Mozilla/5.0 (X11; Linux x86_64; rv:10.0.12) Gecko/20130110 Firefox/10.0.12': Moz (Gecko) with Accept-Encoding header
              === 2014-02-19 02:17:00,430 [l0-5] INFO Compression - /showcase/sc/IDACall: 81 -> 86 bytes
              === 2014-02-19 02:17:00,722 [l0-5] INFO RequestContext - URL: '/showcase/sc/IDACall', User-Agent: 'Mozilla/5.0 (X11; Linux x86_64; rv:10.0.12) Gecko/20130110 Firefox/10.0.12': Moz (Gecko) with Accept-Encoding header
              === 2014-02-19 02:17:00,736 [l0-5] INFO Compression - /showcase/sc/IDACall: 129012 -> 7584 bytes
              === 2014-02-19 02:17:00,883 [l0-5] INFO RequestContext - URL: '/showcase/sc/IDACall', User-Agent: 'Mozilla/5.0 (X11; Linux x86_64; rv:10.0.12) Gecko/20130110 Firefox/10.0.12': Moz (Gecko) with Accept-Encoding header
              === 2014-02-19 02:17:00,883 [l0-5] DEBUG IDACall - Header Name:Value pair: Host:127.0.0.1:8888
              === 2014-02-19 02:17:00,883 [l0-5] DEBUG IDACall - Header Name:Value pair: User-Agent:Mozilla/5.0 (X11; Linux x86_64; rv:10.0.12) Gecko/20130110 Firefox/10.0.12
              === 2014-02-19 02:17:00,883 [l0-5] DEBUG IDACall - Header Name:Value pair: Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
              === 2014-02-19 02:17:00,883 [l0-5] DEBUG IDACall - Header Name:Value pair: Accept-Language:en-us,en;q=0.5
              === 2014-02-19 02:17:00,883 [l0-5] DEBUG IDACall - Header Name:Value pair: Accept-Encoding:gzip, deflate
              === 2014-02-19 02:17:00,883 [l0-5] DEBUG IDACall - Header Name:Value pair: Connection:keep-alive
              === 2014-02-19 02:17:00,883 [l0-5] DEBUG IDACall - Header Name:Value pair: Content-Type:application/x-www-form-urlencoded; charset=UTF-8
              === 2014-02-19 02:17:00,883 [l0-5] DEBUG IDACall - Header Name:Value pair: Referer:http://127.0.0.1:8888/showcase/sc/system/helpers/Log.html
              === 2014-02-19 02:17:00,883 [l0-5] DEBUG IDACall - Header Name:Value pair: Content-Length:675
              === 2014-02-19 02:17:00,883 [l0-5] DEBUG IDACall - Header Name:Value pair: Cookie:GLog=%7B%0D%20%20%20%20left%3A0%2C%20%0D%20%20%20%20top%3A146%2C%20%0D%20%20%20%20width%3A1910%2C%20%0D%20%20%20%20height%3A738%2C%20%0D%20%20%20%20priorityDefaults%3A%7B%0D%20%20%20%20%20%20%20%20Log%3A4%0D%20%20%20%20%7D%2C%20%0D%20%20%20%20defaultPriority%3A3%2C%20%0D%20%20%20%20trackRPC%3Atrue%0D%7D; isc_cState=ready; JSESSIONID=1ej57vb60s2qt
              === 2014-02-19 02:17:00,883 [l0-5] DEBUG IDACall - Header Name:Value pair: Pragma:no-cache
              === 2014-02-19 02:17:00,883 [l0-5] DEBUG IDACall - Header Name:Value pair: Cache-Control:no-cache
              === 2014-02-19 02:17:00,883 [l0-5] DEBUG IDACall - session exists: 1ej57vb60s2qt
              === 2014-02-19 02:17:00,883 [l0-5] DEBUG IDACall - remote user: null
              === 2014-02-19 02:17:00,885 [l0-5] DEBUG XML - Parsed XML from (in memory stream): 1ms
              === 2014-02-19 02:17:00,886 [l0-5] DEBUG RPCManager - Processing 1 requests.
              === 2014-02-19 02:17:00,887 [l0-5] DEBUG RPCManager - Request #1 (RPCRequest) data: {
              appID:"isc_builtin",
              className:"builtin",
              methodName:"areServerTimingsTracked",
              arguments:[
              ],
              is_ISC_RPC_DMI:true
              }
              === 2014-02-19 02:17:00,887 [l0-5] INFO IDACall - Performing 1 operation(s)
              === 2014-02-19 02:17:00,887 [l0-5] DEBUG RPCDMI - appConfig: isc.Application.create({
              rpcBindings:[
              {
              ID:"builtin",
              className:"com.isomorphic.rpc.BuiltinRPC",
              visibleMethods:[
              {
              name:"downloadWSDL"
              },
              {
              name:"downloadClientContent"
              },
              {
              name:"downloadClientExport"
              },
              {
              name:"xmlToJS"
              },
              {
              name:"uploadProgressCheck"
              },
              {
              name:"saveFile"
              },
              {
              name:"appendToFile"
              },
              {
              name:"loadFile"
              },
              {
              name:"deleteFile"
              },
              {
              name:"loadSharedXML"
              },
              {
              name:"saveSharedXML"
              },
              {
              name:"getAvailableScriptEngines"
              },
              {
              name:"devConsoleEvalServerScript"
              },
              {
              name:"evalJava"
              },
              {
              name:"getLogNames"
              },
              {
              name:"getLogEntries"
              },
              {
              name:"getLogThresholds"
              },
              {
              name:"setLogThreshold"
              },
              {
              name:"getPdfObject"
              },
              {
              name:"exportImage"
              },
              {
              name:"areServerTimingsTracked"
              },
              {
              name:"trackServerTimings"
              }
              ]
              },
              {
              ID:"builtin_tools",
              className:"com.isomorphic.tools.BuiltinRPC",
              visibleMethods:[
              {
              name:"getDataSourceFromTable"
              },
              {
              name:"getDataSourceJSONFromTable"
              },
              {
              name:"getDataSourceFromHibernateMapping"
              },
              {
              name:"getDataSourceJSONFromHibernateMapping"
              },
              {
              name:"getTables"
              },
              {
              name:"getFieldsFromTable"
              },
              {
              name:"getBeanFields"
              },
              {
              name:"getHibernateBeans"
              },
              {
              name:"getDatabaseProductNameAndVersion"
              },
              {
              name:"getDatabaseTableTypes"
              },
              {
              name:"setAttributes"
              },
              {
              name:"clearAttributes"
              },
              {
              name:"getAttributes"
              },
              {
              name:"getAttribute"
              },
              {
              name:"getDataSourceConfigFromJavaClass"
              },
              {
              args:"cName",
              language:"groovy",
              name:"getJavaSource",
              script:"\n if (!com.isomorphic.auth.DevModeAuthFilter.devModeAuthorized(request)) throw new Exception(\"Not Authorized\"); \n //import org.apache.bcel.Repository;\n\n try {\n return org.apache.bcel.Repository.lookupClass(cName).toString();\n } catch (Throwable e) {\n return \"Unable to reverse engineer class \"+cName+\": \"+e.getMessage();\n }\n "
              },
              {
              name:"loadDataSource"
              },
              {
              name:"dsFromXML"
              },
              {
              name:"dsConfigFromXML"
              },
              {
              name:"getDefinedDataSources"
              }
              ]
              },
              {
              ID:"builtin_adminconsole",
              className:"com.isomorphic.tools.AdminConsole",
              visibleMethods:[
              {
              name:"getDefinedDatabases"
              },
              {
              name:"testDB"
              },
              {
              name:"saveDBConfig"
              },
              {
              name:"setDefaultDB"
              },
              {
              name:"importDataSources"
              },
              {
              name:"discoverJNDIDatabases"
              }
              ]
              }
              ]
              })

              === 2014-02-19 02:17:00,888 [l0-5] WARN RequestContext - rpcRequest.execute() failed:
              === 2014-02-19 02:17:00,888 [l0-5] DEBUG RPCManager - Content type for RPC transaction: text/plain; charset=UTF-8
              === 2014-02-19 02:17:00,889 [l0-5] INFO Compression - /showcase/sc/IDACall: 283 -> 216 bytes
              === 2014-02-19 02:17:02,341 [l0-5] INFO RequestContext - URL: '/showcase/sc/IDACall', User-Agent: 'Mozilla/5.0 (X11; Linux x86_64; rv:10.0.12) Gecko/20130110 Firefox/10.0.12': Moz (Gecko) with Accept-Encoding header
              === 2014-02-19 02:17:02,345 [l0-5] INFO Compression - /showcase/sc/IDACall: 81 -> 86 bytes
              === 2014-02-19 02:17:02,504 [l0-5] INFO RequestContext - URL: '/showcase/sc/IDACall', User-Agent: 'Mozilla/5.0 (X11; Linux x86_64; rv:10.0.12) Gecko/20130110 Firefox/10.0.12': Moz (Gecko) with Accept-Encoding header
              === 2014-02-19 02:17:02,519 [l0-5] INFO Compression - /showcase/sc/IDACall: 131607 -> 7451 bytes
              === 2014-02-19 02:17:18,394 [l0-5] INFO RequestContext - URL: '/showcase/sc/HttpProxy', User-Agent: 'Mozilla/5.0 (X11; Linux x86_64; rv:10.0.12) Gecko/20130110 Firefox/10.0.12': Moz (Gecko) with Accept-Encoding header
              === 2014-02-19 02:17:18,396 [l0-5] DEBUG XML - Parsed XML from (in memory stream): 1ms
              === 2014-02-19 02:17:18,397 [l0-5] DEBUG HttpProxyServlet - HttpProxy - ProxyData is: {
              xsi:"http://www.w3.org/2000/10/XMLSchema-instance",
              url:"http://localhost:8888/data/sampleAddData.js",
              httpMethod:"POST",
              params:{
              isc_dataFormat:"json"
              },
              contentType:"application/json",
              requestBody:"{\r \"dataSource\":\"isc_RestDataSource_0\", \r \"operationType\":\"add\", \r \"componentId\":\"isc_ListGrid_0\", \r \"data\":{\r \"col1\":\"new_row\", \r \"col2\":\"new_value\"\r }, \r \"oldValues\":null\r}"
              }
              === 2014-02-19 02:17:18,405 [l0-5] ERROR XML - XML parser fatal error: file '(in memory stream)' line 1: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog.
              === 2014-02-19 02:17:18,405 [l0-5] DEBUG XML - Exception thrown during XML parsing
              === 2014-02-19 02:17:18,405 [l0-5] ERROR HttpProxyServlet - HttpProxy - Top-level servlet error:
              === 2014-02-19 02:17:18,407 [l0-5] INFO Compression - /showcase/sc/HttpProxy: 2196 -> 636 bytes
              === 2014-02-19 02:18:55,268 [l0-5] INFO RequestContext - URL: '/showcase/sc/IDACall', User-Agent: 'Mozilla/5.0 (X11; Linux x86_64; rv:10.0.12) Gecko/20130110 Firefox/10.0.12': Moz (Gecko) with Accept-Encoding header
              === 2014-02-19 02:18:55,276 [l0-5] INFO Compression - /showcase/sc/IDACall: 81 -> 86 bytes
              === 2014-02-19 02:18:55,452 [l0-5] INFO RequestContext - URL: '/showcase/sc/IDACall', User-Agent: 'Mozilla/5.0 (X11; Linux x86_64; rv:10.0.12) Gecko/20130110 Firefox/10.0.12': Moz (Gecko) with Accept-Encoding header
              === 2014-02-19 02:18:55,466 [l0-5] INFO Compression - /showcase/sc/IDACall: 129989 -> 7725 bytes
              === 2014-02-19 02:19:04,746 [l0-5] INFO RequestContext - URL: '/showcase/sc/IDACall', User-Agent: 'Mozilla/5.0 (X11; Linux x86_64; rv:10.0.12) Gecko/20130110 Firefox/10.0.12': Moz (Gecko) with Accept-Encoding header


              4. for any problem processing a server response, the actual response as shown in the RPC tab in the Developer Console
              No response data found in the RPC tab, only the request data:
              RPCRequest:
              {
              "actionURL":"http://127.0.0.1:8888/showcase/sc/HttpProxy",
              "showPrompt":true,
              "transport":"xmlHttpRequest",
              "useSimpleHttp":true,
              "promptStyle":"cursor",
              "params":{
              "data":"<data xmlns:xsi=\"http://www.w3.org/2000/10/XMLSchema-instance\" xsi:type=\"xsd:Object\"><url>http://localhost:8888/data/sampleAddData.js</url><httpMethod>POST</httpMethod><params xsi:type=\"xsd:Object\"><isc_dataFormat>json</isc_dataFormat></params><contentType>application/json</contentType><requestBody>{&#x000D; &quot;dataSource&quot;:&quot;isc_RestDataSource_0&quot;, &#x000D; &quot;operationType&quot;:&quot;add&quot;, &#x000D; &quot;componentId&quot;:&quot;isc_ListGrid_0&quot;, &#x000D; &quot;data&quot;:{&#x000D; &quot;col1&quot;:&quot;new_row&quot;, &#x000D; &quot;col2&quot;:&quot;new_value&quot;&#x000D; }, &#x000D; &quot;oldValues&quot;:null&#x000D;}</requestBody></data>"
              },
              "httpMethod":null,
              "contentType":null,
              "bypassCache":true,
              "isProxied":true,
              "data":null
              }

              DSRequest:
              {
              dataSource:"isc_RestDataSource_0",
              operationType:"add",
              componentId:"isc_ListGrid_0",
              data:"{\r \"dataSource\":\"isc_RestDataSource_0\", \r \"operationType\":\"add\", \r \"componentId\":\"isc_ListGrid_0\", \r \"data\":{\r \"col1\":\"new_row\", \r \"col2\":\"new_value\"\r }, \r \"oldValues\":null\r}",
              showPrompt:true,
              requestId:"isc_RestDataSource_0$6271",
              fallbackToEval:false,
              lastClientEventThreadCode:"MUP1",
              bypassCache:true,
              isRestRequest:true,
              dataFormat:"json",
              contentType:"application/json",
              useHttpProxy:true
              }

              5. if there is a JavaScript error, the stack trace logged in the Developer Console (see FAQ)

              18:11:42.249:INFO:Log:initialized
              18:11:42.307:WARN:Log:NOTE: Firebug is enabled. Firebug greatly slows the performance of applications that make heavy use of JavaScript. Isomorphic highly recommends Firebug for troubleshooting, but Firebug and other development tools should be disabled when assessing the real-world performance of SmartClient applications.
              18:11:53.864:WARN:Label:isc_Label_1:ignoring bad or negative height: auto [enable 'sizing' log for stack trace]
              18:12:12.923:INFO:Log:isc.Page is loaded
              18:17:00.874:TMR3:WARN:LogViewer:Observer: [LogViewer ID:undefined] is already observing method 'dataChanged' on object '[object Object]', ignoring
              18:17:21.107:XRP0:WARN:Log:com.isomorphic.xml.XMLParsingException: [
              "XML parser fatal error: file '(in memory stream)' line 1: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog."
              ]
              at com.isomorphic.xml.XML.parseXML(XML.java:206)
              at com.isomorphic.xml.XML.parseXML(XML.java:125)
              at com.isomorphic.servlet.HttpProxyServlet.doPost(HttpProxyServlet.java:495)
              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.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
              at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1097)
              at com.isomorphic.servlet.CompressionFilter.doFilter(CompressionFilter.java:260)
              at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1088)
              at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
              at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
              at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
              at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729)
              at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
              at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
              at org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49)
              at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
              at org.mortbay.jetty.Server.handle(Server.java:324)
              at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
              at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:843)
              at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:647)
              at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
              at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
              at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
              at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)

              18:17:21.188:XRP0:WARN:RestDataSource:isc_RestDataSource_0:Evaluating JSON reply resulted in empty value. JSON text:
              "isc.logWarn("com.isomorphic.xml.XMLParsingException: [\n \"XML parser fatal error: file '(in memory stream)' line 1: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog.\"\n]\n\tat com.isomorphic.xml.XML.parseXML(XML.java:206)\n\tat com.isomorphic.xml.XML.parseXML(XML.java:125)\n\tat com.isomorphic.servlet.HttpProxyServlet.doPost(HttpProxyServlet.java:495)\n\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:637)\n\tat com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)\n\tat javax.servlet.http.HttpServlet.service(HttpServlet.java:717)\n\tat org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)\n\tat org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1097)\n\tat com.isomorphic.servlet.CompressionFilter.doFilter(CompressionFilter.java:260)\n\tat org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1088)\n\tat org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)\n\tat org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)\n\tat org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)\n\tat org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729)\n\tat org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)\n\tat org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)\n\tat org.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java:49)\n\tat org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)\n\tat org.mortbay.jetty.Server.handle(Server.java:324)\n\tat org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)\n\tat org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:843)\n\tat org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:647)\n\tat org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)\n\tat org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)\n\tat org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)\n\tat org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)\n");"
              18:17:21.310:XRP0:WARN:RestDataSource:isc_RestDataSource_0:RestDataSouce transformResponse(): JSON response text does not appear to be in standard response format.

              6. sample code if applicable

              package com.smartgwt.sample.showcase.client.webservice;

              import com.smartgwt.client.data.OperationBinding;
              import com.smartgwt.client.data.RestDataSource;
              import com.smartgwt.client.data.fields.DataSourceTextField;
              import com.smartgwt.client.types.DSDataFormat;
              import com.smartgwt.client.types.DSProtocol;
              import com.smartgwt.client.widgets.Canvas;
              import com.smartgwt.client.widgets.IButton;
              import com.smartgwt.client.widgets.events.ClickEvent;
              import com.smartgwt.client.widgets.events.ClickHandler;
              import com.smartgwt.client.widgets.grid.ListGrid;
              import com.smartgwt.client.widgets.grid.ListGridRecord;
              import com.smartgwt.client.widgets.layout.HLayout;
              import com.smartgwt.client.widgets.layout.VLayout;
              import com.smartgwt.sample.showcase.client.PanelFactory;
              import com.smartgwt.sample.showcase.client.ShowcasePanel;

              public class MyRestSample extends ShowcasePanel {

              private static final String DESCRIPTION = "<p>Smart GWT Server includes an HTTP proxy servlet which "
              + "supports contacting REST and WSDL web services as though they were hosted by a local web server, avoiding"
              + " the \"same origin policy\" restriction which normally prevents web applications from accessing remote services.</p>"
              + "<p>The proxy is used automatically whenever an attempt is made to contact a URL on another host - no special code "
              + "is needed. In this example, a RestDataSource is configured to get/post data, "
              + "with no server-side code or proxy configuration required.</p>"
              + "<p>Configuration files allow for restricting proxying to specific services that users are allowed to contact through your application.</p>";

              public static class Factory implements PanelFactory {

              private String id;

              @Override
              public ShowcasePanel create() {
              MyRestSample panel = new MyRestSample();
              id = panel.getID();
              return panel;
              }

              @Override
              public String getID() {
              return id;
              }

              @Override
              public String getDescription() {
              return DESCRIPTION;
              }
              }

              private ListGrid grid;

              @Override
              public Canvas getViewPanel() {
              VLayout layout = new VLayout(15);
              layout.setAutoHeight();

              grid = createListGrid();

              HLayout hLayout = new HLayout(15);

              final IButton addButton = new IButton("Add");
              addButton.setWidth(150);
              addButton.addClickHandler(new ClickHandler() {
              @Override
              public void onClick(ClickEvent event) {
              grid.addData(createRecord("new_row", "new_value"));
              }
              });
              hLayout.addMember(addButton);

              layout.setMembers(grid, hLayout);
              return layout;
              }

              @Override
              public String getIntro() {
              return DESCRIPTION;
              }

              private ListGrid createListGrid() {
              ListGrid grid = new ListGrid();
              grid.setHeight(100);
              grid.setDataSource(createRestDataSource());
              grid.setAutoFetchData(true);
              return grid;
              }

              private RestDataSource createRestDataSource() {
              RestDataSource ds = new RestDataSource();
              ds.setDataFormat(DSDataFormat.JSON);
              ds.setUseHttpProxy(true);

              DataSourceTextField nameField = new DataSourceTextField("col1",
              "Column 1");
              nameField.setPrimaryKey(true);
              nameField.setCanEdit(false);

              DataSourceTextField sizeField = new DataSourceTextField("col2",
              "Column 2");
              ds.setFields(nameField, sizeField);

              // ds.setFetchDataURL("http://10.18.156.99/showcase/data/sampleData.js");
              // ds.setAddDataURL("http://10.18.156.99/showcase/data/sampleAddData.js");

              ds.setFetchDataURL("http://localhost:8888/data/sampleData.js");
              ds.setAddDataURL("http://localhost:8888/data/sampleAddData.js");

              OperationBinding[] bindings = ds.getOperationBindings();

              for (int i = 0; i < bindings.length; i++) {
              switch (bindings[i].getOperationType()) {
              case FETCH:
              // bindings[i].setDataProtocol(DSProtocol.POSTMESSAGE);
              break;
              case ADD:
              bindings[i].setDataProtocol(DSProtocol.POSTMESSAGE);
              break;
              case UPDATE:
              break;
              case REMOVE:
              break;
              default:
              }
              }

              return ds;
              }

              public ListGridRecord createRecord(String val1, String val2) {
              ListGridRecord record = new ListGridRecord();
              record.setAttribute("col1", val1);
              record.setAttribute("col2", val2);
              return record;
              }

              }

              Comment


                #22
                This is due to a bug already corrected in 4.1 - we have been encouraging customers to move to 4.1 unless they are about to release an application that has already been fully tested against 4.0 and this does seem to apply to you.

                To avoid this issue in 4.0, you can set includeSoapAttachments false on your HttpProxyServlet in web.xml (see server-side docs for details if needed).

                We'll also be porting the fix to 4.0 just in case.

                Separately, you may have a usage issue here - you mentioned you plan to contact your "own Rest services". If so, if these services have a protocol of your own design, you should start from DataSource, not RestDataSource. RestDataSource is used *only* if you are using the RestDataSource protocol, substantially unchanged.

                Finally, we'd just like to emphasize once again that creating a whole separate test application was not necessary, and that the diagnostics we require take mere moments to collect.

                Comment


                  #23
                  Great. Thanks!

                  What is the time frame can I expect to download 4.0 with the fix and/or 4.1.

                  For now, I'll try out the workaround solution (i.e. set includeSoapAttachments to false). Since our product is using both SOAP based and REST based APIs, this workaround may not work for us, is it?

                  Comment


                    #24
                    It's long since fixed in 4.1. Tomorrow's 4.0 and earlier builds will have the fix as well.

                    The workaround would not affect use of SOAP.

                    Comment


                      #25
                      Great. I'll try out the new build with the fix.

                      I tried the workaround solution and it doesn't work for some reason. What is the server side doc that you were referring to? Can you send the link. Thanks.

                      Comment


                        #26
                        The server-side docs are in your SDK - see the QuickStart Guide. There is an online copy here.

                        includeSOAPAttachments is a servlet <init-param>.

                        Comment


                          #27
                          Great. It worked!

                          Comment

                          Working...
                          X