Solved

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

Posted on 2004-09-02
7
497 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
7 Comments
 
LVL 36

Expert Comment

by:Zyloch
ID: 11962091
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
ID: 11962818
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
ID: 11964859
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
ID: 11970395
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
ID: 12012065
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

On Demand Webinar - Networking for the Cloud Era

This webinar discusses:
-Common barriers companies experience when moving to the cloud
-How SD-WAN changes the way we look at networks
-Best practices customers should employ moving forward with cloud migration
-What happens behind the scenes of SteelConnect’s one-click button

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In Part 1 (http://www.experts-exchange.com/Programming/Languages/Scripting/JavaScript/A_7849-Hex-Maze.html) we covered the hexagonal maze basics -- how the cells are represented in a JavaScript array and how the maze is displayed.  In this part, we'…
JavaScript can be used in a browser to change parts of a webpage dynamically. It begins with the following pattern: If condition W is true, do thing X to target Y after event Z. Below are some tips and tricks to help you get started with JavaScript …
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…

732 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