[Building Sakai] How to send a email?
Sam Chow
samchow at ln.edu.hk
Mon Nov 30 21:51:56 PST 2009
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: <identifier> 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: <identifier> 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: <identifier> 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.
More information about the sakai-dev
mailing list