fiddler和oracle融合中间件形式

时间:2012-02-02 18:37:30

标签: oracle http servlets oracleforms oracle-fusion-middleware

所以我试图找出oracle表单应用程序发送到服务器的内容(可能用于负载测试)。 Fiddler告诉我样本请求的标题如下所示:

POST http://server:9001/forms/lservlet;jsessionid=[long string] HTTP/1.1
Pragma: 81
Content-type: application/octet-stream
Cache-Control: no-cache
User-Agent: Mozilla/4.0 (Windows XP 5.1) Java/1.6.0_30
Host: server:9001
Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Connection: keep-alive
Content-Length: 39

身体看起来像加密/压缩。问题是:身体发生了什么(压缩,解密)以及如何获得可读字符串?或至少以编程方式发送的字节数?

修改 好吧,如果我去fiddler的HexView那里,我有很好的十六进制表示已发送的内容。但是仍然不清楚客户端对数据包主体做了什么。

编辑2 似乎没有人喜欢黑客攻击oracle表格包。无论如何,为了结束这里,我得出一个结论:如果你发送一个与之前相同的http数据包(比如在表单中模仿搜索) - 服务器将回答

ifError:0/FRM-93618: fatal error reading data from runtime process
Contact your system administrator.

然后应用程序本身将抛出

    FRM-92104: A network error or server failure has occurred. The request was sent to the
 wrong application server (not the one which created the session). The Forms client has
 attempted to migrate the session %s time(s) without success. You will need to restart your application.

如果有人能说清楚为什么会如此,那就太好了。

3 个答案:

答案 0 :(得分:1)

可以通过将HTTP Server指令KeepAlive设置为Off来解决此问题。这是表单的推荐设置。

Oracle建议使用Oracle Enterprise Manager 11g Fusion Middleware Control [http://localhost:7001/em其中7001是默认端口]来修改配置文件。要修改此设置,请完成以下操作:

  • 在导航器窗格中,单击OHS下的Web Tier节点。
  • 在此节点的右上角,点击Oracle HTTP Server - > Administration - > Advanced Configuration
  • 从下拉列表中选择httpd.conf
  • KeepAlive参数设置为Off
  • 应用更改。
  • 您需要重新启动HTTP Server才能使此更改生效。
  

或者,直接编辑文件

     

%DOMAIN_HOME%\config\config.xml

     

开启 Unix: $ORACLE_INSTANCE/config/config.xml

     

通过从KeepAlive手动设置On参数到Off

答案 1 :(得分:0)

Oracle Forms使用HTTP上的专有通信机制。 TestNext软件破解了它。它们为Oracle Forms提供了一个负载测试解决方案,允许用户记录和参数化Oracle Forms交互......

http://www.testnext.com/

答案 2 :(得分:0)

将“ forms.conf”或“ mod_wl_ohs.conf”文件中的DynamicServerList设置为ON