Announcement

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

    Basic Mail Setup Question

    Trying to implement com.smartgwt.client.docs.serverds.Mail to trigger an e-mail send after a record gets added to a DataSource.

    First I did some basic test code that adds records to a DataSource:
    Code:
    public class EmailTest implements EntryPoint {
    	
      ListGrid itGrid = new ListGrid();
      Record insertRecord = new Record();
      IButton iButton = new IButton();
    	
     public void onModuleLoad() {
      Canvas canvas = new Canvas();
    		
      DataSource requests = DataSource.getDataSource("REQUESTS");
    		
      itGrid.setDataSource(requests);
      insertRecord.setAttribute("EMPLOYEE_ID", "12345");
      Date date = new Date();
      insertRecord.setAttribute("SUBMITDATE",date);
      insertRecord.setAttribute("STATUS", "something");
    
      itGrid.setAutoFetchData(true);
      
      iButton.setTitle("Add Record");
      iButton.addClickHandler(new ClickHandler() {
    			
    			@Override
    			public void onClick(ClickEvent event) {
    				itGrid.addData(insertRecord);			}
    		});
    		
    		canvas.addChild(itGrid);
    		canvas.addChild(iButton);
    		
    		canvas.draw();
    		
    	}
    
    }
    This code works fine, new records are added without error, the ListGrid refreshes, etc.

    Next, I add the XML-declarative Mail element in the DS.xml file:
    Code:
    <DataSource 
    	schema="mySchema"
    	dbName="dbTest01"
    	tableName="REQUESTS"
    	ID="REQUESTS"
    	dataSourceVersion="1"
    	generatedBy="SC_SNAPSHOT-2011-01-06/EVAL Deployment 2011-01-06"
    	serverType="sql"
    >
     	<operationBindings>
    		<operationBinding operationType="add">
    			<mail 	to="myEmail@testdomain.com" 
    					from="myEmail@testdomain.com" 
    					replyTo="myEmail@testdomain.com" 
    					subject="Test E-mail" 
    					messageTemplate="Body text here."/>
    		</operationBinding>
    	</operationBindings>
    
    	<fields>
    		<field primaryKey="true" name="REQUEST_ID" type="sequence"></field>
    		<field name="EMPLOYEE_ID" type="number"></field>
    		<field name="STARTDATE" type="date"></field>
    		<field name="ENDDATE" type="date"></field>
    		<field name="LEAVETYPE" length="30" type="text"></field>
    		<field name="SUBMITDATE" type="date"></field>
    		<field name="APPROVALDATE" type="date"></field>
    		<field name="STATUS" length="30" type="text"></field>
    	</fields>
    </DataSource>
    In server.properties, I define the mail server settings:
    Code:
    mail.system.mail.smtp.host: mySMTPhostname
    mail.system.mail.smtp.port: 25
    mail.system.mail.smtp.auth: false
    mail.system.mail.smtp.user:
    mail.system.mail.smtp.password:
    mail.system.mail.smtp.connectiontimeout: 2000
    mail.templateRoot: $webRoot/config/mailTemplates
    mail.systemFromAddress: myEmail@testdomain.com
    mail.helpdeskAddress: myEmail@testdomain.com
    mail.URLPrefix: http://www.testdomain.com
    I am able to send a test message by Telnet SMTP session, using this server info.

    Error occurs when I click the IButton to insert a record. First I get an IE pop-up alert message:
    Code:
    Uncaught exception escaped : java.lang.ClassCastException
    null
    See the Development console log for details.
    Register a GWT.setUncaughtExceptionHandler(...) for custom uncaught exception handling.
    OK
    The GWT Dev Mode console shows a bunch of these errors:
    Code:
    00:00:00.000 [ERROR] Uncaught exception escaped
    java.lang.ClassCastException: null 	at java.lang.Class.cast(Unknown Source) 	at com.google.gwt.dev.shell.JsValueGlue.get(JsValueGlue.java:166) 	at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:65) 	at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:157) 	at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessagesWhileWaitingForReturn(BrowserChannelServer.java:326) 	at com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:207) 	at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:129) 	at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:561) 	at com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:269) 	at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91) 	at com.google.gwt.core.client.impl.Impl.apply(Impl.java) 	at com.google.gwt.core.client.impl.Impl.entry0(Impl.java:214) 	at sun.reflect.GeneratedMethodAccessor25.invoke(Unknown Source) 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 	at java.lang.reflect.Method.invoke(Unknown Source) 	at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103) 	at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71) 	at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:157) 	at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages(BrowserChannelServer.java:281) 	at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:531) 	at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:352) 	at java.lang.Thread.run(Unknown Source)
    The Smart GWT Results tab shows the following:
    Code:
    16:17:22.300:WARN:Page:NOTE: isc.Page.getWidth() called before <BODY> tag was written out -- value cannot be determined.  Returning 500
    16:17:22.300:WARN:Page:NOTE: isc.Page.getHeight() called before <BODY> tag was written out -- value cannot be determined.  Returning 500
    16:17:22.409:WARN:AutoObserver:Use addInterfaceProperties() to add methods to interface [Class AutoObserver]
    16:17:49.910:DEBUG:RPCManager:Using ActiveX XMLHttpRequest via constructor: MSXML2.XMLHTTP
    16:17:49.910:DEBUG:RPCManager:Grabbed prompt from first request that defined one: Finding Records that match your criteria...
    16:17:50.066:INFO:RPCManager:sendQueue[0]: 1 RPCRequest(s); transport: xmlHttpRequest; target: http://127.0.0.1:8888/builtinds/sc/IDACall?isc_rpc=1&isc_v=SC_SNAPSHOT-2011-01-06&isc_xhr=1&isc_tnum=0
    16:17:50.082:DEBUG:RPCManager:Using ActiveX XMLHttpRequest via constructor: MSXML2.XMLHTTP
    16:17:50.082:DEBUG:RPCManager:XMLHttpRequest POST to http://127.0.0.1:8888/builtinds/sc/IDACall?isc_rpc=1&isc_v=SC_SNAPSHOT-2011-01-06&isc_xhr=1&isc_tnum=0 contentType: application/x-www-form-urlencoded; charset=UTF-8 with body -->_transaction=<transaction xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:type="xsd:Object"><transactionNum xsi:type="xsd:long">0</transactionNum><operations xsi:type="xsd:List"><elem xsi:type="xsd:Object"><criteria xsi:type="xsd:Object"></criteria><operationConfig xsi:type="xsd:Object"><dataSource>REQUESTS</dataSource><operationType>fetch</operationType><textMatchStyle>substring</textMatchStyle></operationConfig><startRow xsi:type="xsd:long">0</startRow><endRow xsi:type="xsd:long">75</endRow><sortBy xsi:type="xsd:List"><elem>REQUEST_ID</elem></sortBy><componentId>isc_ListGrid_0</componentId><appID>builtinApplication</appID><operation>REQUESTS_fetch</operation><oldValues xsi:type="xsd:Object"></oldValues></elem></operations></transaction>&protocolVersion=1.0<--
    16:17:51.332:XRP8:INFO:RPCManager:transaction 0 arrived after 1266ms
    16:17:51.332:XRP8:DEBUG:RPCManager:Result string for transaction 0: "//isc_RPCResponseStart-->[{endRow:4,queueStatus:0,totalRows:4,isDSResponse:true,invalidateCache:false,status:0,startRow:0,data:[{REQUEST_ID:51,EMPLOYEE_ID:38289},{SUBMITDATE:Date.parseServerDate(2011,4,16),STATUS:"something",REQUEST_ID:138,EMPLOYEE_ID:38289},{SUBMITDATE:Date.parseServerDate(2011,4,16),STATUS:"something",REQUEST_ID:139,EMPLOYEE_ID:38289},{SUBMITDATE:Date.parseServerDate(2011,4,16),STATUS:"something",REQUEST_ID:140,EMPLOYEE_ID:38289}]}]//isc_RPCResponseEnd"
    16:17:51.332:XRP8:INFO:RPCManager:rpcResponse(REQUESTS_fetch)[fetch]: result: 4 records[status=0]
    16:17:51.754:RDQ0:DEBUG:ListGrid:isc_ListGrid_0:delaying adjustOverflow: childResized
    16:18:57.755:MUP7:DEBUG:RPCManager:Using ActiveX XMLHttpRequest via constructor: MSXML2.XMLHTTP
    16:18:57.770:MUP7:INFO:RPCManager:sendQueue[1]: 1 RPCRequest(s); transport: xmlHttpRequest; target: http://127.0.0.1:8888/builtinds/sc/IDACall?isc_rpc=1&isc_v=SC_SNAPSHOT-2011-01-06&isc_xhr=1&isc_tnum=1
    16:18:57.786:MUP7:DEBUG:RPCManager:Using ActiveX XMLHttpRequest via constructor: MSXML2.XMLHTTP
    16:18:57.802:MUP7:DEBUG:RPCManager:XMLHttpRequest POST to http://127.0.0.1:8888/builtinds/sc/IDACall?isc_rpc=1&isc_v=SC_SNAPSHOT-2011-01-06&isc_xhr=1&isc_tnum=1 contentType: application/x-www-form-urlencoded; charset=UTF-8 with body -->_transaction=<transaction xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance" xsi:type="xsd:Object"><transactionNum xsi:type="xsd:long">1</transactionNum><operations xsi:type="xsd:List"><elem xsi:type="xsd:Object"><values xsi:type="xsd:Object"><EMPLOYEE_ID>38289</EMPLOYEE_ID><SUBMITDATE xsi:type="xsd:date">2011-05-16</SUBMITDATE><STATUS>something</STATUS></values><operationConfig xsi:type="xsd:Object"><dataSource>REQUESTS</dataSource><operationType>add</operationType></operationConfig><componentId>isc_ListGrid_0</componentId><appID>builtinApplication</appID><operation>REQUESTS_add</operation><oldValues xsi:type="xsd:Object"><EMPLOYEE_ID>38289</EMPLOYEE_ID><SUBMITDATE xsi:type="xsd:date">2011-05-16</SUBMITDATE><STATUS>something</STATUS></oldValues></elem></operations></transaction>&protocolVersion=1.0<--
    16:18:58.224:XRP1:INFO:RPCManager:transaction 1 arrived after 454ms
    16:18:58.224:XRP1:DEBUG:RPCManager:Result string for transaction 1: "<BR>com.isomorphic.servlet.IDACall top-level exception<BR>
    <PRE>
    java.lang.NoClassDefFoundError: javax/mail/Multipart
    	at com.isomorphic.datasource.DSRequest.execute(DSRequest.java:1649)
    	at com.isomorphic.servlet.IDACall.handleDSRequest(IDACall.java:173)
    	at com.isomorphic.servlet.IDACall.processRPCTransaction(IDACall.java:130)
    	at com.isomorphic.servlet.IDACall.processRequest(IDACall.java:95)
    	at com.isomorphic.servlet.IDACall.doPost(IDACall.java:54)
    	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:259)
    	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:205)
    	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)
    Caused by: java.lang.ClassNotFoundException: javax.mail.Multipart
    	at java.lang.ClassLoader.findClass(Unknown Source)
    	at java.lang.ClassLoader.loadClass(Unknown Source)
    	at java.lang.ClassLoader.loadClass(Unknown Source)
    	at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:352)
    	at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:337)
    	... 28 more
    </PRE>
    "
    16:18:58.239:XRP1:INFO:RPCManager:rpcResponse(unstructured) results -->"<BR>com.isomorphic.servlet.IDACall top-level exception<BR>
    <PRE>
    java.lang.NoClassDefFoundError: javax/mail/Multipart
    	at com.isomorphic.datasource.DSRequest.execute(DSRequest.java:1649)
    	at com.isomorphic.servlet.IDACall.handleDSRequest(IDACall.java:173)
    	at com.isomorphic.servlet.IDACall.processRPCTransaction(IDACall.java:130)
    	at com.isomorphic.servlet.IDACall.processRequest(IDACall.java:95)
    	at com.isomorphic.servlet.IDACall.doPost(IDACall.java:54)
    	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:259)
    	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:205)
    	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)
    Caused by: java.lang.ClassNotFoundException: javax.mail.Multipart
    	at java.lang.ClassLoader.findClass(Unknown Source)
    	at java.lang.ClassLoader.loadClass(Unknown Source)
    	at java.lang.ClassLoader.loadClass(Unknown Source)
    	at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:352)
    	at org.mortbay.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:337)
    	... 28 more
    </PRE>
    "<--
    16:19:41.224:DEBUG:ListGrid:isc_ListGrid_0:delaying adjustOverflow: childResized
    So what am I missing? Any advice appreciated, thanks.

    Using:
    ■ IE7
    ■ WinXP
    ■ Eclipse 3.6
    ■ GWT 2.2
    ■ SGWT 2.4 (eval)

    #2
    Some progress...

    I copied the files mail.jar and activation.jar from the smartgwtee-2.4\lib folder to my project's lib folder. I am working within BuiltInDS sample project.

    Now my dev mode run gets further along. But I've hit a brick wall (for me anyway) in reading the dev console logs.

    When I click the button that inserts a record, which in turn should send an email based on ds.xml operationbinding declaration, the Eclipse console reports:
    Code:
    === 2011-05-18 15:42:03,487 [l0-2] WARN  DSRequest - java.lang.NullPointerException
    java.lang.NullPointerException
    	at com.isomorphic.mail.MailMessage.send(MailMessage.java:479)
    	at com.isomorphic.datasource.DSRequest.execute(DSRequest.java:1683)
    	at com.isomorphic.servlet.IDACall.handleDSRequest(IDACall.java:173)
    	at com.isomorphic.servlet.IDACall.processRPCTransaction(IDACall.java:130)
    	at com.isomorphic.servlet.IDACall.processRequest(IDACall.java:95)
    	at com.isomorphic.servlet.IDACall.doPost(IDACall.java:54)
    	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:259)
    	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:205)
    	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)
    === 2011-05-18 15:42:03,487 [l0-2] DEBUG RPCManager - Content type for RPC transaction: text/plain; charset=UTF-8
    === 2011-05-18 15:42:03,487 [l0-2] DEBUG SQLTransaction - Committing myOracleDatabase transaction "25568024"
    === 2011-05-18 15:42:03,502 [l0-2] DEBUG SQLTransaction - Ending myOracleDatabase transaction "25568024"
    === 2011-05-18 15:42:03,502 [l0-2] DEBUG RPCManager - non-DMI response, dropExtraFields: false
    === 2011-05-18 15:42:03,502 [l0-2] INFO  Compression - /builtinds/sc/IDACall: 215 -> 192 bytes
    But when I click on the hyperlink for "(MailMessage.java:479)", I get an Eclipse alert pop-up:
    Code:
    Invalid Line Number
    479 in not a valid line number in com.isomorphic.mail.MailMessage
    OK
    Then Eclipse shows an editor window with "Class File Editor," "Source Not Found," "Changed Attached Source?" "Select the location containing the source for 'isomorphic_core_rpc.jar'.

    I locate and select the file smartgwtee-2.4/lib/isomorphic_core_rpc.jar (using all possible choices re workspace/file/folder). Returned to Editor window, no apparent change. No line numbers in this editor.

    Next, I review the SmartClient Developer Console. The RPC tab shows the following:

    RPCRequest
    Code:
    {
        "actionURL":"http://127.0.0.1:8888/builtinds/sc/IDACall", 
        "showPrompt":true, 
        "transport":"xmlHttpRequest", 
        "promptStyle":"cursor", 
        "bypassCache":true, 
        "data":{
            "values":{
                "EMPLOYEE_ID":"12345", 
                "SUBMITDATE":"2011-05-18", 
                "STATUS":"something"
            }, 
            "operationConfig":{
                "dataSource":"REQUESTS", 
                "repo":null, 
                "operationType":"add"
            }, 
            "componentId":"isc_ListGrid_0", 
            "appID":"builtinApplication", 
            "operation":"REQUESTS_add", 
            "oldValues":{
                "EMPLOYEE_ID":"12345", 
                "SUBMITDATE":"2011-05-18", 
                "STATUS":"something"
            }
        }
    }
    DSRequest
    Code:
    {
        "actionURL":"http://127.0.0.1:8888/builtinds/sc/IDACall", 
        "showPrompt":true, 
        "transport":"xmlHttpRequest", 
        "promptStyle":"cursor", 
        "bypassCache":true, 
        "data":{
            "values":{
                "EMPLOYEE_ID":"12345", 
                "SUBMITDATE":"2011-05-18", 
                "STATUS":"something"
            }, 
            "operationConfig":{
                "dataSource":"REQUESTS", 
                "repo":null, 
                "operationType":"add"
            }, 
            "componentId":"isc_ListGrid_0", 
            "appID":"builtinApplication", 
            "operation":"REQUESTS_add", 
            "oldValues":{
                "EMPLOYEE_ID":"12345", 
                "SUBMITDATE":"2011-05-18", 
                "STATUS":"something"
            }
        }
    }
    Response
    Code:
    [
        {
            queueStatus:0, 
            isDSResponse:true, 
            invalidateCache:false, 
            status:0, 
            data:[
                {
                    SUBMITDATE:new Date(1305702000000), 
                    STATUS:"something", 
                    REQUEST_ID:198, 
                    EMPLOYEE_ID:12345
                }
            ]
        }
    ]
    My approach, suggested by the java.lang.NullPointerException just prior to the error at com.isomorphic.mail.MailMessage.send(MailMessage.java:479), is to look for the payload of the attempted message send. I'm guessing some format is off that the receiving SMTP server finds unacceptable? But I'm kind of blind at this point, since I am not seeing anything helpful in the logs.

    Any advice appreciated. Plain vanilla sample code would also be appreciated.

    Thanks.
    Last edited by tinnitus007; 19 Sep 2011, 16:58.

    Comment


      #3
      to this problem there is already a open defect:
      http://forums.smartclient.com/showthread.php?t=16840

      Comment


        #4
        This was a regression, now fixed. The fix will show up in nightly builds as of tomorrow

        Comment


          #5
          "to this problem there is already a open defect:
          http://forums.smartclient.com/showthread.php?t=16840"

          Thanks. Wish I'd seen that earlier, would have saved me many hours of frustration.

          Unfortunately, your post is not returned by the search term "mail."

          I opened new thread on that issue: http://forums.smartclient.com/showth...5461#post65461

          Comment


            #6
            Originally posted by Isomorphic
            This was a regression, now fixed. The fix will show up in nightly builds as of tomorrow
            This response is much appreciated, thanks!

            Followup: The overnight 2.5 build fixed it, I now have basic email functionality. Now on to Velocity! :)
            Last edited by tinnitus007; 20 May 2011, 12:08.

            Comment

            Working...
            X