Thank you Fabrizio. That was very helpful.
I did exactly what you suggested and it works fine.
Downloaded the source from the trunk and compiled it into the app.
I am able to send SMS now.

Cheers!
Sinu

On Feb 2, 11:12 pm, Fabrizio Accatino <[email protected]> wrote:
> I think your lib uses not whitelisted java API or blocked java API
>    java.security.AccessControlException: access denied
> (java.lang.RuntimePermission
> setFactory)
>
> Following your stacktrace the problem comes from
> java.net.HttpURLConnection.setFollowRedirect
> The method is called by
> com.techventus.server.voice.Voice.get(Voice.java:1144)
> I searched using Google... is this your 
> lib?http://code.google.com/p/google-voice-java ?
>
> If yes, download the latest source code and compile it. The latest version
> of Voice.java does not contain the call to
> java.net.HttpURLConnection.setFollowRedirect.
> It was replaced some revisions 
> ago.http://code.google.com/p/google-voice-java/source/diff?spec=svn137&ol...http://code.google.com/p/google-voice-java/source/browse/trunk/src/co...
>
> The jar in the download area was not updated. So you need to download the
> source code and compile it by yourself.
>
>    Fabrizio
>
>
>
>
>
>
>
> On Wed, Feb 2, 2011 at 5:34 PM, lovegoogle <[email protected]> wrote:
> > Hello All,
>
> > I tried using google voice within App Engine and it fails to execute
> > because of the custom Security Manager that App Engine uses.
> > From the stack trace, it looks like it is failing during the Http
> > Connection it needs to make to send SMS.
> > My goal is to use SMS feature within my application.
>
> > I tried running the same code outside of App Engine runtime, using
> > just my JDK as a console app and it works fine.
> > The restriction is imposed by App Engine.
>
> > Is there any way to get around it or Google Voice is a no no within
> > App Engine.
> > I would assume that Google Voice is a trusted code since its part of
> > google APIs.
>
> > Any pointers will really help me...Thanks.
>
> > Sinu
>
> > Here is the code
> > -------------------------------------------------------------------------
> >                try
> >                {
> >                        log.info("going to log in");
> >                        Voice voice = new Voice(email, password);
> >                        log.info("logged in");
> >                        voice.sendSMS(phonenum, message);
> >                        log.info("sms sent");
> >                        return true;
> >                }
> >                catch(Exception e)
> >                {
> >                        e.printStackTrace();
> >                        return false;
> >                }
> > -------------------------------------------------------------------------
>
> > Here is the stack trace..
>
> > -------------------------------------------------------------------------
> > going to log in
> >https://www.google.com/accounts/ClientLogin- OK
> > Logged in to Google - Auth token received
> > java.security.AccessControlException: access denied
> > (java.lang.RuntimePermission setFactory)
> >        at
>
> > java.security.AccessControlContext.checkPermission(AccessControlContext.jav 
> > a:
> > 323)
> >        at
> > java.security.AccessController.checkPermission(AccessController.java:
> > 546)
> >        at java.lang.SecurityManager.checkPermission(SecurityManager.java:
> > 532)
> >        at com.google.appengine.tools.development.DevAppServerFactory
> > $CustomSecurityManager.checkPermission(DevAppServerFactory.java:166)
> >        at java.lang.SecurityManager.checkSetFactory(SecurityManager.java:
> > 1612)
> >        at
> > java.net.HttpURLConnection.setFollowRedirects(HttpURLConnection.java:
> > 249)
> >        at com.techventus.server.voice.Voice.get(Voice.java:1144)
> >        at com.techventus.server.voice.Voice.getGeneral(Voice.java:361)
> >        at com.techventus.server.voice.Voice.init(Voice.java:262)
> >        at com.techventus.server.voice.Voice.<init>(Voice.java:211)
> >        at
> > com.sinusekhar.cloudapps.zumba.dao.MobileDAO.sendSMS(MobileDAO.java:
> > 15)
> >        at org.apache.jsp.zumba.jsp.play_jsp._jspService(play_jsp.java:64)
> >        at
> > org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
> >        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> >        at
> > org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:
> > 377)
> >        at
> > org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:
> > 313)
> >        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
> >        at
> > com.google.appengine.tools.development.PrivilegedJspServlet.access
> > $101(PrivilegedJspServlet.java:23)
> >        at com.google.appengine.tools.development.PrivilegedJspServlet
> > $2.run(PrivilegedJspServlet.java:59)
> >        at java.security.AccessController.doPrivileged(Native Method)
> >        at
>
> > com.google.appengine.tools.development.PrivilegedJspServlet.service(Privile 
> > gedJspServlet.java:
> > 57)
> >        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> >        at
> > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:
> > 511)
> >        at org.mortbay.jetty.servlet.ServletHandler
> > $CachedChain.doFilter(ServletHandler.java:1166)
> >        at
>
> > com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFi 
> > lter.java:
> > 58)
> >        at org.mortbay.jetty.servlet.ServletHandler
> > $CachedChain.doFilter(ServletHandler.java:1157)
> >        at
>
> > com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(Trans 
> > actionCleanupFilter.java:
> > 43)
> >        at org.mortbay.jetty.servlet.ServletHandler
> > $CachedChain.doFilter(ServletHandler.java:1157)
> >        at
>
> > com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFile 
> > Filter.java:
> > 122)
> >        at org.mortbay.jetty.servlet.ServletHandler
> > $CachedChain.doFilter(ServletHandler.java:1157)
> >        at
> > org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:
> > 388)
> >        at
> > org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:
> > 216)
> >        at
> > org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:
> > 182)
> >        at
> > org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:
> > 765)
> >        at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:
> > 418)
> >        at
>
> > com.google.apphosting.utils.jetty.DevAppEngineWebAppContext.handle(DevAppEn 
> > gineWebAppContext.java:
> > 70)
> >        at
> > org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
> > 152)
> >        at com.google.appengine.tools.development.JettyContainerService
> > $ApiProxyHandler.handle(JettyContainerService.java:349)
> >        at
> > org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
> > 152)
> >        at org.mortbay.jetty.Server.handle(Server.java:326)
> >        at
> > org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:
> > 542)
> >        at org.mortbay.jetty.HttpConnection
> > $RequestHandler.headerComplete(HttpConnection.java:923)
> >        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:547)
> >        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
> >        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
> >        at
> > org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:
> > 409)
> >        at org.mortbay.thread.QueuedThreadPool
> > $PoolThread.run(QueuedThreadPool.java:582)
> > [WARN] No file found for: /favicon.ico
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Google App Engine for Java" group.
> > To post to this group, send email to
> > [email protected].
> > To unsubscribe from this group, send email to
> > [email protected]<google-appengine-java%2B 
> > [email protected]>
> > .
> > For more options, visit this group at
> >http://groups.google.com/group/google-appengine-java?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine for Java" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.

Reply via email to