Das Notes Forum

Domino 9 und frühere Versionen => ND9: Entwicklung => Thema gestartet von: ebrs am 08.08.17 - 11:28:45

Titel: Webservice Provider Struktur mit Mehrfach-Item übergeben ?
Beitrag von: ebrs am 08.08.17 - 11:28:45
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>sc11</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!
Titel: Re: Webservice Provider Struktur mit Mehrfach-Item übergeben ?
Beitrag von: Thomas Schulte am 08.08.17 - 15:47:42
Wenn du einen Webservice Consumer hast der das supported würde ich mir erst mal anschauen wie Domino das erstellt.

Und danach mit dem Provider anfangen. Das hilft meistens.