FacebookNetworkException: A network error occurred while trying to communicate with Facebook: Facebook request failed (HTTP status code null)

448 views
Skip to first unread message

Esma Yalcinkaya

unread,
Sep 17, 2014, 9:03:50 AM9/17/14
to res...@googlegroups.com
Hi all,

I am new in restFB api(restfb-1.6.15) and trouble with fetching objects. Here is my code. I have already do the proxy config both in code and on glassfish server JVM options. But still observe the FacebookNetworkException.

Could you please help me?

          System.setProperty("proxySet", "true");      
          System.setProperty("http.proxyHost", "http://192.168.20.78");
          System.setProperty("http.proxyPort", "7070");
          System.setProperty("https.proxyHost", "https://192.168.20.78");
          System.setProperty("https.proxyPort", "7070");

        logger.info("FACEBOOK: BasicWebApp calling LoginPage");

        add(new Label("message", "Facebook Login successful!"));

        facebookClient = new DefaultFacebookClient(MY_ACCESS_TOKEN);
        logger.info("FACEBOOK: facebookClient: " + facebookClient);
        User user = facebookClient.fetchObject("me", User.class);
 
        logger.info("FACEBOOK: Username: " + user);


Thanks & Regards,


Marcel Stör

unread,
Sep 18, 2014, 8:33:51 AM9/18/14
to res...@googlegroups.com
On 17.09.14 15:03, Esma Yalcinkaya wrote:
> But still observe the FacebookNetworkException.

Then I'm sure you could post a stack trace? If it says anything like
"Caused by: java.net.ConnectException: Connection refused" then this has
got nothing to do with RestFB or FB itself. Could it be that your proxy
requires authentication?

--
Marcel Stör, http://frightanic.com
Couchsurfing: http://www.couchsurfing.com/people/marcelstoer
O< ascii ribbon campaign - stop html mail - www.asciiribbon.org

Esma Yalcinkaya

unread,
Sep 18, 2014, 9:59:33 AM9/18/14
to res...@googlegroups.com
I have tried to go to graph.facebook.com in my browser, and the result is following.
{ "error": { "message": "Unsupported get request. Please read the Graph API documentation at https://developers.facebook.com/docs/graph-api", "type": "GraphMethodException", "code": 100 } }


And When I want to debug access token in Facebook Graph API explorer, it is ok, it retrieves "/me" info.


I have copied full stack trace:

I have checked my DNS settings, proxy settings and could not find anything. Any help will be appreciated.

Root cause:

java.net.UnknownHostException: graph.facebook.com
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:177)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:529)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:550)
at com.sun.net.ssl.internal.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:141)
at sun.net.NetworkClient.doConnect(NetworkClient.java:163)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:394)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:529)
at sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:272)
at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:329)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:180)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:815)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:158)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:133)
at com.restfb.DefaultWebRequestor.executeGet(DefaultWebRequestor.java:99)
at com.restfb.DefaultFacebookClient$3.makeRequest(DefaultFacebookClient.java:770)
at com.restfb.DefaultFacebookClient.makeRequestAndProcessResponse(DefaultFacebookClient.java:807)
at com.restfb.DefaultFacebookClient.makeRequest(DefaultFacebookClient.java:765)
at com.restfb.DefaultFacebookClient.makeRequest(DefaultFacebookClient.java:729)
at com.restfb.DefaultFacebookClient.fetchObject(DefaultFacebookClient.java:306)
at com.tr.facebook.web.loginPage.LoginPage.isFacebookConnected(LoginPage.java:78)
at com.tr.facebook.web.loginPage.LoginPage.<init>(LoginPage.java:53)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:174)
at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:67)
at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:46)
at org.apache.wicket.DefaultMapperContext.newPageInstance(DefaultMapperContext.java:103)
at org.apache.wicket.request.handler.PageProvider.resolvePageInstance(PageProvider.java:264)
at org.apache.wicket.request.handler.PageProvider.getPageInstance(PageProvider.java:165)
at org.apache.wicket.request.handler.render.PageRenderer.getPage(PageRenderer.java:78)
at org.apache.wicket.request.handler.render.WebPageRenderer.renderPage(WebPageRenderer.java:96)
at org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:246)
at org.apache.wicket.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:167)
at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:784)
at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:255)
at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:212)
at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:283)
at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:188)
at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:244)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:256)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:217)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:279)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161)
at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:331)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
at com.sun.enterprise.v3.services.impl.ContainerMapper$AdapterCallable.call(ContainerMapper.java:317)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:195)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:849)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:746)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1045)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:228)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
at java.lang.Thread.run(Thread.java:619)

