Есть веб-сервис на http://www.lasertools.co.uk/webservice/getCatalogue.asmx, который мне нужно использовать, который принимает запросы SOAP 1.1 и SOAP 1.2, но у меня нет опыта работы с классическим ASP; Я прочитал несколько статей об этом и попробовал некоторые методы, упомянутые в этих статьях, но я просто не могу заставить его работать. Лучшее, что мне удалось сделать, - это ответ сервера, в котором говорится, что страница 404 не найдена. Вот страница ASP, которую я сейчас пытаюсь найти:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<%
Dim objXML
Dim postUrl
Dim DataToSend
Dim DataParms
Dim DataReceived
Dim Status
DataToSend = ""
DataParms = ""
postUrl = "http://www.lasertools.co.uk/webservice/GetProductCategories"
Set objXML = CreateObject("MSXML2.ServerXMLHTTP")
objXML.Open "POST", postUrl, False
objXML.setRequestHeader "Content-Type", "text/xml; charset=utf-8"
objXML.setRequestHeader "SOAPAction", "http://www.lasertools.co.uk/webservice/GetProductCategories"
objXML.setRequestHeader "MessageType", "CALL"
SOAPRequest = "<?xml version='1.0' encoding='utf-8'?> "
SOAPRequest = SOAPRequest & "<soap:Envelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"""
SOAPRequest = SOAPRequest & " xmlns:xsd=""http://www.w3.org/2001/XMLSchema"""
SOAPRequest = SOAPRequest & " xmlns:soap=""http://schemas.xmlsoap.org/soap/envelope/"">"
SOAPRequest = SOAPRequest & " <soap:Body>"
SOAPRequest = SOAPRequest & " <getProductCategories xmlns=""http://www.lasertools.co.uk/webservice"" />"
SOAPRequest = SOAPRequest & " </soap:Body>"
SOAPRequest = SOAPRequest & " </soap:Envelope>"
objXML.send SOAPRequest
DataReceived = objXML.responseText
Dim oXml
Set oXml = CreateObject("Msxml2.DOMDocument")
oXml.LoadXml (DataReceived)
oXML.async = False
Set objLst = oXml.getElementsByTagName("*")
if objLst.Length = 0 then
%>
<br />NO CHOICES<br />
<%
response.write DataReceived & "<br />"
else
AvailableChoices = 0
For Each xmlItem In objLst
For Each xmlItem2 In xmlItem.childNodes
if xmlItem.childNodes(0).NodeName = "#text" then
AvailableChoices = AvailableChoices + 1
DisplayVal = xmlItem.childNodes(0).text
%>
<%=DisplayVal%><br />
<%
end if
Next
Next
end if
%>
<body>
</body>
</html>