2016-05-23 8 views
0

Ich habe Webservice auf Lotusscript, und ich möchte eine Funktion, um eine Liste der Elemente zurückzugeben.Retourliste von Lotusscript webservice

Wie ich weiß, Lotusscript-Funktionen können nicht Listen von Objekten zurückgeben, müssen Sie eine Wrapper-Klasse erstellen Listen zurückzukehren (Can I return a List from a LotusScript Function?)

Hier ist die erste Version des Codes:

Class myClass 
Public Function getList As Person 
    Dim pers As New Person  
    pers.info = "Iron Man"  
    Set getList = pers  
End Function  
End Class 

Class Person 
Public info As String 
End Class 

Die PortType-Klasse ist auf myClass festgelegt. Dieser Code funktioniert sehr gut und gibt ein Objekt der Klasse Person zurück.

Aber wenn ich versuche Liste der Objekte zurück:

Class myClass 
Public Function getList As PersonLst 
    Dim pers As New Person 
    Dim persLst As New PersonLst 
    pers.info = "Iron Man" 
    Set persLst.lst("Tony Stark") = pers     
    Set getList = persLst  
End Function  
End Class 

Class Person 
Public info As String 
End Class 

Class PersonLst 
Public lst List As Person 
End Class 

Ich habe den folgenden Fehler, wenn ich meine WebService sparen:

The Web Service has been saved, but is not valid: Please specify which 
class exposes your web service interface(s), using the 
'PortType class' field of the Web Service properties panel 

obwohl Porttype noch myClass gesetzt.

Antwort

0

Verwenden Sie ein Lotus-Skript-Array, da diese den SOAP-Typen zugeordnet werden. Siehe Web Service Mapping, in der die Zuordnung von Arrays und Sonderfälle für verschiedene Domino-Versionen und leere Arrays erläutert werden.