Я считаю, что основной причиной ошибки является отсутствие ключевого слова Set
в строке, которая вызывает метод веб-службы. Это должно выглядеть так:
Set Result = oSoapClient.CreatePerson("Sassaroli", "Rinaldo")
Это избавит вас от вашей первоначальной проблемы. После этого вам нужно прочитать объект результата. Ваша следующая строка кода:
Response.Write(Result.LastName)
, скорее всего, приведет к другой ошибке. Это связано с тем, что полученный вами результат на самом деле не объект Person, а XML-представление этого объекта. Вы можете проверить это с помощью следующего кода:
<%
Dim Result, oSoapClient
Set oSoapClient = Server.CreateObject("MSSOAP.SoapClient30")
oSoapClient.ClientProperty("ServerHTTPRequest") = True
Call oSoapClient.mssoapinit ("http://MyServer/MyWebService/MyWebService.asmx?WSDL")
Set Result = oSoapClient.CreatePerson("Sassaroli", "Rinaldo")
Response.Write( TypeName( Result ) & "<br/>" & vbCrLf )
Response.Write( Result.item(0).text )
%>
Тип, который будет показан вызовом TypeName, будет IXMLDomSelection. Вы можете получить доступ к узлам для этого объекта с помощью методов и свойств, которые описаны здесь .
В последней строке кода будет отображаться значение свойства LastName.
Надеюсь, это приведет вас в правильном направлении.