Статус: Новичок
Группы: Участники
Зарегистрирован: 05.03.2013(UTC) Сообщений: 7  Сказал(а) «Спасибо»: 1 раз
|
Здравствуйте! Стоит задача написать vbs для поиска сертификата по заданному полю. Но при отправке SOAP-запроса появляется следующая ошибка: - WSDLReader:The operation requested in the Soap message with soapAction http://tempuri.org/RA/ac....GetCertificatesListMtoN isn't defined in the WSDL file. This may be because it is in the wrong namespace or has incorrect case HRESULT=0x80004005: Неопознанная ошибкаВот код vbs: Код:Set objFSO = CreateObject("Scripting.FileSystemObject")
Set debug_file = objFSO.CreateTextFile("debug.txt", True)
debug_file.Writeline(Date & " " & Time & " === Register_SOAP started === ")
CN="Иванов Иван Иванович"
res = sendRequest("1","1","CertificateID","","1","False","Subject","2.5.4.3","1",CN,"1","0","False","1","1")
debug_file.WriteLine(Date & " " & Time & " result: " & res)
debug_file.Close
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run("notepad debug.txt")
Function sendRequest(strStartIndex, strEndIndex, strSortCol, strSortSubCol, strSubColPos, strAscSort, strFilCol, strFilSubCol, strFilSubColPos, strFilVal, strRegReqSt, strSearchType, strFetchRecCount, strRecAff, strRecCou)
strMessage = "<?xml version=""1.0"" encoding=""utf-8""?>"
strMessage = strMessage + "<SOAP-ENV:Envelope"
strMessage = strMessage + " xmlns:xsi =""http://www.w3.org/2001/XMLSchema-instance"""
strMessage = strMessage + " xmlns:xsd =""http://www.w3.org/2001/XMLSchema"""
strMessage = strMessage + " xmlns:SOAP-ENV=""http://schemas.xmlsoap.org/soap/envelope/"">"
strMessage = strMessage + "<SOAP-ENV:Body>"
strMessage = strMessage + "<SOAPSDK1:GetCertificatesListMtoN"
strMessage = strMessage + " xmlns:SOAPSDK1=""http://tempuri.org/RA/message/"">"
strMessage = strMessage + "<StartingIndex xsi:type=""xsd:int"">"+strStartIndex+"</StartingIndex>"
strMessage = strMessage + "<EndingIndex xsi:type=""xsd:int"">"+strEndIndex+"</EndingIndex>"
strMessage = strMessage + "<SortColumn xsi:type=""xsd:string"">"+strSortCol+"</SortColumn>"
strMessage = strMessage + "<SortSubColumn xsi:type=""xsd:string"">"+strSortSubCol+"</SortSubColumn>"
strMessage = strMessage + "<SubColumnPos xsi:type=""xsd:int"">"+strSubColPos+"</SubColumnPos>"
strMessage = strMessage + "<AscSort xsi:type=""xsd:boolean"">"+strAscSort+"</AscSort>"
strMessage = strMessage + "<FilterColumn xsi:type=""xsd:string"">"+strFilCol+"</FilterColumn>"
strMessage = strMessage + "<FilterSubColumn xsi:type=""xsd:string"">"+strFilSubCol+"</FilterSubColumn>"
strMessage = strMessage + "<FilterSubColumnPos xsi:type=""xsd:int"">"+strFilSubColPos+"</FilterSubColumnPos>"
strMessage = strMessage + "<FilterValue xsi:type=""xsd:string"">"+strFilVal+"</FilterValue>"
strMessage = strMessage + "<RegReqState xsi:type=""xsd:int"">"+strRegReqSt+"</RegReqState>"
strMessage = strMessage + "<SearchType xsi:type=""xsd:int"">"+strSearchType+"</SearchType>"
strMessage = strMessage + "<FetchRecordsCount xsi:type=""xsd:boolean"">"+strFetchRecCount+"</FetchRecordsCount>"
strMessage = strMessage + "<RecordsAffected xsi:type=""xsd:int"">"+strRecAff+"</RecordsAffected>"
strMessage = strMessage + "<RecordsCountInScope xsi:type=""xsd:int"">"+strRecCou+"</RecordsCountInScope>"
strMessage = strMessage + "</SOAPSDK1:GetCertificatesListMtoN>"
strMessage = strMessage + "</SOAP-ENV:Body>"
strMessage = strMessage + "</SOAP-ENV:Envelope>">"
debug_file.WriteLine(Date & " " & Time & " request: " & strMessage)
Set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP")
xmlhttp.open "POST", "https://****-ra/RA/RA.asp", False
xmlhttp.setRequestHeader "Host", " amur-ra"
xmlhttp.setRequestHeader "Content-Type", "text/xml; charset=utf-8"
xmlhttp.setRequestHeader "Content-Length", CStr(Len(strMessage))
xmlhttp.setRequestHeader "SOAPAction", "http://tempuri.org/RA/action/CertView.GetCertificatesListMtoN"
xmlhttp.SetOption 3, ""
xmlhttp.send strMessage
strMessage = xmlhttp.responseText
Set xmlDoc = CreateObject("MSXML2.DOMDocument")
xmlDoc.LoadXml strMessage
If xmlDoc.parseError.errorCode Then
Err.Raise &H8000FF01, "Error: " & xmlDoc.parseError.srcText
End If
sendRequest = strMessage
End Function
Я так понимаю не срабатывает SoapAction "http://tempuri.org/RA/action/CertView.GetCertificatesListMtoN". В чем может быть причина?
|