Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Cannot Get Oracle Forms to Invoke Web Browser

Re: Cannot Get Oracle Forms to Invoke Web Browser

From: SoulSurvivor <markyg_7_at_yahoo.co.uk>
Date: 26 Feb 2003 02:35:12 -0800
Message-ID: <8d9c6fd.0302260235.5bdee558@posting.google.com>


Since you have no access to Metalink, here is the article cut and pasted from it. it doesnt cut and paste very well though :-(


Deploying Developer Forms on the Web (Windows NT)



PURPOSE

This bulletin describes how to port Forms applications onto the web using
Oracle Application Server and Forms Server as the middle tier and JInitiator on the client machines.
This bulletin is specific to Windows NT platform as the middle tier. JInitiator replaces the Java Virtual Machine (JVM) of the browser with its own
JVM. It is the link between the browser and the Forms applet that will be
loaded on the browser.
Porting forms onto the web can be implemented using two methods: Static Implementation and Cartridge Implementation. For static implementation, every form executable requires a html file at the
middle tier. The sample static html file can be obtained from the examples
folder in the JInitiator folder and is called static_jinit.html For cartridge implementation, a generic html file will be used to invoke any
module on the web. The sample html file comes with JInitiator and can be found
in the Examples folder of JInitiator folder and is called base_jinit.html
JInitiator can be downloaded from
http://www.oracle.com/tools/dev_server/dn.html SUPPORTED CONFIGURATIONS

STATIC IMPLEMENTATION:
OAS3.0.1 OAS3.0.2 OAS4.0.7 
DEV2K1.5 YES YES YES 
DEV2K1.6 YES YES YES 
DEV2K1.6.1 YES YES YES 
DEV2K2.0 YES YES YES 
DEV2K2.1 YES YES YES 
DEV2K6.0 YES YES YES 

CARTRIDGE IMPLEMENTATION:
OAS3.0.1 OAS3.0.2 OAS4.0.7 
DEV2K1.5 NO NO NO 
DEV2K1.6 NO NO NO 
DEV2K1.6.1 YES NO NO 
DEV2K2.0 NO NO NO 
DEV2K2.1 YES NO NO 
DEV2K6.0 NO NO YES 

SUPPORTED PLATFORMS

Currently, the platforms that can be used as the middle tier include Windows NT, Sun Solaris, HPUX, Digital UNIX, IBM AIX, SGI IRIX, Siemens Reliant UNIX, Intel UNIX (e.g., Intel Solaris, UnixWare). Any CD that is the Server Edition of the Developer can be used for these platforms.
However, current support for the Client side is limited to Windows clients (e.g., Windows 95, Windows NT). Moves are afoot to make it supported with UNIX clients using the AppletViewer, for which there is no tentative Release date.
MIDDLE TIER IMPLEMENTATION FOR WINDOWS NT

STATIC IMPLEMENTATION:
Access the admin URL by typing in:
http://mymachinename-pc.domain.com:adminportnumber In this bulletin, we use the following admin URL: http://forms.oracle.com:8888
1) After successful installation of Oracle Application Server and Oracle Developer, type in at the DOS prompt: For OAS 3.X:
owsctl start wrb
owsctl start admin
owsctl start www
www is the default listener
For OAS 4.0.6.4 and 4.0.7:
owsctl start
This starts all the processes for the Oracle Application Server, or you can click on the START option in the web site to start the processes.
2) To start the Forms Server processes, click on Start --> Run then type in the following:
For Forms 4.5:
f45ctl start port=9000 log=C:\temp\forms45log.log For Forms 5.0:
f50srv32 start port=9000 log=C:\temp\forms50log.log For Forms 6.0:
ifsrv60 -listen port=9000 log=C:\temp\forms60log.log To check if the Forms Server is running, open the Task Manager and check for the fxxsrv32 process. Fxxsrv32 is the Forms Server process, and fxxweb32 is the child process waiting to service the client request for connection to the Forms Server, where xx is the Forms version. 3) Oracle Web Application Server 3.X

Type in a browser:
http://forms.oracle.com:8888
where 8888 is the port number for the admin which was chosen at the time of OAS installation.
The password can be found in the following file: %ORAWEB_HOME%\WEBSITE30\HTTPD_FORMS.ORACLE.COM\admin\config\svadmin.cfg In the browser, click on Oracle Application Server Manager then on Oracle Web Listener.
Click on the CONFIGURE option for www listener then on 'Directory' in the left side frame.
Add the path for the file system directory and virtual directory in order to point to the Forms Server and directory where the fmx files and static html files are saved.
STOP and START your listener for the changes to take effect. Oracle Application Server 4.0.X