Complete stack:

org.apache.wicket.WicketRuntimeException: Can't instantiate page using constructor 'public com.tr.facebook.web.loginPage.LoginPage()'. Might be it doesn't exist, may be it is not visible (public).
at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:193)
at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:67)
at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:46)
at org.apache.wicket.DefaultMapperContext.newPageInstance(DefaultMapperContext.java:103)
at org.apache.wicket.request.handler.PageProvider.resolvePageInstance(PageProvider.java:264)
at org.apache.wicket.request.handler.PageProvider.getPageInstance(PageProvider.java:165)
at org.apache.wicket.request.handler.render.PageRenderer.getPage(PageRenderer.java:78)
at org.apache.wicket.request.handler.render.WebPageRenderer.renderPage(WebPageRenderer.java:96)
at org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:246)
at org.apache.wicket.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:167)
at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:784)
at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:255)
at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:212)
at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:283)
at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:188)

java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:174)
at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:67)
at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:46)
at org.apache.wicket.DefaultMapperContext.newPageInstance(DefaultMapperContext.java:103)
at org.apache.wicket.request.handler.PageProvider.resolvePageInstance(PageProvider.java:264)
at org.apache.wicket.request.handler.PageProvider.getPageInstance(PageProvider.java:165)
at org.apache.wicket.request.handler.render.PageRenderer.getPage(PageRenderer.java:78)
at org.apache.wicket.request.handler.render.WebPageRenderer.renderPage(WebPageRenderer.java:96)
at org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:246)
at org.apache.wicket.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:167)
at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:784)
at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:255)
at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:212)
at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:283)
at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:188)

com.restfb.exception.FacebookNetworkException: A network error occurred while trying to communicate with Facebook: Facebook request failed (HTTP status code null)
at com.restfb.DefaultFacebookClient.makeRequestAndProcessResponse(DefaultFacebookClient.java:809)
at com.restfb.DefaultFacebookClient.makeRequest(DefaultFacebookClient.java:765)
at com.restfb.DefaultFacebookClient.makeRequest(DefaultFacebookClient.java:729)
at com.restfb.DefaultFacebookClient.fetchObject(DefaultFacebookClient.java:306)
at com.tr.facebook.web.loginPage.LoginPage.isFacebookConnected(LoginPage.java:78)
at com.tr.facebook.web.loginPage.LoginPage.<init>(LoginPage.java:53)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:174)
at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:67)
at org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:46)
at org.apache.wicket.DefaultMapperContext.newPageInstance(DefaultMapperContext.java:103)
at org.apache.wicket.request.handler.PageProvider.resolvePageInstance(PageProvider.java:264)
at org.apache.wicket.request.handler.PageProvider.getPageInstance(PageProvider.java:165)
at org.apache.wicket.request.handler.render.PageRenderer.getPage(PageRenderer.java:78)
at org.apache.wicket.request.handler.render.WebPageRenderer.renderPage(WebPageRenderer.java:96)
at org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:246)
at org.apache.wicket.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:167)
at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:784)
at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
at org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:255)
at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:212)
at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:283)
at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:188)



17 Eylül 2014 Çarşamba 16:03:50 UTC+3 tarihinde Esma Yalcinkaya yazdı:

Norbert Bartels

unread,
Sep 19, 2014, 7:35:28 PM9/19/14
to res...@googlegroups.com
I think it could be a problem with Java's DNS cache. I came across the same HostNotFoundException some days ago.

Try clear the dns and configure it accordingly:

If not configured properly, the dns cache never forgets a positive dns entry. If Facebook drops the ip you have cached, the exception will occur.

Cheers,
Norbert

Esma Yalcinkaya

unread,
Sep 22, 2014, 3:30:47 AM9/22/14
to res...@googlegroups.com
Yes, you are right. I realize that the DNS config of the machine(Red Hat) in which my facebook application has been deployed was wrong.
I adjust the config on etc/resolv.conf file and it works now.

Thanks a lot.



20 Eylül 2014 Cumartesi 02:35:28 UTC+3 tarihinde Norbert Bartels yazdı:
Reply all
Reply to author
Forward
Message has been deleted
0 new messages