fiddler and oracle fusion middleware forms

5k views Asked by At

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.

3

There are 3 answers

0
Barbaros Özhan On BEST ANSWER

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.

0
Mohsen Rahimi On

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

0
Starfighter On

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/