OICGI/2 and the Web (OpenInsight 32-Bit)
At 12 MAR 2008 11:20:06AM John Bouley wrote:
Is there any kb article or special "tricks" that are necessary to get OI to work under IIS. I think I have done everything necessary…
When I try http://server/oecgi.exe/inet_trace I get "OpenInsight – Server Error
Fatal error while processing request
Access is denied."
If I try http://server/oecgi2.exe/inet_trace I get
SYSPROGSYSPROG2RUN_OECGI_REQUEST651
the lh2.log file contains:
SN REVMEDIA OK
SU OK
UL 0 OK
OP REPOSIX 1 OK
OP REVDICT 2 OK
OP REVREPOS 3 OK
LO 3 U88701 OK
UL 3 U88701 OK
LO 3 U88701 OK
SU OK
OP REVMEDIA 0 OK
OP DATAVOL\REVMEDIA 4 OK
RO 0 SYSOBJ*GLOBAL OK
OP REV30000 5 OK
RO 0 SYSPTRS*GLOBAL OK
OP REV30014 6 OK
RO 0 SYSDICT*GLOBAL OK
OP REV30004 7 OK
RO 0 SYSENV*GLOBAL OK
OP REV30005 8 OK
RO 0 SYSPROCS*GLOBAL OK
OP REV30012 9 OK
RD 8 ENV_SYSPROG OK
RD 5 $SET_BGND_IX_TIME OK
RD 8 SYSPROCNAMES OK
RD 8 USR_SYSPROG OK
RO 0 SYSREPOSLOG*GLOBAL OK
OP REV30025 10 OK
RO 0 SYSREPOSEVENTEXES*GLOBAL OK
OP REV30035 11 OK
RD 5 $SYSLOGINS_MFS OK
RO 0 SYSLOGINS*GLOBAL OK
OP REV30088 12 OK
RO 0 SYSREPOSTYPES*GLOBAL OK
OP REV30023 13 OK
RO 0 SYSREPOSWINS*GLOBAL OK
OP REV30031 14 OK
RO 0 SYSREPOSWINEXES*GLOBAL OK
OP REV30040 15 OK
RO 0 SYSREPOSEVENTS*GLOBAL OK
OP REV30033 16 OK
RO 0 SYSREPOSPOPUPS*GLOBAL OK
OP REV30041 17 OK
RO 0 SYSREPOSMESSAGES*GLOBAL OK
OP REV30042 18 OK
RO 0 SYSREPOSAPPNOTES*GLOBAL OK
OP REV30050 19 OK
RO 0 SYSREPOSDATASOURCES*GLOBAL OK
OP REV30086 20 OK
RO 0 SYSREPOSDBCOMPONENTEXES*GLOBAL OK
OP REV30085 21 OK
RD 5 $RLIST OK
RD 5 $RLISTTOKENIZE OK
RD 5 $RLISTDELIMIT OK
RO 0 DICT.SYSLOGINS*GLOBAL OK
OP REV30087 22 OK
RC 22 OK
RD 22 %FIELDS% OK
RD 22 %PROTECT.SPEC% OK
RD 22 @ID ERROR:100 FILE:0 GROUP:0
RD 7 @ID OK
RD 5 $GETCURRENTPROCESSID OK
LO 2 12 SYSPROG*SYSPROG*VIRTUAL2003*264 OK
WR 12 SYSPROG*SYSPROG*VIRTUAL2003*264 OK
RD 5 $PUSH.SELECT OK
SE OK
RN 12 OK
LO 12 12 SYSPROG*SYSPROG*VIRTUAL2003*3292 OK
UL 2 12 SYSPROG*SYSPROG*VIRTUAL2003*3292 OK
RN 12 ERROR:111 FILE:0 GROUP:0
CS OK
RD 5 $ISEVENTCONTEXT OK
RD 5 $WINYIELD OK
LO 12 12 SYSPROG*SYSPROG*VIRTUAL2003*3292 OK
DE 12 SYSPROG*SYSPROG*VIRTUAL2003*3292 OK
UL 2 12 SYSPROG*SYSPROG*VIRTUAL2003*3292 OK
RD 5 $POP.SELECT OK
SE OK
RD 5 $RESOLVE_SELECT OK
RN 12 OK
RN 12 ERROR:111 FILE:0 GROUP:0
CS OK
RO 0 SYSLISTS*GLOBAL OK
OP REV30010 23 OK
DE 23 T*VIRTUAL2003*8*1 ERROR:100 FILE:0 GROUP:0
RD 5 $RTP65 OK
RD 5 $REPOS_MIRROR_GETCONFIGURE OK
RD 8 REPOS_MIRROR_CONFIG ERROR:100 FILE:0 GROUP:0
RD 5 $SET_FSERROR OK
RD 5 $XOCACHE OK
RD 5 $XOLOAD OK
RD 5 $DSLOAD OK
RD 5 $SETAPPID OK
RO 0 SYSAPPS*GLOBAL OK
OP REV30021 24 OK
RD 5 $GET_APP_INFO OK
RD 24 SYSPROG OK
RD 5 $RUN_OECGI_REQUEST OK
RD 8 CFG_INET OK
RD 5 $INET_QUERYPARAM OK
RD 5 $INET_TRACE OK
RD 5 $INET_SECURITY OK
RD 5 $INET_TRACE OK
RD 5 $REGISTRY_METHOD OK
RD 5 $REGCREATEKEYEX OK
RD 5 $FORMATMESSAGE OK
RD 5 $INET_FINALIZE OK
RD 5 $INET_ABORTED OK
RD 5 $INET_MSG OK
Thanks,
John
At 12 MAR 2008 12:11PM Warren Auyong wrote:
Do you have the socket server running for OECGI2 to talk to? And the registry and/or eserver.cfg settings?
OECGI is a challenge to get running if OI is installed on a different server from IIS. The problem is getting IIS to connect to the other server with the proper access rights for OI to run. This is complicated by the authentication method used to access the web page/site/server, domain settings and phase of the moon or what you had for dinner two weeks ago.
I've never found any steps that consistently produce successful results.
I've found it much easier to spend the minutes or hour or two to get OECGI2 going rather than the often fruitless days it takes to get OECGI working.
Then again if you're using a version of OI that doesn't support OECGI2 than you're stuck.
At 12 MAR 2008 05:49PM David Goddard wrote:
G'day John,
check out these two white papers:
Configuring OECGI2:
http://openinsight.wetpaint.com/page/Configuring+OECGI2
Installing and running the oeSocketServer Service
http://openinsight.wetpaint.com/page/Installing+and+running+the+oeSocketServer+Service
Dave G
At 12 MAR 2008 05:57PM Glenn Groves wrote:
On XP, I have sometimes - depending on the machine - had to change the user that IIS was running as; the default user would just not allow OECGI to run due to some kind of Windows access or execution rights issue. I ended up creating another Windows user, and setting that as the user for IIS to use. (I am working on Windows Vista at the moment, which uses a very different IIS, so I cannot find the correct tab or option name etc. for Windows XP for you currently.)
On Vista, IIS is a nightmare to get working with OI for the first time - Vista's version of IIS has far more security (probably a good thing) and requires much more setting up than IIS on XP. It also looks completely different. (For example, I use Virtual Directories on XP, and Applications on Vista and Virtual Directories seem to work differently between IIS for Vista and IIS for XP.)
From memory, if you are on Vista you will need to first tell Vista that .exe is a cgi-bin extension (I don't remember how), and then you will need to allow cgi-bin extensions via 'Handler Mappings'. I also had to go into 'ISAPI and CGI Restrictions', and entered OECGI.EXE, OECGI2.EXE, RCL4.dll, REVCAP32.dll, and UTF8.dll as allowed exceptions. I don't know if all of those were required - or even if I have created security risks by doing that. After taking about two hours to work that out, I just didn't want to break anything so I left it as it was (this was a development machine not a server so I was not as concerned about security as I might have been otherwise.)
At 13 MAR 2008 01:30PM John Bouley wrote:
Thanks Warren, Glenn and David.
I was able to get OECGI2 working.
One more question is there a "best practices" for keeping track of end user states using this technology? I saw that the engines are basically "stateless" and as such can not be relyed upon to track individual users etc. I could always track this through tables but that doesn't seem very dynamic. Was there any consideration in putting that task into the java?
Thanks,
John
At 13 MAR 2008 05:23PM David Goddard wrote:
G'day John,
I'll be covering session management in my presentation at the confernce.
I create a session record in an OI table and pass back the sessionId to the browser as a cookie. You can create more cookies to store more data if you want it available in the browser from JavaScript, but I've found the less data you store in cookies the better.
Attendees of my presentation will get the source code to my session management stuff and a full working AJAX example app include HTML, javascript, stylesheets and, of course, basic+ code.
Dave G
At 13 MAR 2008 07:40PM John Bouley wrote:
Thanks David. I am also going to the conference and will be looking foward to your presentation.
See you there,
John