Click on OAS MANAGER.
In the left frame, click on the 'website40 Site' then click on HTTP Listeners (not on + sign to the left of it). The password is encrypted for OAS 4X in the svadmin.cfg file. You will find all the listeners and their status in the right side frame.
Click on the + sign at the top if you want to create a new listener for
your work. Otherwise, click on the + sign to the left of www listener then click on the Directory. A frame with the subheading 'Directory' will appear to the right with file system directory and virtual directory.
Let us take the example of D2K21, and the process is same for all other
versions of Developer.
Let us assume that the html files that will be used to invoke the forms
on web are saved to C:\webforms
One more assumption that is made here is that the fmx files are in the same directory as the html files.
Even if they are in different directories, they have to be in the FORMSxx_path on the server.
In the directory mappings, type in the path to /forms50/java C:\Orant\Forms50\java\ NR /form50code/
C:\webforms\ NR /web_forms/
Go down the page, and click on APPLY to allow the changes. Stop and start the whole site for the changes to take effect. If any changes are made later and you would like the changes to appear on
the web-enabled form, you must always stop and start your Forms Listener.
4) Configure the html page, so that Oracle Forms comes up on the web. Please note that the html files needed for running Forms are different for AppletViewer and JInitiator. For AppletViewer, it is the static.html, and for JInitiator, it is static_jinit.html A sample html file for JInitiator would look something like this:
<HTML> 
<!-- FILE: static_jinit.html --> 
<!-- Oracle Static (Non-Cartridge) HTML File Template (Windows NT) -->
<!-- Tags and parameters have been modified for Oracle JInitiator --> 
<HEAD><TITLE>Developer Server and Oracle JInitiator</TITLE></HEAD> 
<BODY> 
<P> 
<OBJECT classid="clsid:9F77a997-F0F3-11d1-9195-00C04FC990DC" 
WIDTH=180
HEIGHT=20
codebase="http://mymachine/jinit115211.exe#Version=1,1,5,21,1">
<PARAM NAME="CODE" VALUE="oracle.forms.uiClient.v1_4.engine.Main" > 
<PARAM NAME="CODEBASE" VALUE="/form50code/" > 
<PARAM NAME="ARCHIVE" VALUE="/form50code/f50all.jar" > 
<PARAM NAME="type" VALUE="application/x-jinit-applet;version=1.1.5.21.1">
<PARAM NAME="serverPort" VALUE="9000"> 
<PARAM NAME="serverArgs" VALUE="module=fmx_name userid= 
user/password_at_datasource">
<PARAM NAME="serverApp" VALUE="default"> 
<COMMENT> 
<EMBED type="application/x-jinit-applet;version=1.1.5.21.1" 
java_CODE="oracle.forms.uiClient.v1_4.engine.Main" 
java_CODEBASE="/form50code/"
java_ARCHIVE="/form50code/f50all.jar"
WIDTH=180
HEIGHT=20
serverPort="9000"
serverArgs="module=fmx_name userid=user/password_at_datasource" serverApp="default"
pluginspage="http://mymachine/jinit_download.htm">
<NOEMBED> 
</COMMENT> 
</NOEMBED></EMBED> 
</OBJECT> 
</BODY> 
</HTML> 

