我每天使用标准 HTML 和经典 ASP 编写代码。我被要求构建一个小的 API,它将使用我们的 ASP/html 平台和 SQL Server 数据库。我在处理 ASP/SQL Server、HTML 等方面没有任何问题。我什至可以编写 XML 请求来查询我们的服务器。但是我不知道从哪里开始设置服务以“侦听”入站 XML 请求。我准备了大约十几个请求/响应例程,但不知道如何对接收该请求的页面进行编码。
有人可以伸出援手吗?
例如:
我们请求他们的方法/功能之一是简单的类别列表请求。使用SOAP,我可以很好地发出请求,只是我不知道如何在服务器端形成接收端来处理请求和响应。
我已经提出了下面的请求,我只需要知道如何处理 Web 服务页面来接收这个请求并用数据进行响应。任何帮助将不胜感激。请看下文。
要发送的 VAR
DealerID
UserID
Password
Dept
代码:
DIM wagConnect, WAGRequest
wagConnect = "http://www....../catreq.asp"
Dim strResult, strNamespace, strFunction
DIM wagResponse, xmldom, xmlresponse
Dim objXMLHTTP : set objXMLHTTP = Server.CreateObject("Msxml2.XMLHTTP.3.0")
' strNamespace="urn:externalwsdl"
' strFunction="add_line"
' area_code
WAGRequest = "<?xml version=""1.0"" encoding=""utf-8"" ?>" & _
"<soapenv:Envelope xmlns:s=""http://schemas.xmlsoap.org/soap/envelope/"">" & _
"<soapenv:Body>" & _
"<Get_Categories xmlns=""urn:externalwsdl"">" & _
"<DealerInfo>" & _
"<DealerID>DealerTest</DealerID>" & _
"<UserID>K850</UserID>" & _
"<Password>1234567Pass</Password>" & _
"</DealerInfo>" & _
"<CatInfo>" & _
"<Dept></Dept>" & _
"</CatInfo>" & _
"</Get_Categories>" & _
"</soapenv:Body>" & _
"</soapenv:Envelope>"
objXMLHTTP.open "POST", "" & wagConnect & "", False
objXMLHTTP.setRequestHeader "Content-Type", "text/xml; charset=UTF-8"
objXMLHTTP.setRequestHeader "Content-Length", Len(WAGRequest)
'objXMLHTTP.setRequestHeader "SOAPMethodName", strFunction
objXMLHTTP.setRequestHeader "SOAPAction", wagConnect
'strNamespace & "#" & strFunction
'send the request and capture the result
Call objXMLHTTP.send(WAGRequest)
xmlresponse = objXMLHTTP.responsetext
wagResponse = ("<pre>"& replace(replace(xmlresponse, "<", "<"), ">", "><br>") &"</pre>")
Set xmldom = Server.CreateObject("Microsoft.XMLDOM")
xmldom.async = false
xmldom.loadxml(objXMLHTTP.responsexml.xml)
IF objXMLHTTP.status <> 200 THEN
wagResponse = "Could not get XML data."
END IF
'Response elements and attributes
'Result-Code (1 = Success, 0 = Failed)
'Category Count {Cat_Count, int} (Number of Categories returned)
'Category
'Child elements: 'CatName {Cat_Name, nvarchar} (Short Text)
'Category Subtitle {Cat_Desc, nvarchar} (SubTitle)
'Category Desc {Cat_Memo, ntext} (long description)
'Picture URL {Cat_Pic, ntext} (URL)'
'ResultCode = xmldom.getElementsByTagName("result-code")(0).text
If ResultCode = 1 THEN
CatCnt = xmldom.getElementsByTagName("Cat_Count")(0).text
CatName = xmldom.getElementsByTagName("Cat_Name")(0).text
CatDesc = xmldom.getElementsByTagName("Cat_Desc")(0).text
CatMemo = xmldom.getElementsByTagName("Cat_Memo")(0).text
CatPic = xmldom.getElementsByTagName("Cat_Pic")(0).text
End if
谢谢你的帮助!