Announcement

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

    java.lang.NoClassDefFoundError: com/smartgwt/client/data/DSCallback on server side

    Hi,

    I got this error when I try to get field value from DSRequest (Spring bean/datasource DMI). I'm using SmartGWT Power 2.5. If I add smartgwt.jar to the WEB_INF\lib, everything starts working. Is any dependency between server side isomorphic libraries and smartgwt.jar? I'd like to avoid adding 10MB to my WAR.

    Code:
    import com.isomorphic.datasource.DSRequest;
    import com.isomorphic.datasource.DSResponse;
    
    public class DlgWizardActions {
    
       public DSResponse updateDpaceInitParams(DSRequest request) {
          DSResponse response = new DSResponse();
          Long wizardId = (Long) request.getFieldValue(Application.PARAM_WIZARD_ID); //exception here
          return response;
       }
    }
    Log:

    Code:
    17:05:56,544 INFO  [STDOUT] === 2011-10-06 17:05:56,544 [80-1] INFO  RequestContext - URL: '/nextgen/formsapp/sc/IDACall', User-Agent: 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20100101 Firefox/5.0': Moz (Gecko) with Accept-Encoding header
    17:05:56,545 INFO  [STDOUT] === 2011-10-06 17:05:56,545 [80-1] DEBUG Compression - /nextgen/formsapp/sc/IDACall: Request looks compressable.
    17:05:56,545 INFO  [STDOUT] === 2011-10-06 17:05:56,545 [80-1] DEBUG RequestContext - Paths for request:
    Servlet path: '/formsapp/sc/IDACall'
    Request URI: '/nextgen/formsapp/sc/IDACall'
    Path Info: 'null'
    Path Translated: 'null'
    Real FileSystem Path: 'C:\Java\jboss-4.2.3.GA\server\default\.\deploy\nextgen.war\nextgen\formsapp\sc\IDACall'
    17:05:56,575 INFO  [STDOUT] === 2011-10-06 17:05:56,575 [80-1] DEBUG RequestContext - Paths for request:
    Servlet path: '/formsapp/sc/IDACall'
    Request URI: '/nextgen/formsapp/sc/IDACall'
    Path Info: 'null'
    Path Translated: 'null'
    Real FileSystem Path: 'C:\Java\jboss-4.2.3.GA\server\default\.\deploy\nextgen.war\nextgen\formsapp\sc\IDACall'
    17:05:56,576 INFO  [STDOUT] === 2011-10-06 17:05:56,576 [80-1] DEBUG XML - Parsed XML from (in memory stream): 1ms
    17:05:56,577 INFO  [STDOUT] === 2011-10-06 17:05:56,577 [80-1] DEBUG DataSource - In DS.forName() for 'transaction' with DSRequest: null
    17:05:56,578 INFO  [STDOUT] === 2011-10-06 17:05:56,578 [80-1] DEBUG DataStructCache - getInstanceFile (failure): 'transaction' instance of datasources: 1ms
    17:05:56,578 INFO  [STDOUT] === 2011-10-06 17:05:56,578 [80-1] DEBUG DataSource - In DS.forName() for 'Object' with DSRequest: null
    17:05:56,578 INFO  [STDOUT] === 2011-10-06 17:05:56,578 [80-1] DEBUG DataSource - Creating instance of DataSource 'Object'
    17:05:56,578 INFO  [STDOUT] === 2011-10-06 17:05:56,578 [80-1] DEBUG BasicDataSource - Validating a 'Object' at path ''
    17:05:56,579 INFO  [STDOUT] === 2011-10-06 17:05:56,579 [80-1] DEBUG DataSource - In DS.forName() for 'Object' with DSRequest: null
    17:05:56,579 INFO  [STDOUT] === 2011-10-06 17:05:56,579 [80-1] DEBUG DataSource - Creating instance of DataSource 'Object'
    17:05:56,579 INFO  [STDOUT] === 2011-10-06 17:05:56,579 [80-1] DEBUG Validation - Value provided for unknown field: Object.xsi: value is: http://www.w3.org/2000/10/XMLSchema-instance
    17:05:56,579 INFO  [STDOUT] === 2011-10-06 17:05:56,579 [80-1] DEBUG Validation - Validating field:
    /transaction/transactionNum as Object.transactionNum type: long
    17:05:56,580 INFO  [STDOUT] === 2011-10-06 17:05:56,580 [80-1] DEBUG DataSource - In DS.forName() for 'List' with DSRequest: null
    17:05:56,580 INFO  [STDOUT] === 2011-10-06 17:05:56,580 [80-1] DEBUG DataStructCache - getInstanceFile (success): 'List' instance of datasources: 0ms
    17:05:56,580 INFO  [STDOUT] === 2011-10-06 17:05:56,580 [80-1] DEBUG BasicDataSource - Using class com.isomorphic.datasource.ListType as implementer for DataSource List
    17:05:56,580 INFO  [STDOUT] === 2011-10-06 17:05:56,580 [80-1] DEBUG DataSource - Creating instance of DataSource 'List'
    17:05:56,581 INFO  [STDOUT] === 2011-10-06 17:05:56,580 [80-1] DEBUG Validation - Validating field:
    /transaction/operations as Object.operations type: List
    17:05:56,581 INFO  [STDOUT] === 2011-10-06 17:05:56,581 [80-1] DEBUG DataSource - In DS.forName() for 'elem' with DSRequest: null
    17:05:56,581 INFO  [STDOUT] === 2011-10-06 17:05:56,581 [80-1] DEBUG DataStructCache - getInstanceFile (failure): 'elem' instance of datasources: 0ms
    17:05:56,581 INFO  [STDOUT] === 2011-10-06 17:05:56,581 [80-1] DEBUG DataSource - In DS.forName() for 'Object' with DSRequest: null
    17:05:56,582 INFO  [STDOUT] === 2011-10-06 17:05:56,581 [80-1] DEBUG DataSource - Creating instance of DataSource 'Object'
    17:05:56,582 INFO  [STDOUT] === 2011-10-06 17:05:56,582 [80-1] DEBUG BasicDataSource - Validating a 'Object' at path '/transaction/operations'
    17:05:56,582 INFO  [STDOUT] === 2011-10-06 17:05:56,582 [80-1] DEBUG DataSource - In DS.forName() for 'Object' with DSRequest: null
    17:05:56,582 INFO  [STDOUT] === 2011-10-06 17:05:56,582 [80-1] DEBUG DataSource - Creating instance of DataSource 'Object'
    17:05:56,582 INFO  [STDOUT] === 2011-10-06 17:05:56,582 [80-1] DEBUG DataSource - In DS.forName() for 'Object' with DSRequest: null
    17:05:56,582 INFO  [STDOUT] === 2011-10-06 17:05:56,582 [80-1] DEBUG DataSource - Creating instance of DataSource 'Object'
    17:05:56,582 INFO  [STDOUT] === 2011-10-06 17:05:56,582 [80-1] DEBUG Validation - Validating field:
    /transaction/operations/elem/values as Object.values type: Object
    17:05:56,582 INFO  [STDOUT] === 2011-10-06 17:05:56,582 [80-1] DEBUG BasicDataSource - Validating a 'Object' at path '/transaction/operations/elem/values'
    17:05:56,583 INFO  [STDOUT] === 2011-10-06 17:05:56,583 [80-1] DEBUG DataSource - In DS.forName() for 'Object' with DSRequest: null
    17:05:56,583 INFO  [STDOUT] === 2011-10-06 17:05:56,583 [80-1] DEBUG DataSource - Creating instance of DataSource 'Object'
    17:05:56,583 INFO  [STDOUT] === 2011-10-06 17:05:56,583 [80-1] DEBUG Validation - Validating field:
    /transaction/operations/elem/values/values/dlgWizardId as Object.dlgWizardId type: long
    17:05:56,583 INFO  [STDOUT] === 2011-10-06 17:05:56,583 [80-1] DEBUG BasicDataSource - Done validating a 'Object' at path '/transaction/operations/elem/values': 1ms
    17:05:56,584 INFO  [STDOUT] === 2011-10-06 17:05:56,584 [80-1] DEBUG DataSource - In DS.forName() for 'Object' with DSRequest: null
    17:05:56,584 INFO  [STDOUT] === 2011-10-06 17:05:56,584 [80-1] DEBUG DataSource - Creating instance of DataSource 'Object'
    17:05:56,584 INFO  [STDOUT] === 2011-10-06 17:05:56,584 [80-1] DEBUG Validation - Validating field:
    /transaction/operations/elem/operationConfig as Object.operationConfig type: Object
    17:05:56,585 INFO  [STDOUT] === 2011-10-06 17:05:56,585 [80-1] DEBUG BasicDataSource - Validating a 'Object' at path '/transaction/operations/elem/operationConfig'
    17:05:56,585 INFO  [STDOUT] === 2011-10-06 17:05:56,585 [80-1] DEBUG DataSource - In DS.forName() for 'Object' with DSRequest: null
    17:05:56,585 INFO  [STDOUT] === 2011-10-06 17:05:56,585 [80-1] DEBUG DataSource - Creating instance of DataSource 'Object'
    17:05:56,585 INFO  [STDOUT] === 2011-10-06 17:05:56,585 [80-1] DEBUG Validation - Value provided for unknown field: Object.dataSource: value is: newAccountWizardCache
    17:05:56,586 INFO  [STDOUT] === 2011-10-06 17:05:56,586 [80-1] DEBUG Validation - Value provided for unknown field: Object.operationType: value is: custom
    17:05:56,586 INFO  [STDOUT] === 2011-10-06 17:05:56,586 [80-1] DEBUG BasicDataSource - Done validating a 'Object' at path '/transaction/operations/elem/operationConfig': 1ms
    17:05:56,586 INFO  [STDOUT] === 2011-10-06 17:05:56,586 [80-1] DEBUG Validation - Value provided for unknown field: Object.appID: value is: builtinApplication
    17:05:56,586 INFO  [STDOUT] === 2011-10-06 17:05:56,586 [80-1] DEBUG Validation - Value provided for unknown field: Object.operation: value is: updateDpaceInitParams
    17:05:56,586 INFO  [STDOUT] === 2011-10-06 17:05:56,586 [80-1] DEBUG DataSource - In DS.forName() for 'Object' with DSRequest: null
    17:05:56,587 INFO  [STDOUT] === 2011-10-06 17:05:56,587 [80-1] DEBUG DataSource - Creating instance of DataSource 'Object'
    17:05:56,587 INFO  [STDOUT] === 2011-10-06 17:05:56,587 [80-1] DEBUG Validation - Validating field:
    /transaction/operations/elem/oldValues as Object.oldValues type: Object
    17:05:56,587 INFO  [STDOUT] === 2011-10-06 17:05:56,587 [80-1] DEBUG BasicDataSource - Validating a 'Object' at path '/transaction/operations/elem/oldValues'
    17:05:56,588 INFO  [STDOUT] === 2011-10-06 17:05:56,588 [80-1] DEBUG DataSource - In DS.forName() for 'Object' with DSRequest: null
    17:05:56,588 INFO  [STDOUT] === 2011-10-06 17:05:56,588 [80-1] DEBUG DataSource - Creating instance of DataSource 'Object'
    17:05:56,588 INFO  [STDOUT] === 2011-10-06 17:05:56,588 [80-1] DEBUG Validation - Validating field:
    /transaction/operations/elem/oldValues/oldValues/dlgWizardId as Object.dlgWizardId type: long
    17:05:56,588 INFO  [STDOUT] === 2011-10-06 17:05:56,588 [80-1] DEBUG BasicDataSource - Done validating a 'Object' at path '/transaction/operations/elem/oldValues': 1ms
    17:05:56,588 INFO  [STDOUT] === 2011-10-06 17:05:56,588 [80-1] DEBUG BasicDataSource - Done validating a 'Object' at path '/transaction/operations': 6ms
    17:05:56,588 INFO  [STDOUT] === 2011-10-06 17:05:56,588 [80-1] DEBUG BasicDataSource - Done validating a 'List' at path '/transaction/operations': 7ms
    17:05:56,588 INFO  [STDOUT] === 2011-10-06 17:05:56,588 [80-1] DEBUG BasicDataSource - Done validating a 'Object' at path '': 10ms
    17:05:56,588 INFO  [STDOUT] === 2011-10-06 17:05:56,588 [80-1] DEBUG Timing - DataSource record created from XML with document element: 'transaction': 11ms
    17:05:56,588 INFO  [STDOUT] === 2011-10-06 17:05:56,588 [80-1] DEBUG RPCManager - Processing 1 requests.
    17:05:56,589 INFO  [STDOUT] === 2011-10-06 17:05:56,589 [80-1] DEBUG DataSource - In DS.forName() for 'newAccountWizardCache' with DSRequest: com.isomorphic.datasource.DSRequest@1b807ac
    17:05:56,590 INFO  [STDOUT] === 2011-10-06 17:05:56,590 [80-1] DEBUG DataStructCache - getInstanceFile (success): 'newAccountWizardCache' instance of datasources: 1ms
    17:05:56,590 INFO  [STDOUT] === 2011-10-06 17:05:56,590 [80-1] DEBUG BasicDataSource - Looking up Spring bean 'dlgWizardDatasource' as implementer for DataSource newAccountWizardCache
    17:05:56,590 INFO  [STDOUT] === 2011-10-06 17:05:56,590 [80-1] DEBUG InterfaceProvider - Instantiating com.isomorphic.spring.SpringBeanFactory to satisfy request for an ISpringBeanFactory
    17:05:56,590 INFO  [STDOUT] === 2011-10-06 17:05:56,590 [80-1] DEBUG DataSource - Creating instance of DataSource 'newAccountWizardCache'
    17:05:56,591 INFO  [STDOUT] === 2011-10-06 17:05:56,591 [80-1] DEBUG Timing - Time to convert org.apache.commons.collections.map.LinkedMap to JS Object: 0ms
    17:05:56,591 INFO  [STDOUT] === 2011-10-06 17:05:56,591 [80-1] DEBUG RPCManager - Request #1 (DSRequest) payload: {
        values:{
            dlgWizardId:1
        },
        operationConfig:{
            dataSource:"newAccountWizardCache",
            operationType:"custom"
        },
        appID:"builtinApplication",
        operation:"updateDpaceInitParams",
        oldValues:{
            dlgWizardId:1
        },
        criteria:{
        }
    }
    17:05:56,591 INFO  [STDOUT] === 2011-10-06 17:05:56,591 [80-1] INFO  ServerObject - DMI on Spring bean: dlgWizardActions
    17:05:56,591 INFO  [STDOUT] === 2011-10-06 17:05:56,591 [80-1] DEBUG InterfaceProvider - Instantiating com.isomorphic.spring.SpringBeanFactory to satisfy request for an ISpringBeanFactory
    17:05:56,645 INFO  [STDOUT] === 2011-10-06 17:05:56,645 [80-1] DEBUG Reflection - adaptArgsAndInvoke:
    
     public final com.isomorphic.datasource.DSResponse com.docupace.dflow.forms.server.DlgWizardActions$$EnhancerByCGLIB$$9c1c50b8.updateDpaceInitParams(com.isomorphic.datasource.DSRequest)
    
    requiredArgs: [] optionalArgs: [com.isomorphic.servlet.RequestContext, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.ServletContext, javax.servlet.http.HttpSession, com.isomorphic.rpc.RPCManager, com.isomorphic.datasource.DSRequest, com.isomorphic.datasource.DataSource, java.sql.Connection, com.isomorphic.log.Logger, java.util.Map]
    17:05:56,645 INFO  [STDOUT] === 2011-10-06 17:05:56,645 [80-1] DEBUG Reflection - checking whether type: com.isomorphic.servlet.RequestContext fulfills type: com.isomorphic.datasource.DSRequest
    17:05:56,645 INFO  [STDOUT] === 2011-10-06 17:05:56,645 [80-1] DEBUG Reflection - checking whether type: javax.servlet.http.HttpServletRequest fulfills type: com.isomorphic.datasource.DSRequest
    17:05:56,645 INFO  [STDOUT] === 2011-10-06 17:05:56,645 [80-1] DEBUG Reflection - checking whether type: javax.servlet.http.HttpServletResponse fulfills type: com.isomorphic.datasource.DSRequest
    17:05:56,646 INFO  [STDOUT] === 2011-10-06 17:05:56,646 [80-1] DEBUG Reflection - checking whether type: javax.servlet.ServletContext fulfills type: com.isomorphic.datasource.DSRequest
    17:05:56,646 INFO  [STDOUT] === 2011-10-06 17:05:56,646 [80-1] DEBUG Reflection - checking whether type: javax.servlet.http.HttpSession fulfills type: com.isomorphic.datasource.DSRequest
    17:05:56,646 INFO  [STDOUT] === 2011-10-06 17:05:56,646 [80-1] DEBUG Reflection - checking whether type: com.isomorphic.rpc.RPCManager fulfills type: com.isomorphic.datasource.DSRequest
    17:05:56,646 INFO  [STDOUT] === 2011-10-06 17:05:56,646 [80-1] DEBUG Reflection - checking whether type: com.isomorphic.datasource.DSRequest fulfills type: com.isomorphic.datasource.DSRequest
    17:05:56,646 INFO  [STDOUT] === 2011-10-06 17:05:56,646 [80-1] DEBUG Reflection - Successfully adapted optional arg type: com.isomorphic.datasource.DSRequest to type: com.isomorphic.datasource.DSRequest
    17:05:56,646 INFO  [STDOUT] === 2011-10-06 17:05:56,646 [80-1] DEBUG Reflection - method takes: 1 args.  I've assembled: 1 args
    17:05:56,646 INFO  [STDOUT] === 2011-10-06 17:05:56,646 [80-1] DEBUG Reflection - invoking method:
    com.isomorphic.datasource.DSResponse com.docupace.dflow.forms.server.DlgWizardActions$$EnhancerByCGLIB$$9c1c50b8.updateDpaceInitParams(com.isomorphic.datasource.DSRequest)
    
    with arg types: com.isomorphic.datasource.DSRequest
    17:06:19,576 INFO  [STDOUT] === 2011-10-06 17:06:19,575 [80-1] DEBUG DataSourceDMI - Invocation threw exception
    java.lang.NoClassDefFoundError: com/smartgwt/client/data/DSCallback
    	at com.company.DlgWizardActions.updateDpaceInitParams(DlgWizardActions.java:27)
    Thanks

    #2
    Never mind, the problem was that we use Java constants defined in a Application class (client side)

    Comment

    Working...
    X