where the OBJECT tag is used by MS Internet Explorer and the EMBED tag is used by Netscape browser in order to use the JInitiator. The example above is configured for the Netscape browser. The portion of the html file that is used for invoking forms on Netscape browser starts with the 'EMBED type' tag. The parameter 'java_CODE' should always point to the Main.class file which can be located in
C:|\Orant\Forms50\java\Oracle\forms\uiClient\v1_4\engine For Developer 6.0, it is C:\orant\forms50\java\oracle\forms\engine. The parameter 'java_CODEBASE' should always point to the virtual directory
that is pointing to the C:\orant\forms50\java folder in the directory mappings of the web listener that will be used to run the form on the web.
For us, according to the mapping described in point 3, it is /form50code/
The parameter 'java_ARCHIVE' is used to download and store the jar files on the
client machines from the middle tier for the first time the form is used on the
web. From then on, whenever the form is invoked, all the Java class files that
are required to run the form on the web will be used from the client machine
rather than downloading them from the server again. This helps in improving
the performance of the form on the web. The parameter 'serverport' is the port number which is used by the Forms
Server Listener. Whenever a client requests to use the Forms Server, it contacts the listener which gets all the information regarding the Forms Server, passes it to the client machine, connects the client to the Forms Server, and then frees itself to be used by another client request.
The parameter 'serverargs' is used to specify the name and path of the Forms executable on the middle tier.
The serverapp is always 'Default' as it is this parameter from html that checks the Registry.Dat file in the path C:\orant\FormsXX\java\oracle\forms\uiClient\V1_4\util Registry.Dat file is used for all the class IDs and for setting the icon path
for the forms along with font styles. You can use a name other than 'default'
in the html file. However, all the entries in the Registry.Dat file have to be
updated with the new name for 'serverapp' that is given in the html file.
'plugsinpage' is used to prompt the client machines that do not have JInitiator to download it from the server. They will then have to install
it on their machines. Make sure that the jinit_download.htm and jinitxxx.exe
are in the C:\webforms directory structure on the server. After making changes to the html file in order to run it on the web, it should look like this:
<HTML> 
<!-- FILE: static_jinit.html --> 
<!-- Oracle Static (Non-Cartridge) HTML File Template (Windows NT) -->
<!-- Tags and parameters have been modified for Oracle JInitiator --> 
<HEAD><TITLE>Developer Server and Oracle JInitiator</TITLE></HEAD> 
<BODY> 
<P> 
<OBJECT classid="clsid:9F77a997-F0F3-11d1-9195-00C04FC990DC" 
WIDTH=180
HEIGHT=20
codebase="http://mymachine/jinit115211.exe#Version=1,1,5,21,1">
<PARAM NAME="CODE" VALUE="oracle.forms.uiClient.v1_4.engine.Main" > 
<PARAM NAME="CODEBASE" VALUE="/form50code/" > 
<PARAM NAME="ARCHIVE" VALUE="/form50code/f50all.jar" > 
<PARAM NAME="type" VALUE="application/x-jinit-applet;version=1.1.5.21.1">
<PARAM NAME="serverPort" VALUE="9000"> 
<PARAM NAME="serverArgs" VALUE="module=/usr/webforms/testform.fmx"> 
<PARAM NAME="serverApp" VALUE="default"> 
<COMMENT> 
<EMBED type="application/x-jinit-applet;version=1.1.5.21.1" 
java_CODE="oracle.forms.uiClient.v1_4.engine.Main" 
java_CODEBASE="/form50code/"
java_ARCHIVE="f50all.jar"
WIDTH=180
HEIGHT=20
serverPort="9000"
serverArgs="module=C:\webforms\testform.fmx " serverApp="default"
pluginspage="http://forms.oracle.com:80/jinit_download.htm">
<NOEMBED> 
</COMMENT> 
</NOEMBED></EMBED> 
</OBJECT> 
</BODY> 
</HTML> 

Please note that for Developer 6.0, the java_CODE should be changed in the html
file to 'oracle.forms.engine.Main', as the directory structure has been changed.
5) Stop and start the 'www' listener, admin, and wrb. 6) You can now access the form on the web by opening the browser window and
typing in the URL:
http://forms.oracle.com:80/web_forms/static_test.html This brings up the Java Console window for Oracle JInitiator and then prompts for userid/password.
Next, the form pops up as an Applet window, separate from the browser if you are using a non-Forms60 version of Forms Server. Beginning Forms 6.0, the Forms Applet will be part of browser window. CARTRIDGE IMPLEMENTATION:
The Forms cartridge is used to make the html page generic and avoid creating a html page specific to each Forms module to be used on the web. Unlike the static implementation, this makes use of the WRB(Web Request Broker) which works with an Object Request Broker that is CORBA compliant. When the client makes a request for cartridge,
it is like making a request for an object service in CORBA. Steps for Cartridge Implementation on Oracle Web Application Server 3.x
  1. Start your wrb, admin, and www listeners.
  2. Go to the admin URL by typing in 'http://forms.oracle.com:8888', click on Web Server Manager, click on Oracle Web Application Server, and click on Cartridge Administration.
  3. Click on Add New Cartridge. Click on Add New Cartridge with Manual Configuration. Enter a Cartridge name: form50cart For Object Path, it is looking for the library file in order to run the cartridge, so enter: C:\Orant\bin\f50webc.dll
  4. For entry point, enter: form_entry Scroll down a bit, and in the Virtual Path, enter: /form50cart and in the Physical Path, enter: C:\orant\bin.
  5. Click on Register New Cartridge.
  6. If the Cartridge Registration is successful, it will navigate to the Cartridge Administration Page. Scroll down to see the cartridge form50cart.
  7. Click on form50cart then click on form50cart Cartridge Specific Parameters.
  8. These are the values that should be present in your page for the cartridge parameters: HTMLdelimiter % baseHTML C:\webforms\base_jinit.html Code oracle.forms.uiClient.v1_4.engine.Main Archive f50all.jar Codebase /form50code/ Width 640 Height 480 ServerPort 9000 ServerHost %ORAWEBHOST_NAME% Module %Module% serverApp default The first time, it will allow you to enter only 5 entries. After creating the first five parameters, go again to form50cart Cartridge Specific Parameters and enter the remaining parameters. HTML delimiter is the single character delimiter that is used to denote the parameter values. BaseHTML is the physical path and the file name to the html file accessed by the cartridge at runtime. Code is the Main.class file. Archive is the virtual path and the file name for the .JAR files that will be used in the cartridge. Codebase is the virtual path to the java folder in C:\orant\forms50\ Steps for Cartridge Implementation on Oracle Application Server 4.0.x
    Note: Oracle Application Server 4.0.x does not support Cartridge Implementation for Developer Release 2.1, and therefore, the following steps are only valid if you are using Developer 6.0. Please remember to change the directory mappings for your listener, or create a new listener and add the directory mappings for Developer 6.0 in there. Assume you have created a new listener for this exercise as follows: Listener Name = d2k60 Port Number = 88 In the Directory Mappings section, you should have the following settings: $Your_Oracle_Home\forms60\java\ NR /forms60/ c:\webforms\ NR /web_forms/ To create and configure a cartridge for Oracle Application Server 4.0.x:
  9. Go to the Oracle Application Server 4.0.x Admin page.
  10. Click on OAS Manager.
  11. In the left frame, click on the '+' sign for website40
  12. Select 'Application', and in the right frame on the top, click on the '+' sign to ADD a new application. Application is a sort of Folder under which a user can create multiple cartridges.
  13. Selecting the '+' sign brings up the 'Add Application' screen. Select the default configuration. Example: Application Type = 'C Web' Configure Mode = 'Manual'
  14. Hit the Apply button.
  15. A second screen displays. Enter the Application and Display names. Application Version is optional and corresponds to your application version. Example: Application Name = New_Project Display Name = New_Project
  16. Hit the Apply button.
  17. The next screen displays, "Application Added Successfully." Click on the 'Add Cartridge to this Application' button.
  18. On the 'Add C-Web Cartridge' Screen, enter the following information: Example: Cartridge Name = forms_cartridge Display Name = forms_cartridge Cartridge Shared Object = $Oracle_Home\bin\ifwebc60.dll Cartridge Entry Point = form_entry Virtual Path = /forms_cartridge Physical Path = $Your_Oracle_Home\bin
  19. Hit the Apply Button.
  20. This creates the cartridge.
  21. Acknowledge the message.
  22. In the left frame under Applications, you can see your New_Project Application. If you expand it down to Cartridges, you can see your 'forms_cartridge' there.
  23. Expand 'forms_cartridge' further, expand on 'Configuration', and select 'Cartridge Parameters'. Insert the cartridge specific parameters. Example: HTMLdelimiter = % baseHTML = $Oracle_Home\forms60\java\base_jinit.html Code = oracle.forms.engine.Main Codebase = /forms60/ Archive = /forms60/f60all.jar ServerPort = 9000 ServerHost = forms.oracle.com Width = 500 Height = 500 Note
    You will not be able to insert all the parameters at one time, as it will run out of the slots. This is a logged bug. To get more slots:
  24. Hit the 'Apply' button.
  25. Select something else in the left frame.
  26. Select 'Cartridge Parameters' in the left frame again.
  27. You may have to repeat Steps 1-3 a few times to insert all your cartridge parameters. Once inserted, hit the 'Apply' button again. You are now ready to use your cartridge.
  28. Restart your HTTP Listeners and Oracle Application Server; however, you must first stop all the Applications. The following steps describe how to do this:
  29. In the left frame, select 'Applications', and in the right frame, if any Flag is Green, check the box for that application and hit the red 'Stop' button at the top. Acknowledge the message.
  30. In the left frame, select 'HTTP Listeners', and in the right frame, select the 'ALL' checkbox/radio button and hit the red 'Stop' button at the top. Acknowledge the message once all the listeners are down.
  31. In the left frame, select 'Oracle Application Server', and in the right frame, select the 'ALL' checkbox and hit the red 'Stop' button. Acknowledge the message.
  32. In the left frame, select 'Oracle Application Server' again, and in the right frame, select the 'ALL' checkbox and hit the green button to 'Start' the Web Server processes. Acknowledge the message.
  33. In the left frame, select 'HTTP Listeners' again, and in the right frame, select the 'ALL' checkbox and hit the green button to 'Start' all the listeners. Acknowledge the message. CLIENT SIDE IMPLEMENTATION
    Please note that as of now, only Windows 95 and Windows NT can be used for client implementation.
  34. Click on Start --> Programs --> JInitiator Control Panel Check the Console option, and close the Control Panel of JInitiator.
  35. For static implementation, open a Netscape browser whose version is 4.06 or 4.07 or 4.08. Type in the URL: http://forms.oracle.com:80/webforms/static_jinit.html. This invokes the form on the web in the form of an Applet which will be in a different window from the browser.
  36. If you are using the Cartridge implementation, type in the URL: http://forms.oracle.com/form50cart?Module=testform.fmx This invokes the form on the web in an applet. For further information about JInitiator, please read the 'Readme file' in the JInitiator folder after installation. FEW POINTS TO REMEMBER
    1. If you want to use icons in your forms on the web, the extension of the icon files should be .gif/.jpg The .ico extension will not work on the web.
    2. You have to go to the Registry.dat file and set the icon path to see the icons in the forms on the web. For example, it could be 'http://forms.oracle.com:80/web_icons' where /web_icons/ is the virtual path pointing to a valid directory like 'C:\orant\webicons\' and all the icons are stored in this directory.
    3. If you want to use forms containing image items, set the environment variables FORMSxx_OUTPUT and FORMSxx_MAPPING in the registry.
    4. You can do that by adding String values in the registry forms50output C:\webforms\ forms50mapping http://forms.oracle.com:80/webicons/
    5. Always stop and start the listeners if you want to make a change to the html file.
    6. Whenever you get 'engine.Main not inited' error while trying to invoke a form on the web, try closing all your browsers on the client machine and then opening the URL in another browser window. If that does not work, check if your codebase parameter has been entered correctly in the listener virtual mappings for the OAS.
    7. For D2K21, if you are unable to reload your web form from the browser, it is due to Bug 735456 <ml2_documents.showDocument?p_id=735456&p_database_id=BUG> which has been fixed with patch that upgrades your forms to 5.0.6.14. To download the patch, go to Oracle's ftp site at ftp://oracle-ftp.oracle.com/dev_tools/dev2k/Win95NT/2.1/19990225/
    8. Presently, you cannot print to the printer on the client side due to Java limitations. FEATURES NOT SUPPORTED FOR WEB-ENABLED FORMS
      o ActiveX, OCX, OLE, VBX. o Combo boxes. o Firewall is supported, but you have to poke a hole through it for the Forms Server port. o SSL supported from Developer 6.0, as it is HTTP/1.1 compliant. o HOST command, as it hosts out to the server and not to the client environment. o ORA_FFI involving IO again, as it goes to the middle tier to implement. o WHEN-MOUSE-ENTER and WHEN-MOUSE-LEAVE triggers which downgrade performance.

"Dereck L. Dietz" <dietzdl_at_ameritech.net> wrote in message news:<3yR5a.925$se1.554900_at_newssvr28.news.prodigy.com>...
> I am experiencing a problem trying to run an Oracle Form I'm trying to work
> on.  In the Runtime Preferences for the web browser location I pointed it
> towards my Internet Explorer executable but I still cannot access the web
> browser.
> 
> I also noticed that even using the Help options which seem to need to use a
> web browser I get the same type of error.  My web browser does work but I
> just can't seem to get Oracle Forms to execute it.
> 
> Could there be some security issue with my web browser not letting Oracle
> execute it?  If so, does anybody know what I would need to do to let Oracle
> call it?
> 
> Thank you very much.
> 
> Dereck Dietz
> dietzdl_at_ameritech.net
Received on Wed Feb 26 2003 - 04:35:12 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US