To obtain the redirect URL it's an https call to twitter. I'm just not able to obtain it in production.
However, it works in my development environment on my PC. Please help ASAP, my site gets a lot of users and this is causing problems for all of them :( Here's the stack trace : twitter4j.TwitterException: Could not fetch URL: https://twitter.com/oauth/request_token at twitter4j.internal.http.HttpClient.request(HttpClient.java:340) at twitter4j.internal.http.HttpClientWrapper.request(HttpClientWrapper.java: 68) at twitter4j.internal.http.HttpClientWrapper.post(HttpClientWrapper.java: 99) at twitter4j.http.OAuthAuthorization.getOAuthRequestToken(OAuthAuthorization.java: 121) at twitter4j.Twitter.getOAuthRequestToken(Twitter.java:1406) at justunfollow.manager.impl.JustUnfollowManagerImpl.redirectURL(JustUnfollowManagerImpl.java: 60) at justunfollow.action.Login.authenticate(Login.java:56) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.google.apphosting.runtime.security.shared.intercept.java.lang.reflect.Method_ $1.run(Method_.java:165) at java.security.AccessController.doPrivileged(Native Method) at com.google.apphosting.runtime.security.shared.intercept.java.lang.reflect.Method_.privilegedInvoke(Method_.java: 163) at com.google.apphosting.runtime.security.shared.intercept.java.lang.reflect.Method_.invoke_(Method_.java: 124) at com.google.apphosting.runtime.security.shared.intercept.java.lang.reflect.Method_.invoke(Method_.java: 43) at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java: 404) at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java: 267) at justunfollow.interceptor.ExceptionInterceptor.intercept(ExceptionInterceptor.java: 23) at com.opensymphony.xwork2.DefaultActionInvocation $2.doProfiling(DefaultActionInvocation.java:224) at com.opensymphony.xwork2.DefaultActionInvocation $2.doProfiling(DefaultActionInvocation.java:223) at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java: 455) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java: 221) at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java: 221) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java: 86) at com.opensymphony.xwork2.DefaultActionInvocation $2.doProfiling(DefaultActionInvocation.java:224) at com.opensymphony.xwork2.DefaultActionInvocation $2.doProfiling(DefaultActionInvocation.java:223) at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java: 455) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java: 221) at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java: 150) at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java: 48) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java: 86) at com.opensymphony.xwork2.DefaultActionInvocation $2.doProfiling(DefaultActionInvocation.java:224) at com.opensymphony.xwork2.DefaultActionInvocation $2.doProfiling(DefaultActionInvocation.java:223) at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java: 455) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java: 221) at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java: 123) at com.opensymphony.xwork2.DefaultActionInvocation $2.doProfiling(DefaultActionInvocation.java:224) at com.opensymphony.xwork2.DefaultActionInvocation $2.doProfiling(DefaultActionInvocation.java:223) at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java: 455) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java: 221) at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java: 184) at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java: 86) at com.opensymphony.xwork2.DefaultActionInvocation $2.doProfiling(DefaultActionInvocation.java:224) at com.opensymphony.xwork2.DefaultActionInvocation $2.doProfiling(DefaultActionInvocation.java:223) at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java: 455) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java: 221) at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java: 105) at com.opensymphony.xwork2.DefaultActionInvocation $2.doProfiling(DefaultActionInvocation.java:224) at com.opensymphony.xwork2.DefaultActionInvocation $2.doProfiling(DefaultActionInvocation.java:223) at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java: 455) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java: 221) at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java: 83) at com.opensymphony.xwork2.DefaultActionInvocation $2.doProfiling(DefaultActionInvocation.java:224) at com.opensymphony.xwork2.DefaultActionInvocation $2.doProfiling(DefaultActionInvocation.java:223) at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java: 455) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java: 221) at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java: 207) at com.opensymphony.xwork2.DefaultActionInvocation $2.doProfiling(DefaultActionInvocation.java:224) at com.opensymphony.xwork2.DefaultActionInvocation $2.doProfiling(DefaultActionInvocation.java:223) at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java: 455) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java: 221) at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java: 74) at com.opensymphony.xwork2.DefaultActionInvocation $2.doProfiling(DefaultActionInvocation.java:224) at com.opensymphony.xwork2.DefaultActionInvocation $2.doProfiling(DefaultActionInvocation.java:223) at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java: 455) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java: 221) at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java: 127) at com.opensymphony.xwork2.DefaultActionInvocation $2.doProfiling(DefaultActionInvocation.java:224) at com.opensymphony.xwork2.DefaultActionInvocation $2.doProfiling(DefaultActionInvocation.java:223) at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java: 455) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java: 221) at org.apache.struts2.interceptor.ProfilingActivationInterceptor.intercept(ProfilingActivationInterceptor.java: 107) at com.opensymphony.xwork2.DefaultActionInvocation $2.doProfiling(DefaultActionInvocation.java:224) at com.opensymphony.xwork2.DefaultActionInvocation $2.doProfiling(DefaultActionInvocation.java:223) at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java: 455) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java: 221) at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java: 206) at com.opensymphony.xwork2.DefaultActionInvocation $2.doProfiling(DefaultActionInvocation.java:224) at com.opensymphony.xwork2.DefaultActionInvocation $2.doProfiling(DefaultActionInvocation.java:223) at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java: 455) at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java: 221) at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java: 115) at com.opensymphony.xwork2.DefaultActionInvocation $2.doProfiling(DefaultActionInvocati -- 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 google-appengine-j...@googlegroups.com. To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en.