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