0

我在我的项目中使用了一个引用的 Web 服务,我需要传递两个参数:我的名为“clPerson.vb”的类和另一个类的 ArrayList 到 Web 服务方法。

在我的网页中,我需要执行以下操作:

Protected Sub WebPageSub()
    Dim ObjPerson = New WebPage.clPerson(84) '84 is IDPerson
    Dim ALDocuments As ArrayList = WebPage.getArrPerDocs(84, "T") 'this returns an arraylist of clDocuments class, returns all the documents that person 84 has, "T" is the identified for documents

    Dim wsSave As WebServiceExample 'WebService must save the data I Send.
    wsSave.InsertData(ObjPerson,ALDocuments) 'I send an arraylist and
End Sub


在我的网络服务中,应该像这样工作

<WebMethod()>
Public sub InsertData(ObjPerson As clPerson, DocsArray as ArrayList) 
    ' ..SAVE DATA
End Sub

注意: clPerson 和 clDocuments 是我的主要项目和我的 web 服务中的类。

4

1 回答 1

0

我修复了它实例化两个类(WebService.clPerson 和 WebPage.clPerson),然后像这样手动分配每个属性。

然后我在 clPerson 类中添加了一个 Object() 类型的属性,可以保存 clDocument 类的 ArrayList,并且可以只向 WebService 发送一个参数。

    Dim cont As Integer = 0
    Dim CodErr As String = Nothing

    Dim ObjPerson = New webpage.clPerson(84)
    Dim arrDocPers As ArrayList = getArrPerDocs(84, "T")
    Dim ArrObj(arrDeReq.Count - 1) As Object

    Dim ObjWS As New WebService.wsObj 'WebService Object
    Dim WSObjPerson As New WebService.clPerson
    Dim WSObjDocs As WebService.clDocuments


    For Each arrDeReqaux As WebPage.clDocuments In arrDocPers 
        WSObjDocs = New WebService.clDocuments
        WSObjDocs.ID = arrDeReqaux.ID
        WSObjDocs.DUI= arrDeReqaux.DUI
        WSObjDocs.PassportID = arrDeReqaux.PassportID
        WSObjDocs.LicenceID= arrDeReqaux.LicenceID
        ArrObj(cont) = WSObjDocs
        cont += 1
    Next


    WSObjPerson.FullName= ObjPerson.FullName
    WSObjPerson.Age = ObjPerson.Age
    WSObjPerson.propALDocs = ArrObj

    CodErr = ObjWS.InsertPerson(WSObjPerson)
于 2013-10-30T18:27:22.500 回答