2
我在VB.Net中使用返回自定义类或对象的方法创建了webservice。从传统ASP使用SOAP客户端3.0消费ASMX Webservice
<WebMethod()> _
Public Function CreatePerson(ByVal LastName As String, ByVal FirstName As String) As Person
Return New Person(LastName, FirstName)
End Function
Public Class Person
Public Sub New()
End Sub
Public Sub New(ByVal LastName As String, ByVal FirstName As String)
_LastName = LastName
_FirstName = FirstName
End Sub
Private _LastName As String
Public Property LastName() As String
Get
Return _LastName
End Get
Set(ByVal value As String)
_LastName = value
End Set
End Property
Private _FirstName As String
Public Property FirstName() As String
Get
Return _FirstName
End Get
Set(ByVal value As String)
_FirstName= value
End Set
End Property
End Class
我可以从另一个ASP.NET应用程序中使用它,但问题是当我尝试通过SOAP客户从传统的ASP消耗它3.0
<%
Dim Result, oSoapClient
Set oSoapClient = Server.CreateObject("MSSOAP.SoapClient30")
oSoapClient.ClientProperty("ServerHTTPRequest") = True
Call oSoapClient.mssoapinit ("http://MyServer/MyWebService/MyWebService.asmx?WSDL")
Result = oSoapClient.CreatePerson("Sassaroli", "Rinaldo")
Response.Write(Result.LastName)
%>
我得到一个错误:
Microsoft VBScript运行时错误'800a01a8'
需要的对象
在“Response.Write(Result.LastName)”行。
我可以看到的结果是一个字符串数组,没有元素
只是疯狂的猜测,在'Person'上砸了一个' _'属性。 –
2010-09-21 17:27:01
嗨亨克,我试过了,但得到同样的错误。谢谢你的回答。 – 2010-09-21 19:56:05