'发送'按钮错误401

时间:2012-04-04 19:44:55

标签: facebook jsf-2 facebook-like

我发送'发送'按钮时出现了一个奇怪的错误

我的页面上有以下代码

    <div id="fb-root"></div>
    <script type="text/javascript">
        (function(d, s, id) {
            var js, fjs = d.getElementsByTagName(s)[0];
            if (d.getElementById(id)) return;
            js = d.createElement(s);
            js.id = id;
            js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&amp;appId=<myAppId>";
            fjs.parentNode.insertBefore(js, fjs);
        }(document, 'script', 'facebook-jssdk'));
    </script>
    <br/>
    <fb:like send="true" width="450" show_faces="true"></fb:like>

如果我通过IP地址访问应用程序,“发送”按钮工作正常,但如果我使用域名,Facebook返回

The page at http://<...>.com:8080/pages/question.jsf could not be reached because the server returned status code 401.

同时'喜欢'按钮工作正常。应用程序前端使用JSF2 + Primefaces构建。

任何想法都将不胜感激 感谢

已编辑:当应用程序部署在端口8080上时,我发现第一件事“发送”按钮无效。一旦我将AS端口更改为标准端口(80),问题就出现了从几乎所有页面消失,但只有一个。最奇怪的是该按钮在页面上不起作用,但是一旦我用以下参数调用这个exectly页面

http://{some_url}.com?param_id=sometexthere

按钮神奇地开始工作。如果我只是打电话

http://{some_url}.com

“发送”按钮显示401错误。在所有其他页面上按钮工作正常。

可以请任何人对此有所了解。感谢

1 个答案:

答案 0 :(得分:1)

确定。这一切都非常奇怪。

我第一次遇到这个问题时,我只是将应用服务器(AS)端口从8080更改为80.这解决了这个问题。后来才部分了解到它。错误持续存在于一个页面上。我尝试了所有能够成像的内容,包括完全清理应用程序服务器工作目录。什么都没有导致任何结果。最终解决了这个问题的是干净的AS实例。不幸的是,我不知道究竟发生了什么。最好的猜测是,在应用程序从关闭的betta成长并且授权已经关闭之后,由于某些原因,主页面不会应用此更改。它在AS缓存中堆叠了一些位置,甚至还删除了所有临时文件。

我正在使用的AS是glassfish v3.1.2

希望,这可以节省一两天与风车挣扎的人。