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!

  • Wieso baust du dir nicht einfach die WSDL datei zusammen und generierst auf Basis dieser dann einen WebService Provider ?


    Damit generiert er dir dann die entsprechenden LotusScript Strukturen automatisch und du musst sie nur noch mit Logik füllen

  • Hallo taurec, danke für die Reaktion.
    Allerdings kann ich die WSDL nur beim Webservice Consumer importieren.
    Beim Provider finde ich keine Möglichkeit, eine WSDL zu importieren.
    Hab ich da was übersehen?