0

The below code is working fine in classic asp in windows 7 IIS and in windows server 2008 its giving error (as shown below).

Here is code:

url = "https://api.test.credex.net:10001/merchant/xxxx/requests"
set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP") 
postData = "" // some json formatted data
xmlhttp.open "POST", url, false
xmlhttp.setOption(2) = 13056
xmlhttp.setOption(3) = "/credex/credex_net_ext_bundle.pem"
xmlhttp.setRequestHeader "Content-Type", "application/json"
xmlhttp.setRequestHeader "Accept", "application/json"
xmlhttp.setRequestHeader "Authorization", "Basic "&Base64Encode("xxxxxxxx")
xmlhttp.send postData

Response.write xmlhttp.responseText     
set xmlhttp = nothing

Error:

Category : msxml3.dll
Column : -1
Brief Description : The client and server cannot communicate, because they do not possess a common algorithm.
Error line no is pointed to "xmlhttp.send postData"

Shadow The GPT Wizard
  • 66,030
  • 26
  • 140
  • 208
Dhaval
  • 26
  • 1
  • 5

1 Answers1

0

in your code amend line

set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP") 

to

set xmlhttp = CreateObject("Msxml2.ServerXMLHTTP.6.0") 

Try this

<%@language=Jscript%>
<%
   var objSrvHTTP;
   var objXMLSend;
   var objXMLReceive;
   objSrvHTTP = Server.CreateObject("Msxml2.ServerXMLHTTP.6.0");
   objXMLSend = Server.CreateObject("Msxml2.DOMDocument.6.0");
   objXMLReceive = Server.CreateObject("Msxml2.DOMDocument.6.0");

   objXMLSend.async = false;
   objXMLSend.loadXML ("<msg><id>2</id></msg>");

   objSrvHTTP.open ("POST","http://someotherserver/respond.asp",false);
   objSrvHTTP.send (objXMLSend);
   objXMLReceive = objSrvHTTP.responseXML;
   Response.ContentType = "text/xml";
   Response.Write (objXMLReceive.xml);
%>