Solved

'Permission denied' error while using https request in the javascript's Microsoft.XMLHTTP open() function.

Posted on 2004-09-02
7
480 Views
Last Modified: 2012-05-05
Hi all,

I have written a http based RPC server. And I am trying invoke one of the RPC methods in a javascript using XMLHTTP.
I am able to do it when making using http requests.
But with https, it fails due to "permission denied" error.

oHttp = new ActiveXObject("Microsoft.XMLHTTP");
oHttp.open("POST", "https://localhost:383/com.ov.jmc.ovjmc", false);

oHttp.open is the function throwing this error when the uri contains https.

I have imported the proper certificates in my browser, and the normal https request looks working through browser.

Please help me solving this problem asap..

Regards
Sathish
0
Comment
Question by:sathishpy
  • 3
  • 2
7 Comments
 
LVL 36

Expert Comment

by:Zyloch
Comment Utility
Hi

Hmm... That is odd. You can have this:

oHttp = (document.all) ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
oHttp.open("POST", "https://localhost:383/com.ov.jmc.ovjmc", false, username, password);
oHttp.send();
if (oHttp.readyState==4) {
   echo(oHttp.status+"\n");
   echo(oHttp.responseText);
}



Regards,
Zyloch
0
 

Author Comment

by:sathishpy
Comment Utility
Hi Zyloch,

Thanks for your resply...But my problem is not fully solved....
I included your code. Now it is not giving 'permission denied' error. Still I am not getting the response like my http request.
Also my RPC Server doesn't require any authentication. Only a valid certificate is enough to access the method. In that case what should I mention in username and passwd field. If I put empty string there, again I am getting the same error.

Regards
Sathish
0
 
LVL 36

Expert Comment

by:Zyloch
Comment Utility
The empty string should work, or you could just omit it and use oHttp.open("POST", "https://localhost:383/com.ov.jmc.ovjmc", false);

You could try changing the false to true and see what happens. You can also include this to test:

document.write(oHttp.status+"\n");     //Sorry about the echo(). I was thinking PHP by accident
document.write(oHttp.responseText);

0
 

Author Comment

by:sathishpy
Comment Utility
Don't know what is happening...

try
{
   oHttp.open("POST", "http://localhost:383/com.ov.jmc.ovjmc", false);
}
catch(e)
{
    alert("Error Name:"+e.name);
    alert("Error message:"+e.message);
}
This always runs without any problems...

   oHttp.open("POST", "https://localhost:383/com.ov.jmc.ovjmc", false);
   oHttp.open("POST", "https://localhost:383/com.ov.jmc.ovjmc", true);
   oHttp.open("POST", "https://localhost:383/com.ov.jmc.ovjmc", false,"","");
All these are throwing the exception with
Error Name:Error
Error Message:permission denied

   oHttp.open("POST", "https://localhost:383/com.ov.jmc.ovjmc", false,"temp","temp");
This will not throw any error, but with this oHttp.send is throwing an error having no message.

Any idea what happens exactly when oHttp.open is called? Will it send the certificate during this call or it is sent while calling oHttp.send() is called?
0
 
LVL 36

Accepted Solution

by:
Zyloch earned 250 total points
Comment Utility
I'm not too sure as I've not used this often, it could be because https is restricted to only your domain, because most Permission or Access Denied errors result from cross domain calling when it's not allowed.

Regards
0

Featured Post

Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Suggested Solutions

I've been trying to accomplish this for a while and it just struck me yesterday how to accomplish this task. I have done searches all over the internet looking for ways to email pages from my applications and finally I have done it!!! Every single s…
The task A number given should be formatted for easy reading by separating digits into triads. Format must be made inline via JavaScript, i.e., frameworks / functions are not welcome. So let’s take a number like this “12345678.91¿ and format i…
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

728 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

9 Experts available now in Live!

Get 1:1 Help Now