Вызов Web-сервиса из Asp

  • Автор темы alkos
  • Дата начала
A

alkos

Добрый день!
Имеем давно отработанный веб-сервис с методом IPMCreateNewCall(AId, AUserId, ASecureId). Нужнo вызвать его из asp-страницы. Код выглядит вот так:
[codebox]<html>
<head>
<title>Creating a call</title>
</head>
<body>
<%
If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
Dim xmlhttp
Dim DataToSend
DataToSend="AId="&Request.Form("AId")&"&AUserId="&Request.Form("AUserId")&"&ASecureId="&Request.Form("ASecureId")
rwb DataToSend
Dim postUrl
'If Request.Form.Item("Operation")="Sum" Then
postUrl = "https://de-chs-dev.ww005.siemens.net/New/restricted/ProcessWebServ/ProcessWebService.asmx/IPMCreateNewCall"
'else
'postUrl = "http://localhost/Test_ASP_Service1/Service1.asmx/Subtract"
'end if
Set xmlhttp = server.Createobject("MSXML2.XMLHTTP")
xmlhttp.Open "POST",postUrl,false
xmlhttp.setRequestHeader "Content-Type","text/xml; charset=utf-8"
xmlhttp.send DataToSend
Response.Write DataToSend & "<br>"
Response.Write(xmlhttp.responseText)
Else
Response.Write "Loading for the first Time"
End If
%>
<FORM method=POST name="form1" ID="Form1">
Enter the Values to perform Operation<BR>

AId: <INPUT type="text" name="AId" ID="Text1" value="-1">
<BR> AUserId: <INPUT type="text" name="AUserId" ID="Text2" value="1258">
<BR>ASecureId: <INPUT type="text" name="ASecureId" ID="Text3" value="SecureId-String">
<BR><BR>
<INPUT type="submit" value="GO" name="submit1" ID="Submit1">
</form>
</body>
</html>
[/codebox]
Но после нажатия на submit браузер показывает "невозможно отбразить страницу". Не подскажете, в чем ошибка. Несколько часов уже на эти 30 строк убил - все бестолку.

Заранее премного благодарен!
 
E

etc

Надо все логировать и смотреть что не так, ну и в ие указать на отображение приходящей ошибки. С асп по другому никак.
 
A

alkos

Надо все логировать и смотреть что не так, ну и в ие указать на отображение приходящей ошибки. С асп по другому никак.
Есть подозрение, что проблема в сабмите и до сервиса он не доходит
 
A

alkos

Проблема решилась: т.к. веб-сервис на удаленном сервере, то нужно вместо

Set xmlhttp = server.Createobject("MSXML2.XMLHTTP")

использовать

Set xmlhttp = server.Createobject("MSXML2.ServerXMLHTTP.3.0")

Правда, возникла другая проблема: IIS возвращает ошибку 401.2, и употребление

xmlhttp.Open "POST",postUrl,false, strUserName, strPassword

ничего не дает.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!