fiddler 和 oracle fusion 中间件形式

发布于 2025-01-02 02:51:18 字数 1205 浏览 0 评论 0原文

因此,我试图找出 Oracle Forms 应用程序发送到服务器的内容(可能将其用于负载测试)。 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.

如果有人的话那就太好了可以解释为什么会这样。

So I'm trying to figure out what oracle forms app is sending to server (to possibly use that for load testing). Fiddler tells me that sample request's header looks like this:

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

And the body looks like encrypted/compressed. The question is: what happened to the body (compression, decryption) and how do I get readable string? Or at least bytes that I could send programatically?

EDIT
All right, if I go to fiddler's HexView there I have nice hexadecimal representation of what has been sent. Still not clear what client does with packet body, though.

EDIT 2
Seems no one likes hacking oracle forms packets. Anyway, to end this here's a conclusion I've come to: if you send a http packet identical to the one before (like imitating search in a form) - server would answer with

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

And the application itself would then throw

    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.

Would be great if anyone could shed some light on why this is so.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

盛装女皇 2025-01-09 02:51:18

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

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

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

或者,直接编辑文件

%DOMAIN_HOME%\config\config.xml

( 打开 Unix : $ORACLE_INSTANCE/config/config.xml )

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

The problem can be resolved by setting the HTTP Server directive KeepAlive to Off. This is the recommended setting for Forms.

Oracle recommends using Oracle Enterprise Manager 11g Fusion Middleware Control[ http://localhost:7001/em where 7001 is the default port ] to modify configuration files. To modify this setting, accomplish the following:

  • In the navigator pane, click on the OHS node under Web Tier.
  • To the upper right of this node, click on Oracle HTTP Server -> Administration -> Advanced Configuration.
  • Choose httpd.conf from the drop down list.
  • Set the KeepAlive parameter to Off.
  • Apply the changes.
  • You will need to restart the HTTP Server for this change to take effect.

Alternatively, edit the file directly

%DOMAIN_HOME%\config\config.xml

( On Unix : $ORACLE_INSTANCE/config/config.xml )

by setting manually KeepAlive parameter from On to Off.

蓝咒 2025-01-09 02:51:18

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

http://www .testnext.com/

Oracle Forms uses a proprietary communication mechanism over HTTP. TestNext software has cracked it. They provide a load-testing solution for Oracle Forms that allows users to record and parameterize Oracle Forms interactions...

http://www.testnext.com/

枯叶蝶 2025-01-09 02:51:18

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

Set DynamicServerList in the "forms.conf" or "mod_wl_ohs.conf" file to ON

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文