2

所以我试图弄清楚什么 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.

如果有人能解释为什么会这样,那就太好了。

4

3 回答 3

1

可以通过将 HTTP Server 指令设置KeepAliveOff. 这是表单的推荐设置。

Oracle 建议使用Oracle Enterprise Manager 11g Fusion Middleware Control[ http://localhost:7001/emwhere 7001is the default port ] 来修改配置文件。要修改此设置,请完成以下操作:

  • 在导航器窗格中,单击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参数 fromOnOff

于 2018-04-09T08:47:02.930 回答
0

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

http://www.testnext.com/

于 2013-10-01T20:55:59.237 回答
0

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

于 2019-09-19T06:41:47.120 回答