Domino 9 und frühere Versionen > ND9: Entwicklung

Webservice Provider Struktur mit Mehrfach-Item übergeben ?

(1/1)

ebrs:
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!

Thomas Schulte:
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.

Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln