2013-04-24 226 views
0

我使用ZK 5.0.3 Framework + IE 9 + Weblogic 10.3。在我的UI上,我随机获得HTTP 501服务未实现的错误。我已验证了该代码,没有发现任何可疑内容。当我使用Fiddler拦截IE和Weblogic之间的HTTP消息时,发现POST方法前面有垃圾字符。以下是由UI向后端发送的拦截RAW HTTP消息的示例。ZK HTTP 501 - 服务未实现

ERROR: 22%3A0%2C%22LEFT%22%3A160%7D&CMD2=ONSCROLLPOS&UUID2=UQ0Q2R&DATA2=%7B%22TOP%22%3A0 
%2C%22LEFT%22%3A2948%7D&CMD3=ONCLICK&UUID3=UQ0Q1R&DATA3=%7B%22PAGEX%22%3A360%2C%22PAGEY%22%3A225%2C%22WHICH%22%3A1%2C%22X%22%3A5%2C%22Y%22%3A-3%7DPOST 
httpurl://192.168.4.169:7001/DPQA13/zkau HTTP/1.1 Accept:/Content-Type: application/x-www-form-urlencoded;charset=UTF-8 ZK-SID: 2331 Referer: httpurl://192.168.4.169:7001/DPQA13 
/DP/home.zul Accept-Language: en-in Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET 
CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; BRI/2) Host: 192.168.4.169:7001 Content-Length: 136 Connection: Keep-Alive Pragma: no-cache Cookie: 
JSESSIONID=D9TTRnFR8DyWpGc84cQZxVW1Gx7K0Z14kKRKsDQmntr9zSkZtYk8!-1480174431 


dtid=zwvb&cmd0=onClick&uuid0=iBJQ7i&data0=%7B%22pageX%22%3A558%2C%22pageY%22%3A283 
%2C%22which%22%3A1%2C%22x%22%3A31%2C%22y%22%3A4%7D 

有趣的是,ZK库有一个重试机制,如果有5xx错误代码,它会重试HTTP通信。但是,当它第二次重试时,它确实发送了正确的HTTP方法,并且没有垃圾字符。有谁知道如何解决这个问题?

+0

我怀疑这是ZK问题。您是否尝试过将相同的应用程序部署到tomcat或jetty并重现此问题? – kachhalimbu 2013-04-25 03:39:23

+0

我还没有尝试过使用tomcat,但使用了Websphere 7.另一个有趣的事情是,这只能在Windows 7的计算机上重现。其他具有相同IE 9版本的Windows 7机器不会重现该问题。所以我认为这必须是IE + ZK特定的问题。在这里我再次提到ZK,因为它不能仅仅应付这台特定的机器。我们也尝试将兼容版本更改为7和8,但没有成功。 – ishwar 2013-04-25 04:36:04

回答

0

是的,这是一个环境问题。 昨天,我们确实缩小了问题范围,并找出了原因。我们使用的是IE版本:9.0.8112.16421 - 更新版本:9.0.6(KB2675157),它正在产生此缺陷。我们在另一台Windows版机器上尝试了IE版本:9.0.8112.16421 - 更新版本:9.0.15(KB2817183),并且运行顺利。很显然,9.0.6有一些问题,所以我们用“自动更新开启”对它进行了升级。当它升级到9.0.15(KB2817183)时,问题消失了。

相关问题