COM mit Notes-Client 8.5

  • Guten Tag,


    gibt es bei der COM-Schnittstelle im 8.5er Client irgend welche Besonderheiten?


    Wir haben bisher nur 6.5 und 7er Clients mit denen unsere selbst geschrieben Programme alle klaglos funktionieren.


    Eine Kundeninstallation auf einem 8.5er Client kann aber leider keine Session aufbauen. Die Testmöglichkeiten beim Kunden sind "begrenzt", so daß ich erst einmal hier frage, ob jemand eine Lösung weiß.


    Vielen Dank
    Gruß
    Bernd

  • Grundsätzlich nicht, also meine unter 6.5 entwickelten COM Programme funktionieren auch unter 8,5 einwandfrei.
    Was für eine Fehlermeldung kommt denn genau ?


    [color=FF0000]Bitte auch aufs Themenpräfix achten[/color]

  • Danke für die schnelle Reaktion.


    Leider können wir erst wieder morgen auf die Maschine zugreifen und dann auch die genaueren Logs abziehen.


    Beruhigend ist erstmal, das es grundsätzlich anscheinend keine Einschränkungen gibt.


    Morgen mehr.
    Bernd

  • So, habe jetzt endlich mal ein Log-Auszug:


    Code
    2011-06-25 05:24:24.83 SessionInit2011-06-25 05:24:24.86 SessionInit fehlgeschlagen: Traceback (most recent call last):  File "cap\notes\NotesDatenbank.pyc", line 27, in __init__  File "win32com\client\__init__.pyc", line 95, in Dispatch  File "win32com\client\dynamic.pyc", line 108, in _GetGoodDispatchAndUserName  File "win32com\client\dynamic.pyc", line 85, in _GetGoodDispatchcom_error: (-2147467259, 'Unbekannter Fehler', None, None)


    Der dazugehörige Code:

    Python
    class NotesSession:
        def __init__(self, pw=None,logfunction=None):
            if logfunction: logfunction(2, "SessionInit")
                try:
                    win32com.client.pythoncom.CoInitialize()
                except:
                    raise SessionError
            else:
                try:
                    self.sess=win32com.client.Dispatch(u"Lotus.NotesSession")


    Die letzte Zeile ist Zeile 27 aus dem Traceback .
    Python 2.5 auf XP-Rechnern, per das .exe per distutils erzeugt.
    Das Problem tritt nicht immer (aber immer öfter) auf und in dieser Häufigkeit ausschließlich unter 8.5.
    Any ideas?

  • Unter welchen Umständen passiert das ?


    Ist der Client da bereits gestartet oder nicht ?


    Ich kenne den Fehler bei COM Automatisierung wenn die Initialisierung der Anwendung zu lange benötigt und damit die COM Schnittstelle in einen Timeout läuft

  • Auf den Maschinen ist ein Client installiert (sonst ginge es ja gar nicht), der läuft aber üblicher Weise nicht.
    Unsere Programme (Kommandozeile, laufen im Hintergrund) werden per Task-Manager alle 30 Min gestartet, manche Aufrufe laufen, andere nicht. Ich habe hier ein Log vorliegen, wo die ersten Aufrufe am Tag sauber durchlaufen, dann kommt gleich beim ersten Zugriff auf die Notes-Session der Fehler (das ist das allererste, was das Programm macht), dann zwischendurch läuft es wieder. Also völlig unspezifiziert.
    Grober Ablauf der Python Programme:
    Session holen
    User Anmelden
    DB öffnen (ist i.a. nur eine)
    Doks bearbeiten
    und gleich das Holen der Session schlägt fehl.
    Timeout wage ich auszuschließen:

    Code
    2011-06-25 05:24:24.83 SessionInit
    2011-06-25 05:24:24.86 SessionInit fehlgeschlagen: Traceback (most recent call last):


    "SessionInit" wird vom Programm ins log geschrieben, die nächste Zeile ist bereits die geworfene Exception. Gerade mal 30ms dazwischen.