Webservice Provider Struktur mit Mehrfach-Item übergeben ?

  • Webservice Provider Struktur mit Mehrfach-Item übergeben ?

    Hallo,

    ich versuche, einen Webservice Provider zu schreiben, der eine item-Struktur empfangen kann.
    Also beliebig viele Datensätze pro Aufruf, die wiederum pro Satz verschiedene Felder beinhalten.
    Bisher haben wir immer einen Datensatz pro Aufruf übergeben, aber wir haben jetzt einen Anwendungsfall, wo sehr viele Datensätze übergeben werden und daher ein Aufruf pro Satz nicht effizient arbeiten würde.

    Hier ein beispielhafter WSDL-Auszug, wie ich ihn mir vorstelle:

    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:DefaultNamespace">
    <soapenv:Header/>
    <soapenv:Body>
    <urn:IMPORTSAP>
    <!--Zero or more repetitions:-->
    <item>
    <MATERIALNR>mat1</MATNR>
    <SERIALNR>ser1</SERNR>
    <SERVICENR>sc1</SERNR>
    </item>
    <item>
    <MATERIALNR>mat2</MATNR>
    <SERIALNR>ser2</SERNR>
    <SERVICENR>sc2</SERNR>
    </item>

    ... usw.

    </urn:IMPORTSAP>
    </soapenv:Body>
    </soapenv:Envelope>


    Also beliebig viele <item>s, die wiederum aus einer fixen Struktur bestehen und insgesamt einen Datensatz bilden

    Oder so was

    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:DefaultNamespace">
    <soapenv:Header/>
    <soapenv:Body>
    <urn:IMPORTSAP>
    <PARARRAY>
    <!--Zero or more repetitions:-->
    <item>
    <MATERIALNR>mat1</MATNR>
    <SERIALNR>ser1</SERNR>
    <SERVICENR>sc1</SERNR>
    </item>
    <item>
    <MATERIALNR>mat2</MATNR>
    <SERIALNR>ser2</SERNR>
    <SERVICENR>sc2</SERNR>
    </item>

    ... usw ...

    </PARARRAY>
    </urn:IMPORTSAP>
    </soapenv:Body>
    </soapenv:Envelope>


    Hier wird das ganze noch in ein <PARARRAY> gesetzt...

    Meine bisherigen Versuche waren u.a. :

    Type ParameterSetType
    MATERIALNR As String
    SERIALNR As String
    SERVICENR As String
    End Type

    Class ParameterSet
    myArray() As ParameterSetType
    End Class

    Public Class SAPtoSCTestMulti
    AGTLog As TSYLog
    Function importSAP (parameter As ParameterSet) As String


    End Function
    End Class


    Oder:

    Type ParameterSet
    MATERIALNR As String
    SERIALNR As String
    SERVICENR As String
    End Type

    Public Class SAPtoSCTestMulti
    AGTLog As TSYLog
    Function importSAP (parArray() As ParameterSet) As String


    End Function
    End Class


    Oder:

    Public Class SAPtoSCTestMulti

    AGTLog As TSYLog
    Function importSAP (parArray() As Parameter) As String


    End Function
    End Class

    Class Parameter
    MATERIALNR As String
    SERIALNR As String
    SERVICENR As String
    End Class


    Hat aber alles nicht funktioniert.

    Weiss jemand von Euch, wie es geht?
    Das wäre super.

    Herzlichen Dank im Voraus!