[Building Sakai] How to send a email?

Sam Chow samchow at ln.edu.hk
Mon Nov 30 22:06:51 PST 2009


the error still orrcur.

i add this in my master/pom.xml, is it correct?

      <dependency> 
	    <groupId>org.sakaiproject.kernel</groupId> 
    	<artifactId>kernel-api</artifactId> 
        <version>${sakai.version}</version>
        <scope>provided</scope>
	  </dependency> 



Steve Swinsburg-3 wrote:
> 
> You still need to initialise emailService which you can do in the
> constructor of the class. Add this method:
> 
> public SakaiScript() {
> 	emailService = (EmailService)
> ComponentManager.get(EmailService.class.getName());
> }
> 
> (Note my initial constructor was truncated sorry)
> 
> Now, you can use the emailService in your web service methods.
> 
> cheers,
> Steve
> 
> 
> On 01/12/2009, at 4:51 PM, Sam Chow wrote:
> 
>> 
>> i just add:   ("private EmailService emailService" is the line 57)
>> 
>> import org.sakaiproject.component.cover.ComponentManager; 
>> import org.sakaiproject.email.api.EmailService; 
>> 
>> private EmailService emailService;
>> 
>> public class SakaiScript {
>> 	
>> private static final Log LOG = LogFactory.getLog(SakaiScript.class);
>> //emailService = (EmailService) ComponentManager.get(EmailService()); 
>> 	
>> private Session establishSession(String id) throws AxisFault 
>> {
>> 	Session s = SessionManager.getSession(id);
>> 
>> 
>> Steve Swinsburg-3 wrote:
>>> 
>>> Yes, a Maven compile will *not* pick this up as JWS files are compiled
>>> at
>>> runtime, ie when you first request the web service WSDL.
>>> 
>>> You need to fix whatever is broken as per the error report:
>>>>> Line 57, column 8:  'class' or 'interface' expected
>>>>> Line 62, column 13:  &lt;identifier&gt; expected
>>> 
>>> 
>>> What parts did you add to SakaiScript.jws?
>>> 
>>> cheers,
>>> Steve
>>> 
>>> 
>>> On 01/12/2009, at 3:54 PM, Sam Chow wrote:
>>> 
>>>> 
>>>> I try to clean install again , but this error still occur :<
>>>> 
>>>> 
>>>> 
>>>> Steve Swinsburg-3 wrote:
>>>>> 
>>>>> JWS files compile at runtime and whenever the file changes, so you'll
>>>>> get
>>>>> that if something is up with the recompile. It tells you what the
>>>>> issue
>>>>> is
>>>>> though:
>>>>> 
>>>>> Line 57, column 8:  'class' or 'interface' expected
>>>>> Line 62, column 13:  &lt;identifier&gt; expected
>>>>> 
>>>>> cheers,
>>>>> Steve
>>>>> 
>>>>> On 01/12/2009, at 2:51 PM, Sam Chow wrote:
>>>>> 
>>>>>> 
>>>>>> There are eror occur: 
>>>>>> 
>>>>>> 2009-12-01 11:48:02,468 ERROR http-8080-Processor22
>>>>>> org.apache.axis.handlers.JWSHandler - Exception:
>>>>>> AxisFault
>>>>>> faultCode: {http://xml.apache.org/axis/}Server.compileError
>>>>>> faultSubcode: 
>>>>>> faultString: Error while compiling: 
>>>>>> G:\Tomcat\webapps\sakai-axis\WEB-INF\jwsClasses\SakaiScript.java
>>>>>> faultActor: 
>>>>>> faultNode: 
>>>>>> faultDetail: 
>>>>>> 	{}Errors:Error compiling
>>>>>> G:\Tomcat\webapps\sakai-axis\WEB-INF\jwsClasses\SakaiScript.java:
>>>>>> Line 57, column 8:  'class' or 'interface' expected
>>>>>> Line 62, column 13:  &lt;identifier&gt; expected
>>>>>> Line 0, column 0: 
>>>>>> 2 errors
>>>>>> 
>>>>>> 
>>>>>> Error while compiling: 
>>>>>> G:\Tomcat\webapps\sakai-axis\WEB-INF\jwsClasses\SakaiScript.java
>>>>>> 	at
>>>>>> org.apache.axis.handlers.JWSHandler.setupService(JWSHandler.java:232)
>>>>>> 	at org.apache.axis.handlers.JWSHandler.invoke(JWSHandler.java:72)
>>>>>> 	at
>>>>>> org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
>>>>>> 	at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
>>>>>> 	at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
>>>>>> 	at org.apache.axis.server.AxisServer.invoke(AxisServer.java:249)
>>>>>> 	at
>>>>>> org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
>>>>>> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
>>>>>> 	at
>>>>>> org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
>>>>>> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
>>>>>> 	at
>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
>>>>>> 	at
>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
>>>>>> 	at
>>>>>> org.sakaiproject.util.RemoteHostFilter.doFilter(RemoteHostFilter.java:188)
>>>>>> 	at
>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
>>>>>> 	at
>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
>>>>>> 	at
>>>>>> org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:616)
>>>>>> 	at
>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
>>>>>> 	at
>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
>>>>>> 	at
>>>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>>>>>> 	at
>>>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
>>>>>> 	at
>>>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>>>>>> 	at
>>>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
>>>>>> 	at
>>>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
>>>>>> 	at
>>>>>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
>>>>>> 	at
>>>>>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)
>>>>>> 	at
>>>>>> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
>>>>>> 	at
>>>>>> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
>>>>>> 	at
>>>>>> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
>>>>>> 	at
>>>>>> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
>>>>>> 	at java.lang.Thread.run(Thread.java:595)
>>>>>> 
>>>>>> 
>>>>>> 
>>>>>> Steve Swinsburg-3 wrote:
>>>>>>> 
>>>>>>> If you want to do it from the Web Services, you'll need to use the
>>>>>>> ComponentManager:
>>>>>>> 
>>>>>>> import org.sakaiproject.component.cover.ComponentManager;
>>>>>>> import org.sakaiproject.email.api.EmailService;
>>>>>>> 
>>>>>>> Create an instance var and class constructor:
>>>>>>> 
>>>>>>> private EmailService emailService;
>>>>>>> public SakaiScript() {
>>>>>>> 	emailService = (EmailService) ComponentManager.get(EmailService());
>>>>>>> }
>>>>>>> 
>>>>>>> use it:
>>>>>>> emailService.xxx();
>>>>>>> 
>>>>>>> I'm (eventually) going to convert the web services over to use the
>>>>>>> other
>>>>>>> API's like this so we can get rid of the static covers.
>>>>>>> 
>>>>>>> cheers,
>>>>>>> Steve
>>>>>>> 
>>>>>>> On 01/12/2009, at 1:43 PM, Sam Chow wrote:
>>>>>>> 
>>>>>>>> 
>>>>>>>> Thanks Steve.
>>>>>>>> 
>>>>>>>> It is very helpful, but I cannot find the component.xml in web
>>>>>>>> services.
>>>>>>>> 
>>>>>>>> Thanks
>>>>>>>> 
>>>>>>>> 
>>>>>>>> Steve Swinsburg-3 wrote:
>>>>>>>>> 
>>>>>>>>> Hi Sam,
>>>>>>>>> 
>>>>>>>>> Once you have the dependecy setup in your POM, then you can inject
>>>>>>>>> the
>>>>>>>>> API
>>>>>>>>> via your Spring config and a Javabean style setter in your
>>>>>>>>> implementation. 
>>>>>>>>> 
>>>>>>>>> in components.xml
>>>>>>>>> 
>>>>>>>>> <bean id="yourbean">
>>>>>>>>> ...
>>>>>>>>> <property name="emailService"><ref
>>>>>>>>> bean="org.sakaiproject.email.api.EmailService"/></property>
>>>>>>>>> ...
>>>>>>>>> </bean>
>>>>>>>>> 
>>>>>>>>> in your impl:
>>>>>>>>> private EmailService emailService;
>>>>>>>>> public void setEmailService(EmailService emailService) {
>>>>>>>>> 	this.emailService = emailService;
>>>>>>>>> }
>>>>>>>>> 
>>>>>>>>> then do something like:
>>>>>>>>> emailService.sendToUsers(receivers, getHeaders(user.getEmail(),
>>>>>>>>> subject),
>>>>>>>>> formatMessage(subject, message));
>>>>>>>>> to actually send the email.
>>>>>>>>> 
>>>>>>>>> If any of that is foreign, take a look at the code generated in a
>>>>>>>>> sample
>>>>>>>>> app via the Sakai App Builder in Eclipse, or take a look at the
>>>>>>>>> Programmers Cafe docs in Confluence, there are some code examples. 
>>>>>>>>> 
>>>>>>>>> Make sure you have the SMTP properties setup in sakai.properties
>>>>>>>>> too.
>>>>>>>>> 
>>>>>>>>> cheers,
>>>>>>>>> Steve
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> On 30/11/2009, at 3:21 PM, Sam Chow wrote:
>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> Dear David, 
>>>>>>>>>> 
>>>>>>>>>> Thanks for your information. Actually, i am still not successful
>>>>>>>>>> to
>>>>>>>>>> use
>>>>>>>>>> to
>>>>>>>>>> api to send email.
>>>>>>>>>> 
>>>>>>>>>> Is it possible if i copy some code from mailtool.processSendEmail
>>>>>>>>>> to
>>>>>>>>>> web
>>>>>>>>>> service for this my purpose?
>>>>>>>>>> 
>>>>>>>>>> Thanks.
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> David Horwitz wrote:
>>>>>>>>>>> 
>>>>>>>>>>> Hi Sam,
>>>>>>>>>>> 
>>>>>>>>>>> You need to add the email API to your maven dependencies - seing
>>>>>>>>>>> you
>>>>>>>>>>> need to do this I presume your using Sakai 2.5 or earlier so add
>>>>>>>>>>> this
>>>>>>>>>>> to
>>>>>>>>>>> the dependencies of your maven pom.xml:
>>>>>>>>>>> 
>>>>>>>>>>> <dependency>
>>>>>>>>>>> <groupId>org.sakaiproject</grouipId>
>>>>>>>>>>> <artifactId>sakai-email-api<artifactId>
>>>>>>>>>>> </dependency>
>>>>>>>>>>> 
>>>>>>>>>>> If your using Sakai 2.6 or later the dependency you need is to
>>>>>>>>>>> the
>>>>>>>>>>> kernel api (group= org.sakaiproject.kernel artifact= kernel-api)
>>>>>>>>>>> 
>>>>>>>>>>> David
>>>>>>>>>>> 
>>>>>>>>>>> On 11/27/2009 08:25 AM, Sam Chow wrote:
>>>>>>>>>>>> Dear David,
>>>>>>>>>>>> 
>>>>>>>>>>>> it will have compilation error if i  import
>>>>>>>>>>>> org.sakaiproject.email.api.EmailService;
>>>>>>>>>>>> 
>>>>>>>>>>>> What should i do, thanks!
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>>> David Horwitz wrote:
>>>>>>>>>>>> 
>>>>>>>>>>>>> Hi Sam,
>>>>>>>>>>>>> 
>>>>>>>>>>>>> see the EmailService:
>>>>>>>>>>>>> http://source.sakaiproject.org/release/kernel/1.1.0-beta03/apidocs/org/sakaiproject/email/api/EmailService.html
>>>>>>>>>>>>> 
>>>>>>>>>>>>> D
>>>>>>>>>>>>> 
>>>>>>>>>>>>> On 11/24/2009 10:16 AM, Sam Chow wrote:
>>>>>>>>>>>>> 
>>>>>>>>>>>>>> Dear All,
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> I have already written a script to upload some user
>>>>>>>>>>>>>> information
>>>>>>>>>>>>>> to
>>>>>>>>>>>>>> sakai
>>>>>>>>>>>>>> with a random password. Now, i want to email the information
>>>>>>>>>>>>>> message
>>>>>>>>>>>>>> to
>>>>>>>>>>>>>> the user automatcally after his informaiton is inserted to
>>>>>>>>>>>>>> the
>>>>>>>>>>>>>> Sakai.
>>>>>>>>>>>>>> Is
>>>>>>>>>>>>>> there any email api i can call. 
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> Many Thanks!
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> Sam
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>>> sakai-dev mailing list
>>>>>>>>>>>>>> sakai-dev at collab.sakaiproject.org
>>>>>>>>>>>>>> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
>>>>>>>>>>>>>> 
>>>>>>>>>>>>>> TO UNSUBSCRIBE: send email to
>>>>>>>>>>>>>> sakai-dev-unsubscribe at collab.sakaiproject.org with a subject
>>>>>>>>>>>>>> of
>>>>>>>>>>>>>> "unsubscribe"
>>>>>>>>>>>>>> 
>>>>>>>>>>>>> _______________________________________________
>>>>>>>>>>>>> sakai-dev mailing list
>>>>>>>>>>>>> sakai-dev at collab.sakaiproject.org
>>>>>>>>>>>>> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
>>>>>>>>>>>>> 
>>>>>>>>>>>>> TO UNSUBSCRIBE: send email to
>>>>>>>>>>>>> sakai-dev-unsubscribe at collab.sakaiproject.org with a subject
>>>>>>>>>>>>> of
>>>>>>>>>>>>> "unsubscribe"
>>>>>>>>>>>>> 
>>>>>>>>>>>>> 
>>>>>>>>>>>> 
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> sakai-dev mailing list
>>>>>>>>>>> sakai-dev at collab.sakaiproject.org
>>>>>>>>>>> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
>>>>>>>>>>> 
>>>>>>>>>>> TO UNSUBSCRIBE: send email to
>>>>>>>>>>> sakai-dev-unsubscribe at collab.sakaiproject.org with a subject of
>>>>>>>>>>> "unsubscribe"
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>>> -- 
>>>>>>>>>> View this message in context:
>>>>>>>>>> http://old.nabble.com/-Building-Sakai--How-to-send-a-email--tp26492029p26569429.html
>>>>>>>>>> Sent from the Sakai - Development mailing list archive at
>>>>>>>>>> Nabble.com.
>>>>>>>>>> 
>>>>>>>>>> _______________________________________________
>>>>>>>>>> sakai-dev mailing list
>>>>>>>>>> sakai-dev at collab.sakaiproject.org
>>>>>>>>>> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
>>>>>>>>>> 
>>>>>>>>>> TO UNSUBSCRIBE: send email to
>>>>>>>>>> sakai-dev-unsubscribe at collab.sakaiproject.org with a subject of
>>>>>>>>>> "unsubscribe"
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> _______________________________________________
>>>>>>>>> sakai-dev mailing list
>>>>>>>>> sakai-dev at collab.sakaiproject.org
>>>>>>>>> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
>>>>>>>>> 
>>>>>>>>> TO UNSUBSCRIBE: send email to
>>>>>>>>> sakai-dev-unsubscribe at collab.sakaiproject.org with a subject of
>>>>>>>>> "unsubscribe"
>>>>>>>>> 
>>>>>>>> 
>>>>>>>> -- 
>>>>>>>> View this message in context:
>>>>>>>> http://old.nabble.com/-Building-Sakai--How-to-send-a-email--tp26492029p26585678.html
>>>>>>>> Sent from the Sakai - Development mailing list archive at
>>>>>>>> Nabble.com.
>>>>>>>> 
>>>>>>>> _______________________________________________
>>>>>>>> sakai-dev mailing list
>>>>>>>> sakai-dev at collab.sakaiproject.org
>>>>>>>> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
>>>>>>>> 
>>>>>>>> TO UNSUBSCRIBE: send email to
>>>>>>>> sakai-dev-unsubscribe at collab.sakaiproject.org with a subject of
>>>>>>>> "unsubscribe"
>>>>>>> 
>>>>>>> _______________________________________________
>>>>>>> sakai-dev mailing list
>>>>>>> sakai-dev at collab.sakaiproject.org
>>>>>>> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
>>>>>>> 
>>>>>>> TO UNSUBSCRIBE: send email to
>>>>>>> sakai-dev-unsubscribe at collab.sakaiproject.org with a subject of
>>>>>>> "unsubscribe"
>>>>>>> 
>>>>>>> 
>>>>>> 
>>>>>> -- 
>>>>>> View this message in context:
>>>>>> http://old.nabble.com/-Building-Sakai--How-to-send-a-email--tp26492029p26585956.html
>>>>>> Sent from the Sakai - Development mailing list archive at Nabble.com.
>>>>>> 
>>>>>> _______________________________________________
>>>>>> sakai-dev mailing list
>>>>>> sakai-dev at collab.sakaiproject.org
>>>>>> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
>>>>>> 
>>>>>> TO UNSUBSCRIBE: send email to
>>>>>> sakai-dev-unsubscribe at collab.sakaiproject.org with a subject of
>>>>>> "unsubscribe"
>>>>> 
>>>>> _______________________________________________
>>>>> sakai-dev mailing list
>>>>> sakai-dev at collab.sakaiproject.org
>>>>> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
>>>>> 
>>>>> TO UNSUBSCRIBE: send email to
>>>>> sakai-dev-unsubscribe at collab.sakaiproject.org with a subject of
>>>>> "unsubscribe"
>>>>> 
>>>>> 
>>>> 
>>>> -- 
>>>> View this message in context:
>>>> http://old.nabble.com/-Building-Sakai--How-to-send-a-email--tp26492029p26586662.html
>>>> Sent from the Sakai - Development mailing list archive at Nabble.com.
>>>> 
>>>> _______________________________________________
>>>> sakai-dev mailing list
>>>> sakai-dev at collab.sakaiproject.org
>>>> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
>>>> 
>>>> TO UNSUBSCRIBE: send email to
>>>> sakai-dev-unsubscribe at collab.sakaiproject.org with a subject of
>>>> "unsubscribe"
>>> 
>>> _______________________________________________
>>> sakai-dev mailing list
>>> sakai-dev at collab.sakaiproject.org
>>> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
>>> 
>>> TO UNSUBSCRIBE: send email to
>>> sakai-dev-unsubscribe at collab.sakaiproject.org with a subject of
>>> "unsubscribe"
>>> 
>>> 
>> 
>> -- 
>> View this message in context:
>> http://old.nabble.com/-Building-Sakai--How-to-send-a-email--tp26492029p26587015.html
>> Sent from the Sakai - Development mailing list archive at Nabble.com.
>> 
>> _______________________________________________
>> sakai-dev mailing list
>> sakai-dev at collab.sakaiproject.org
>> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
>> 
>> TO UNSUBSCRIBE: send email to
>> sakai-dev-unsubscribe at collab.sakaiproject.org with a subject of
>> "unsubscribe"
> 
> _______________________________________________
> sakai-dev mailing list
> sakai-dev at collab.sakaiproject.org
> http://collab.sakaiproject.org/mailman/listinfo/sakai-dev
> 
> TO UNSUBSCRIBE: send email to
> sakai-dev-unsubscribe at collab.sakaiproject.org with a subject of
> "unsubscribe"
> 
> 

-- 
View this message in context: http://old.nabble.com/-Building-Sakai--How-to-send-a-email--tp26492029p26587122.html
Sent from the Sakai - Development mailing list archive at Nabble.com.



More information about the sakai-dev mailing list