I'm currently developing an eCommerce solution using the PL/SQL gateway with 9iAS and, having reached the internal testing phase, the ordering system appears to be working as it should, so long as you're using anything other than MSIE 4.x or Opera. If you attempt to run any of the stored procedures using either of these two, you get what looks like a standard server-side PL/SQL error page only there is no Oracle-specific error code, only the frustratingly cryptic: 'Name ".x" has an empty part'.
I suspect that the browser is not correctly submitting some specific MIME type information but, equally, I could be completely off the mark and could easily have made some screw up in my PL/SQL code...
Any pointers in the right direction would be appreciated as I would rather hang myself than tell potential users that they have to have a certain browser type in order to use the system.
Odds are if your page loads correctly in Netscape or some other browsers, and not in IE or Opera, it might be something rendered differently in the HTML.
I haven't used 9iAS yet, but generally the request the browsers send should all be the same, it's what they do after they get the information that varies. Try loading the page in Netscape or a working browser and saving the HTML which is generated, and see if that loads in the other browsers, could just be some mismatched tags that the other browsers don't handle the same.
Of course this could be way off the mark as I'm not sure exactly what the problem is :)
I hope this could help
Many thanks for the replies - both were on the right track!
In the end it came down to a combination of M$'s implementation of HTTP/1.1, Opera 3.62 using HTTP/1.0 and me being a bit dozy...
Basically, HTTP/1.0 does not allow a form <code><INPUT></code> type to have a NULL name - I'm using a FORMIMAGE to submit the form input to the gateway (it's prettier than the standard 'Submit' button) which, of course, passes two extra parameters to the server: The X and Y co-ordinates of where you clicked on the image. I had allowed for this within the PL/SQL by having an X IN NUMBEr and Y IN NUMBER variable declaration but I had left the NAME as a NULL (duh).
It's a bit of a lame workaround but I'm now passing an 'XY' variable to the server, which seems to happily satisfy all browser types.
Maybe I shouldn't have tried to be a smart-ass and used a standard 'Submit' button in the first place... :-)
PS. I won't even START on the M$ 'interpreation' of HTTP/1.1...
[Edited by dba on 12-06-2000 at 07:54 PM]
That's one reason I really dislike PL/SQL for Web applications. It's so rigid in what the procedures will accept. Scripting languages (perl, php, etc) are far more suited to this type of development in my experience. If extra variables are sent, you don't get "Request failed", you just don't need to handle them.
But glad you fixed your problem.
Click Here to Expand Forum to Full Width