Hi,
wenn man in der Notes7 Designer- Hilfe nach XSD_Datetime sucht, stösst man auf ein interessantes Dokument.
Es gibt spezielle Soap Datentypen, die das Mapping zwischen Datentypen in v.a. Java aber vermutlich auch andere Sprachen über Webservices sehr ehrleichtert.
Mein aktueller Favorit ist:
SOAP-> xsd:dateTime
Java-> java.util.Calendar
LotusScript-> XSD_DATETIME
Man kann jetzt XSD_DATETIME als Funktionsparameter nehmen.
Z.B:
Public Function GetAllTicketsBySupporter ( strSupporter As String, cutOffDate As XSD_DateTime ) As TicketCollection
.. und dann:
Dim nCutOffDate as NotesDatetime
nCutOffDate = cutOffDate.GetValueAsNotesDateTime() 'wobei dies eine spezielle Methode von XSD_DateTime ist.
... und NotesDateTime kann man prima in dem in Help extrem beliebten db.search benutzen...
Es gibt noch eine Menge mehr dieser speziellen Notes-SOAP-Datentypen.
Auf der LotusSphere wurde bekanngegeben, dass man in Zukunft nicht mehr wie jetzt auf soap/enc dann auf doc/lit als favorisierten Message-Encoding Mechanismus setzen will.
Mir ist nicht ganz klar, inwieweit diese Bonus-Features für doc/lit benutzt werden können. Vielleicht aber schon.
Ich habs bisher noch nicht vom Client aus ausprobiert, bin aber relativ zuversichtlich. Auf dem Server kompiliert es aber. Vielleicht schaffe ich es morgen, dass auch auf dem Client ausprobieren.
Gruß Axel
funktioniert.
Wenn ein Webservice eine größere Collection an Daten angefordert werden, können so nur die jeweils seit dem letzten Request geänderten Daten runtergeladen werden.
Größere Collection haben mir einige Performance-Sorgen gemacht.
Natürlich muss im Client wesentlich mehr programmiert werden, um das funktionsfähig zu machen.
Serverseitig ist das einfach nur:
Public Function GetAllTicketsByUser ( strUser As String, cutOffDate As XSD_DateTime) As TicketCollection
[...]
Set dc = GetDocumentsWithCutOffDate ( SearchFormula, cutOffDate.GetValueAsNotesDateTime() )
[...]
end function
Private Function getDocumentsWithCutOffDate ( strSearchstring As String, cutOffDate As NotesDatetime ) As NotesDocumentCollection
Set getDocumentsWithCutOffDate = db.Search( strSearchstring, cutOffDate,0)
End Function
Ist aber ein gutes Feature, mit den speziellen Datentypen für SOAP in LotusScript.
Gruß Axel