Announcement

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

    Deploying Smartclient in apache-tomcat 7 : Transport error

    Deploying Smartclient in apache-tomcat 7 (SmartClient Version: v8.2p_2012-08-14/EVAL Deployment (expires 2012.10.13_05.10.35) Licensed to: Isomorphic Software (#ISC_EVAL_NIGHTLY) I got several errors
    related to the server side.
    First of all, is the SmartClient evaluation software restricted to the embedded tomcat usage or can be deployed within the espiration date ?

    A simple test application (given below) getting data from a postgresql database works in the embedded env. but as soon as it is deployed as described in your reference I am running into the following errors:

    * Error Message: Object doesn't support this property or method URL: http://172.20.0.21:90/isomorphic/system/modules/ISC_Core.js
    This error is related to the call
    <script SRC=../isomorphic/DataSourceLoader?dataSource=its_ds_contact></script>

    Replacing the dynamic DataSource Loader call with the object definition here follow and calling directly the object I got
    <script src="ds/ds.js"></script>

    File ds/index.html
    Code:
    <HTML>
    <head>
    
    title>::itsProject v0.1test::</title>
    
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
    <meta http-equiv="Cache-Control" content="no-cache no-store must-revalidate" >
    <meta http-equiv="Pragma" content="no-cache" >
    <meta name="author" content="itaca consulting sagl">
    <meta name="keywords" content="itaca itsProject">
    <meta name="description" content="evaluation project">
    <link rel="shortcut icon" href="./imgs/favicon.ico" />
    
    <script>window.isc_useSimpleNames = false; </script>
    
    <script>var isomorphicDir = "../isomorphic/"</script>
    <script src=../isomorphic/system/modules/ISC_Core.js></script>
    <script src=../isomorphic/system/modules/ISC_Foundation.js></script>
    <script src=../isomorphic/system/modules/ISC_Containers.js></script>
    <script src=../isomorphic/system/modules/ISC_Grids.js></script>
    <script src=../isomorphic/system/modules/ISC_Forms.js></script>
    <script src=../isomorphic/system/modules/ISC_DataBinding.js></script>
    <script src=../isomorphic/skins/Enterprise/load_skin.js></script>
    
    <link rel="stylesheet" type="text/css" href="css/ITS.css" />
    
    </head>
    <body dir="LTR">
    
    <script type="text/javascript">
      //  window.isc.showConsole();                       //debug
      if(window.isc){
        isc.setAutoDraw(false);
        isc.screenReader=false;
      }
    </script>
    
    <!--  Get the direct object creation or DataSourceLoader
      <script src="ds/ds.js"></script>
      <script SRC=../isomorphic/DataSourceLoader?dataSource=its_ds_contact></script>
    -->
    
      <script src="ds/ds.js"></script>
      <script src="app.js"></script>
    
    </BODY>
    </HTML>

    File app.js
    Code:
    isc.ClassFactory.defineClass('ITSListGrid','VLayout');
    isc.ITSListGrid.addProperties({
        width:"100%", height:"100%", layoutMargin:0,
        initWidget : function () {
            this.Super("initWidget", arguments);
    
                    this.ITSListGridFooter = isc.Label.create({
                    layoutLeftMargin:5,
                            height:22
                });
    
                    this.ITSListGridList = isc.ListGrid.create({
                            ITSListGridFooter:this.ITSListGridFooter,
                            dataSource:this.dataSource,
                            canEdit:false,
                    modalEditing:false, autoFetchData:false, autoDraw:false,
                            alternateRecordStyles:true, canDragRecordsOut:true,
                            hoverWidth:200, hoverHeight:20,layoutMargin:0,
                            selectionType:"single",
                            showFilterEditor: true, filterOnKeypress: true,
                            cellChanged:"this.updateDetails();",
                            recordClick:"this.updateDetails();",
                    dataChanged : function () {
                            this.Super("dataChanged", arguments);
    
                                totalRows = this.data.getLength();
                                if (totalRows > 0 && this.data.lengthIsKnown()) {
                                    if (totalRows==1)
                                            footertxt = totalRows +" element selected.";
                                        else
                                            footertxt = totalRows +" elements selected.";
                            } else {
                                        footertxt = totalRows +" elements selected.";
                           }
                           this.ITSListGridFooter.setContents(footertxt);
                            },
    
                        updateDetails : function () {
    
                            var record = this.getSelectedRecord();
                                    if (record == null)
                                            return;
                        }
                    });
                    this.addMembers([this.ITSListGridList,this.ITSListGridFooter]);
            }
    });
    
    myTop = isc.ITSListGrid.create({dataSource:"its_ds_contact"});
    myTop.ITSListGridList.fetchData(null,null,{operationId:""});
    myTop.draw();

    File ds/ds.js
    Code:
    isc.DataSource.create({
        schema:"crm",
        dbName:"PostgreSQL",
        tableName:"its_ds_contact",
        ID:"its_ds_contact",
        dataSourceVersion:1,
        fields:[
            {
                hidden:true,
                name:"id_contact",
                primaryKey:true,
                type:"integer"
            },
            {
                detail:true,
                name:"is_company",
                sqlStorageStrategy:"integer",
                title:"is_company",
                type:"boolean"
            },
            {
                detail:true,
                length:255,
                name:"vocative",
                title:"vocative",
                type:"text"
            },
            {
                length:255,
                name:"first_name",
                title:"first_name",
                type:"text"
            },
            {
                detail:true,
                length:255,
                name:"middle_name",
                title:"middle_name",
                type:"text"
            },
            {
                length:255,
                name:"last_name",
                required:true,
                title:"last_name",
                type:"text"
            },
            {
                length:255,
                name:"co_address",
                title:"co_address",
                type:"text"
            },
            {
                length:255,
                name:"address",
                title:"address",
                type:"text"
            },
            {
                length:255,
                name:"zipcode",
                title:"zipcode",
                type:"text"
            },
            {
                length:255,
                name:"city",
                title:"city",
                type:"text"
            },
            {
                length:255,
                name:"region",
                title:"region",
                type:"text"
            },
            {
                length:255,
                name:"country",
                title:"country",
                type:"text"
            },
            {
                hidden:true,
                name:"id_main_contact_email",
                type:"integer"
            },
            {
                hidden:true,
                name:"id_main_contact_phone",
                type:"integer"
            },
            {
                hidden:true,
                name:"id_main_contact_address",
                type:"integer"
            }
        ],
        serverType:"sql"
    })

    * Transport error - HTTP code: 404 for URL: http://172.20.0.21:90/isomorphic/IDACall
    There is no further information in the RPC Developper Console.

    In the browser debugger I have go a call to
    http://www.isomorphic.com/versionCheck/blank.gif?version=v8.2p_2012-08-14/EVAL Deployment&date=2012-08-14&licence=ISC_EVAL_NIGHTLY
    without any responses...


    Other config files:
    -------------------
    The file web.xml is untouched as remaing the same of in Runtime Distrib.
    The file server.properties get the following PostgreSQL setting.
    Code:
     sql.defaultDatabase: PostgreSQL
    
    # -------------- SETTINGS FOR PostgreSQL --------------------
    
    # These are the settings for use with the PostgreSQL database.
    
    # hostname and port where the database server is installed
    sql.PostgreSQL.driver.serverName: localhost
    sql.PostgreSQL.driver.portNumber: 5432
    
    # name of the database to use
    sql.PostgreSQL.driver.databaseName: myDatabase
    
    # username and password that can create and modify tables in that database
    # this user must have the following privileges for the system to function
    # properly: create/alter/drop table; create/drop sequences; 
    # insert/update/replace/delete rows.
    sql.PostgreSQL.driver.user: MyUser
    sql.PostgreSQL.driver.password: MyPassword

    Finally, is this a configuration issue or a licensing problem ?
    Regards,
    Itaca

    Note: please fix in your smartclient distrib the file server.properties (SDK directory) in the section -- SETTINGS FOR DB2 -- that have sql.PostgreSQL instead of sql.DB2 impacting the PostgreSQL setup.

    #2
    Use is not restricted to Embedded Tomcat.

    All of your issues below seem to indicate skipped steps in installation, specifically, the servlets in web.xml have not been added.

    Comment


      #3
      Still having errors...

      I have been checking the web.xml servlet definitions and tried several times unsucessfully, finally mapping the isomorphic directory in the same directory of the application in order to avoid url relative path mismatch, I got an answer 200 in the POST /moce/isomorphic/IDACall?isc_rpc=1&isc_v=v8.2p_2012-08-14&isc_xhr=1 instead of the constant 400 transport error, but still with the following error in the body content:

      Code:
      java.lang.ClassNotFoundException: com.isomorphic.sql.SQLDataSource
      	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1711)
      	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1556)
      	at java.lang.Class.forName0(Native Method)
      	at java.lang.Class.forName(Class.java:169)
      	at com.isomorphic.base.Reflection.classForName(Reflection.java:139)
      	at com.isomorphic.base.Reflection.getClassCache(Reflection.java:470)
      	at com.isomorphic.base.Reflection.instantiateClass(Reflection.java:188)
      	at com.isomorphic.base.Reflection.instantiateClass(Reflection.java:172)
      	at com.isomorphic.interfaces.InterfaceProvider.load(InterfaceProvider.java:92)
      	at com.isomorphic.datasource.BasicDataSource.fromConfig(BasicDataSource.java:143)
      	at com.isomorphic.datasource.DataSource.fromConfig(DataSource.java:359)
      	at com.isomorphic.datasource.FileSystemDSRepo.loadDS(FileSystemDSRepo.java:110)
      	at com.isomorphic.datasource.DataSource.forName(DataSource.java:178)
      	at com.isomorphic.datasource.DataSource.forName(DataSource.java:170)
      	at com.isomorphic.datasource.DataSource.forName(DataSource.java:165)
      	at com.isomorphic.datasource.PoolableDataSourceFactory.makeUnpooledObject(PoolableDataSourceFactory.java:95)
      	at com.isomorphic.datasource.PoolableDataSourceFactory.makeObject(PoolableDataSourceFactory.java:102)
      	at com.isomorphic.pool.PoolManager.borrowObject(PoolManager.java:82)
      	at com.isomorphic.datasource.DataSourceManager.getDataSource(DataSourceManager.java:87)
      	at com.isomorphic.datasource.DSRequest.getDataSource(DSRequest.java:1739)
      	at com.isomorphic.rpc.RPCManager.parseRequest(RPCManager.java:1940)
      	at com.isomorphic.rpc.RPCManager.<init>(RPCManager.java:296)
      	at com.isomorphic.rpc.RPCManager.<init>(RPCManager.java:281)
      	at com.isomorphic.servlet.IDACall.processRequest(IDACall.java:116)
      	at com.isomorphic.servlet.IDACall.doPost(IDACall.java:73)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
      	at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
      	at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
      	at com.isomorphic.servlet.CompressionFilter.doFilter(CompressionFilter.java:259)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
      	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
      	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
      	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
      	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
      	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
      	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
      	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
      	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
      This woks till here with the call <script src="ds/ds.js"></script> instead of <script SRC=../isomorphic/DataSourceLoader?dataSource=its_ds_contact></script>

      And again the DataSourceLoader command in index.html blocks.
      Could you please help me to solve the issues ?
      Thanks,
      Itaca

      Note: These files are place in the tomcat 7 webapps dir in an application directory called moce.
      1) File moce/index.html. Same as given above except that ../isomorphic/ is replaced by isomorphic/
      2) File moce/app.js. Same as given above.
      3) File moce/ds/ds.js Same as given above.
      4) Directory moce/isomorphic. Same as given in smartclientRuntime distrib except that the skin enterprise has been added.
      5) File moce/WEB-INF/iscTaglib.xml. Same as given in smartclientRuntime distrib.
      6) File moce/WEB-INF/web.xml. Defined in accordance with smartclientRuntime as follows:
      Code:
      <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
                    version="2.4">
      
          <!-- Note: The servlets/filters referenced here are documented in the SDK javadoc -->
      
          <!-- //>FileLoader -->
          <!-- Dynamic Compression -->
          <filter>
              <filter-name>CompressionFilter</filter-name>
              <filter-class>com.isomorphic.servlet.CompressionFilter</filter-class>
          </filter>
          <!-- CompressionFilter for dynamic compression -->
          <filter-mapping>
              <filter-name>CompressionFilter</filter-name>
              <url-pattern>/*</url-pattern>
          </filter-mapping>
          <!-- //<FileLoader -->
      
          <!-- The IDACall servlet handles all Built-in DataSource operations -->
          <servlet>
              <servlet-name>IDACall</servlet-name>
              <servlet-class>com.isomorphic.servlet.IDACall</servlet-class>
          </servlet>
      
          <servlet>
              <servlet-name>XMLSelect</servlet-name>
              <servlet-class>com.isomorphic.xml.XMLSelectServlet</servlet-class>
          </servlet>
      
          <!-- The RESTHandler servlet handles SmartClient Server DataSource operations issued by
               REST clients - it's like IDACall, but for the REST protocol.  Typically,  the clients
               of this servlet would not be ordinary SmartClient/SmartGWT applications (though they
               could be), but other client technologies that need to access SmartClient DataSource
               operations as reusable services -->
          <servlet>
              <servlet-name>RESTHandler</servlet-name>
              <servlet-class>com.isomorphic.servlet.RESTHandler</servlet-class>
          </servlet>
      
          <!-- The DataSourceLoader servlet returns Javascript representations of the dataSources whose
               ID's are passed to it - it is an alternative to using the <loadDS> JSP tag -->
          <servlet>
              <servlet-name>DataSourceLoader</servlet-name>
              <servlet-class>com.isomorphic.servlet.DataSourceLoader</servlet-class>
          </servlet>
      
          <!-- The FileDownload servlet downloads static files, like a webserver -->
          <servlet>
              <servlet-name>FileDownload</servlet-name>
              <servlet-class>com.isomorphic.servlet.FileDownload</servlet-class>
          </servlet>
      
              <!-- ISC init: initializes ISC framework -->
          <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>
      
          <!-- The PreCache servlet initializes when the servlet engine starts up and pre-loads
               data need for all client requests.  This is optional, and improves performance
               of the first few page requests.  PreCache cannot be invoked by a browser, because
               there is no "servlet-mapping" defined for it. -->
          <servlet>
              <servlet-name>PreCache</servlet-name>
              <servlet-class>com.isomorphic.servlet.PreCache</servlet-class>
              <load-on-startup>2</load-on-startup>
          </servlet>
      
          <!-- RPCManager uses this URL by default for Built-in DataSource operations -->
          <servlet-mapping>
              <servlet-name>IDACall</servlet-name>
              <url-pattern>/isomorphic/IDACall/*</url-pattern>
          </servlet-mapping>
      
          <!-- Built-in DataSource operations backcompat -->
          <servlet-mapping>
              <servlet-name>IDACall</servlet-name>
              <url-pattern>/isomorphic/IDACall.aspx/*</url-pattern>
          </servlet-mapping>
      
          <!-- DataSourceLoader requests -->
          <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>
      
          <!-- Use FileDownload servlet to download all static content that's part of the skin, such as
               image files, so we can set Expires headers and other cache control directives.  In a
               production deployment, you'd want to use a webserver such as Apache to do this.
          -->
          <servlet-mapping>
            <servlet-name>FileDownload</servlet-name>
            <url-pattern>/isomorphic/skins/*</url-pattern>
          </servlet-mapping>
      
          <!-- serve ISC modules compressed, with expires headers -->
          <servlet-mapping>
              <servlet-name>FileDownload</servlet-name>
              <url-pattern>/isomorphic/system/modules/*</url-pattern>
          </servlet-mapping>
      
          <!-- serve ISC development modules compressed, with expires headers -->
          <servlet-mapping>
              <servlet-name>FileDownload</servlet-name>
              <url-pattern>/isomorphic/system/development/*</url-pattern>
          </servlet-mapping>
      
          <!-- server skin assets with expires headers -->
          <servlet-mapping>
              <servlet-name>FileDownload</servlet-name>
              <url-pattern>/isomorphic/system/reference/skin/*</url-pattern>
          </servlet-mapping>
      
          <!-- General config -->
          <session-config>
              <session-timeout>30</session-timeout>
          </session-config>
      
          <jsp-config>
              <!-- Isomorphic JSP tags -->
              <taglib>
                  <taglib-uri>isomorphic</taglib-uri>
                  <taglib-location>/WEB-INF/iscTaglib.xml</taglib-location>
              </taglib>
              <!-- Serve *.isc files with iscHeader/iscFooter -->
              <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>
      
              <!-- Process *.rpc files as RPC requests - puts you in an iterator over current RPC requests -->
              <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-config>
      
          <mime-mapping>
              <extension>manifest</extension>
              <mime-type>text/cache-manifest</mime-type>
          </mime-mapping>
      
      </web-app>
      7) Directory moce/WEB-INF/lib. Same as in runtime lib distrib, except that the postgresql driver has been added (postgresql-9.1-901.jdbc4.jar)
      8) File moce/WEB-INF/classes/log4j.isc.config.xml. Same as in runtime distrib
      9) File moce/WEB-INF/classes/server.properties
      Code:
      # The webRoot directory:
      # the directory that the servlet engine regards as the place where applications
      # that use the servlet engine should be installed.  Generally, it is safe to leave
      # this at the default setting of __AUTODETECT__.  When the SmartClient server is
      # started, it logs a message to stdout telling you the autodetected path to your
      # webRoot.  If this path is not your actual webRoot, then you'll want to override
      # this config parameter here.
      #
      # Valid values:
      #
      # 1. Absolute path to the webRoot directory
      #
      # 2. Special token:  __AUTODETECT__
      #    When this token is used, SmartClient attempts to auto-detect the webRoot using
      #    standard servlet APIs.  This may or may not work - depending on your
      #    container type and deployment type.  For example, WAR/EAR deployments
      #    on some containers never make it to disk, and so the container refuses
      #    to provide the webRoot path.
      #
      #    If SmartClient cannnot detect the webRoot, it sets the webRoot to
      #    __USE_CONTAINER__ (see below).
      #
      # 3.  Special token: __USE_CONTAINER__
      #     When this token is used, SmartClient uses standard servet APIs for accessing
      #     filesystem resources.  This is slower than direct file access and, since
      #     the servlet APIs provide no mechanism for writing to disk, means that some
      #     development tools like the FileAssembler will not work.
      #
      webRoot: __AUTODETECT__
      
      # if you've moved the isomorphic directory from its default location in webRoot,
      # set the root-relative path to it here
      #
      # For example, if in your deployment the 'isomorphic' dir is in /foo/bar, then set
      # then you'll need to set this to foo/bar/isomorphic
      isomorphicPathRootRelative: isomorphic
      
      # -------------- PICK DATABASE TO USE --------------------
      sql.defaultDatabase: PostgreSQL
      
      # -------------- SETTINGS FOR PostgreSQL --------------------
      sql.PostgreSQL.driver.serverName: localhost
      sql.PostgreSQL.driver.portNumber: 5432
      sql.PostgreSQL.driver.databaseName: its_client_pg
      sql.PostgreSQL.driver.user: its_client_user
      sql.PostgreSQL.driver.password: ********
      
      # -------------- LOADING APP AND DATASOURCE DEFINITIONS --------------------
      
      # Where the system looks for DataSource definition files ([dataSourceId].ds.xml or
      # [dataSourceID].ds.js).  It's useful to put all your DataSources in one
      # directory since DataSources are frequently shared between applications.
      # "project.datasources" is also where the DataSource Importer tool looks
      # for available DataSources.
      project.datasources: $webRoot/ds, $webRoot/shared/ds, $webRoot/examples/shared/ds, $webRoot/moce/ds
      project.ui: $webRoot/shared/ui
      project.apps: $webRoot/shared/app
      
      
      # -------------- Other settings --------------------
      # The setting RPCManager.enabledBuiltinMethods enables or disables the BuiltInRPCs - RPC calls
      # that are built into the SmartClient Server.  The setting below reflects the framework default
      # of enabling only those RPCs that are typically needed in an application.
      #
      # See the JavaDoc for com.isomorphic.rpc.BuiltinRPC and com.isomorphic.tools.BuiltinRPC for all
      # available builtinRPCs and their behavior.
      #
      # Note that many of the BuiltinRPCs are designed for use by tools such as Visual Builder, and
      # provide services such as direct access to the file system (for load and save of screens) that
      # would be unsafe to expose to untrusted users.
      #
      #RPCManager.enabledBuiltinMethods: getPdfObject, getPdfObject, xmlToJS, uploadProgressCheck, exportClientData, downloadClientExport

      Comment


        #4
        You really just need to follow the install instructions, and be sure not to skip steps.. in this case you decided to only copy some of the .jars, the install instructions tell you to copy them all, then remove .jars only once you've established you aren't using specific ones.

        Comment


          #5
          Installed files and procedure

          According to my understanding I did all the steps described in the articles Deploying SmartClient and The Core And Optional SmartClient servlets
          Here below is given the list of files installed

          Code:
          find ./moce -exec cksum {} \;
          
          1185191894 104 			./moce/css/its_iso.css
          1706451047 11683 		./moce/css/ITS.css
          4270765735 1570			./moce/debug.html
          2323534782 1575 		./moce/loader.html
          3132805596 1711 		./moce/app.js
          2794250846 3050   	./moce/WEB-INF/classes/server.properties.old
          1845943260 3731   	./moce/WEB-INF/classes/server.properties.new
          1162423158 3756   	./moce/WEB-INF/classes/server.properties
          1716949390 5236   	./moce/WEB-INF/classes/log4j.isc.config.xml
          891718727 6124    	./moce/WEB-INF/web.xml
          617540762 11874 		./moce/WEB-INF/iscTaglib.xml
          1349091522 261809 	./moce/WEB-INF/lib/commons-lang-2.4.jar
          3501436449 2694049 	./moce/WEB-INF/lib/xbean.jar
          2668348472 412783 	./moce/WEB-INF/lib/poi-ooxml-3.6-20091214.jar
          713436669 16486 		./moce/WEB-INF/lib/java-engine.jar
          182425699 1010675 	./moce/WEB-INF/lib/xercesImpl.jar
          2018374134 788218 	./moce/WEB-INF/lib/isomorphic_core_rpc.jar
          323059158 16486 		./moce/WEB-INF/lib/java-engine_noDebug.jar
          3413414463 124724 	./moce/WEB-INF/lib/xml-apis.jar
          3897738352 7810 		./moce/WEB-INF/lib/isomorphic_compression.jar
          1832942869 1933743 	./moce/WEB-INF/lib/ant.jar
          2715120493 6208068 	./moce/WEB-INF/lib/groovy-all-1.8.7.jar
          4182719474 87077 		./moce/WEB-INF/lib/commons-pool-1.4.jar
          4229924666 66221 		./moce/WEB-INF/lib/isc-jakarta-oro-2.0.6.jar
          2971163573 3774332 	./moce/WEB-INF/lib/poi-ooxml-schemas-3.6-20091214.jar
          1222884249 17963 		./moce/WEB-INF/lib/isomorphic_realtime_messaging.jar
          4138839741 362717 	./moce/WEB-INF/lib/commons-vfs-1.0.jar
          2596177407 551290 	./moce/WEB-INF/lib/postgresql-9.1-901.jdbc4.jar
          4178324908 419521 	./moce/WEB-INF/lib/velocity-1.6.1.jar
          1078910212 391834 	./moce/WEB-INF/lib/log4j-1.2.15.jar
          2184079354 57779 		./moce/WEB-INF/lib/commons-fileupload-1.2.1.jar
          501917056 299994 		./moce/WEB-INF/lib/commons-jxpath-1.3.jar
          4026385806 287706 	./moce/WEB-INF/lib/hibernate-validator-4.1.0.Final.jar
          1500332227 305001 	./moce/WEB-INF/lib/commons-httpclient-3.1.jar
          1050749156 434812 	./moce/WEB-INF/lib/mail.jar
          25111230 54829 			./moce/WEB-INF/lib/activation.jar
          1390480550 28656 		./moce/WEB-INF/lib/isomorphic_js_parser.jar
          4136437624 47433 		./moce/WEB-INF/lib/validation-api-1.0.0.GA.jar
          1503406446 31142 		./moce/WEB-INF/lib/isomorphic_assembly.jar
          2175159679 46725 		./moce/WEB-INF/lib/commons-codec-1.3.jar
          3657732376 36174 		./moce/WEB-INF/lib/commons-cli-1.1.jar
          2972995801 575389 	./moce/WEB-INF/lib/commons-collections-3.2.1.jar
          1417850767 1539291 	./moce/WEB-INF/lib/poi-3.6-20091214.jar
          891718727 6124 			./moce/WEB-INF/web.xml.runtime
          4019090930 16672 		./moce/WEB-INF/web.xml.sdk
          522231423 2756 			./moce/WEB-INF/licenses/log4j-1.2.15_license.txt
          2897504417 11560 		./moce/WEB-INF/licenses/commons-httpclient-3.1_license.txt
          1169270031 2827 		./moce/WEB-INF/licenses/xml-apis_license.txt
          2897504417 11560 		./moce/WEB-INF/licenses/commons-cli-1.1_license.txt
          1627374496 11358 		./moce/WEB-INF/licenses/commons-lang-2.4_license.txt
          2325659003 1530 		./moce/WEB-INF/licenses/java-engine_license.txt
          1627374496 11358 		./moce/WEB-INF/licenses/hibernate-validator-4.1.0.Final_license.txt
          1627374496 11358 		./moce/WEB-INF/licenses/velocity-1.6.1_license.txt
          1169270031 2827 		./moce/WEB-INF/licenses/xercesImpl_license.txt
          2897504417 11560 		./moce/WEB-INF/licenses/commons-pool-1.4_license.txt
          2897504417 11560 		./moce/WEB-INF/licenses/commons-codec-1.3_license.txt
          2897504417 11560 		./moce/WEB-INF/licenses/commons-fileupload-1.2.1_license.txt
          2897504417 11560 		./moce/WEB-INF/licenses/commons-jxpath-1.3_license.txt
          290343678 2825 			./moce/WEB-INF/licenses/isc-jakarta-oro-2.0.6_license.txt
          1627374496 11358 		./moce/WEB-INF/licenses/commons-vfs-1.0_license.txt
          499037884 1988 			./moce/WEB-INF/licenses/groovy-all-1.8.7_license.txt
          2325659003 1530 		./moce/WEB-INF/licenses/java-engine_noDebug_license.txt
          1627374496 11358 		./moce/WEB-INF/licenses/commons-collections-3.2.1_license.txt
          1479546039 1572 		./moce/index.html
          2498516963 848 			./moce/ds/its_ds_menu_tree.ds.xml
          1935500421 870 			./moce/ds/its_ds_contact_email.ds.xml
          347600796 1717 			./moce/ds/its_ds_contact.ds.xml
          1679193567 809 			./moce/ds/its_ds_list_data.ds.xml
          2939370835 949 			./moce/ds/its_ds_contact_phone.ds.xml
          1511178220 4472 		./moce/ds/ds.js
          Last edited by itaca; 24 Aug 2012, 00:10.

          Comment


            #6
            Added the lib isomorphic_sql.jar and its missing deps.

            According to the tomcat log error, I add the isomorphic_sql.jar lib and the following missing deps from SDK libs
            * commons-dbcp-1.2.2.jar
            * hsqldb-1.8.0.10.jar
            Do I need javax.persistence.jar ?

            Code:
            === 2012-08-24 10:22:39,789 [ec-7] ERROR InterfaceProvider - Unable to instantiate class 'com.isomorphic.sql.SQLDataSource' - 
            check to make sure you have isomorphic_sql.jar (and its dependencies: 
            isomorphic_core_rpc.jar, 
            velocity-1.6.1.jar, 
            commons-lang-2.4.jar, 
            commons-httpclient-3.1.jar, 
            poi-ooxml-schemas-3.6-20091214.jar, 
            commons-jxpath-1.3.jar, 
            groovy-all-1.8.7.jar, 
            devenv/postgresql-9.0-801.jdbc4.jar, 
            hibernate-validator-4.1.0.Final.jar, 
            commons-pool-1.4.jar, 
            devenv/mysql_connector_java_5.0.5.bin.jar, 
            => commons-dbcp-1.2.2.jar, 
            UNKNOWN> javax.persistence.jar,
            poi-ooxml-3.6-20091214.jar, 
            mail.jar, 
            poi-3.6-20091214.jar, 
            commons-cli-1.1.jar, 
            xercesImpl.jar, 
            commons-fileupload-1.2.1.jar, 
            commons-vfs-1.0.jar, 
            log4j-1.2.15.jar, 
            xbean.jar, 
            xml-apis.jar, 
            activation.jar, 
            => hsqldb-1.8.0.10.jar, 
            validation-api-1.0.0.GA.jar, 
            java-engine_noDebug.jar, 
            isc-jakarta-oro-2.0.6.jar, 
            commons-codec-1.3.jar, 
            commons-collections-3.2.1.jar, 
            java-engine.jar
            ) in your CLASSPATH
            === 2012-08-24 10:22:39,791 [ec-7] ERROR IDACall - Top-level servlet error:
            Now, I have a java.lang.NoClassDefFoundError: com/isomorphic/interfaces/ISQLDataSource


            Code:
            === 2012-08-24 10:48:39,074 [ec-4] ERROR IDACall - Top-level servlet error:
            java.lang.NoClassDefFoundError: com/isomorphic/interfaces/ISQLDataSource
                    at java.lang.ClassLoader.defineClass1(Native Method)
                    at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
                    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
                    at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
                    at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
                    at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
                    at java.security.AccessController.doPrivileged(Native Method)
                    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
                    at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
                    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
                    at java.lang.Class.forName0(Native Method)
                    at java.lang.Class.forName(Class.java:264)
                    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1698)
                    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1556)
                    at java.lang.Class.forName0(Native Method)
                    at java.lang.Class.forName(Class.java:264)
                    at com.isomorphic.base.Reflection.classForName(Reflection.java:137)
                    at com.isomorphic.base.Reflection.getClassCache(Reflection.java:470)
                    at com.isomorphic.base.Reflection.instantiateClass(Reflection.java:188)
                    at com.isomorphic.base.Reflection.instantiateClass(Reflection.java:172)
                    at com.isomorphic.interfaces.InterfaceProvider.load(InterfaceProvider.java:92)
                    at com.isomorphic.datasource.BasicDataSource.fromConfig(BasicDataSource.java:143)
                    at com.isomorphic.datasource.DataSource.fromConfig(DataSource.java:359)
                    at com.isomorphic.datasource.FileSystemDSRepo.loadDS(FileSystemDSRepo.java:110)
                    at com.isomorphic.datasource.DataSource.forName(DataSource.java:178)
                    at com.isomorphic.datasource.DataSource.forName(DataSource.java:170)
                    at com.isomorphic.datasource.DataSource.forName(DataSource.java:165)
                    at com.isomorphic.datasource.PoolableDataSourceFactory.makeUnpooledObject(PoolableDataSourceFactory.java:95)
                    at com.isomorphic.datasource.PoolableDataSourceFactory.makeObject(PoolableDataSourceFactory.java:102)
                    at com.isomorphic.pool.PoolManager.borrowObject(PoolManager.java:82)
                    at com.isomorphic.datasource.DataSourceManager.getDataSource(DataSourceManager.java:87)
                    at com.isomorphic.datasource.DSRequest.getDataSource(DSRequest.java:1739)
                    at com.isomorphic.rpc.RPCManager.parseRequest(RPCManager.java:1940)
                    at com.isomorphic.rpc.RPCManager.<init>(RPCManager.java:296)
                    at com.isomorphic.rpc.RPCManager.<init>(RPCManager.java:281)
                    at com.isomorphic.servlet.IDACall.processRequest(IDACall.java:116)
                    at com.isomorphic.servlet.IDACall.doPost(IDACall.java:73)
                    at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
                    at com.isomorphic.servlet.BaseServlet.service(BaseServlet.java:152)
                    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
                    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
                    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
                    at com.isomorphic.servlet.CompressionFilter.doFilter(CompressionFilter.java:259)
                    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
                    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
                    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225)
                    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
                    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
                    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
                    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
                    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
                    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
                    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
                    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1001)
                    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585)
                    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
                    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
                    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
                    at java.lang.Thread.run(Thread.java:679)
            Caused by: java.lang.ClassNotFoundException: com.isomorphic.interfaces.ISQLDataSource
                    at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
                    at java.security.AccessController.doPrivileged(Native Method)
                    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
                    at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
                    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
                    ... 59 more

            Comment

            Working...
            X