fiddler 和 oracle fusion 中间件形式
因此,我试图找出 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
该问题可以通过将 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
才能使此更改生效。The problem can be resolved by setting the HTTP Server directive
KeepAlive
toOff
. This is the recommended setting for Forms.Oracle recommends using
Oracle Enterprise Manager 11g Fusion Middleware Control
[http://localhost:7001/em
where7001
is the default port ] to modify configuration files. To modify this setting, accomplish the following:OHS
node underWeb Tier
.Oracle HTTP Server
->Administration
->Advanced Configuration
.httpd.conf
from the drop down list.KeepAlive
parameter toOff
.HTTP Server
for this change to take effect.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/
将“forms.conf”或“mod_wl_ohs.conf”文件中的 DynamicServerList 设置为 ON
Set DynamicServerList in the "forms.conf" or "mod_wl_ohs.conf" file to ON