Home Forum Nuclos Entwicklung Schnittstellen Webservice Anbindung Exchange Server

Ansicht von 9 Beiträgen - 1 bis 9 (von insgesamt 9)
  • Autor
    Beiträge
  • #3658
    Markus Glitzner
    Teilnehmer

    Hallo!

    Ich versuche gerade eine Webservice Schnittstelle zu einem Exchange Server 2007 herzustellen um Kalendereinträge zu synchronisieren.

    Exchange bietet dazu eine fertige wdsl Datei an (siehe Anhang). Wenn ich die Webservice Definition in Nuclos speichern will, tritt ein Fehler auf und es werden auch keine Klassen generiert.

    Ein Fehler ist aufgetreten.
    org.springframework.remoting.RemoteAccessException: Could not deserialize result from HTTP invoker remote service [http://localhost:80/nuclos/remoting/MasterDataService];
    nested exception is java.lang.ClassNotFoundException: org.apache.axis2.wsdl.codegen.CodeGenerationException

    #3659
    Markus Glitzner
    Teilnehmer

    Der Dateianhang funktioneirt nicht, darum hier die wdsl Datei:

    ...

    #3660
    Maik Stüker
    Teilnehmer

    Hallo,

    die WSDL bezieht sich auf eine weitere Datei:
    schemaLocation=“messages.xsd“

    Entweder Sie bearbeiten die WSDL und fügen den Inhalt der XSD hinzu und entfernen den Import,
    oder Sie kopieren die XSD in das Verzeichnis [home]/data/codegenerator/wsdl.

    Viele Grüße,
    Slash

    #3663
    Markus Glitzner
    Teilnehmer

    Hallo slash!

    Habe jetzt die beiden Schemadfinitionen Messages.xsd und Types.xsd, die noch benötigt werden, in das wsdl Verzeichnis kopiert. Kommt allerdings der selbe Fehler.

    Angeblich ist die Exchange SOAP Implementation nicht ganz korrekt, daher müssen die Dateien wiefolgt angepasst werden:

    Edit Services.wsdl and before the final closing tag add this
    {{{

    }}}

    In types.xsd, near the beginning, replace
    {{{

    }}}
    with
    {{{

    }}}

    http://www.bedework.org/trac/bedework/wiki/ExchangeWS

    Wenn ich dass mache und den Webservice Eintrag in nuclos speichern will, werden zwar die Source Dateien ExchangeWebServiceStub.java und ExchangeWebServiceCallbackHandler.java generiert, aber nicht die compilierten Klassen und es erscheint folgende Meldung: Der Datensatz konnte nicht gespeichrt werden (eventuell ist der Schlüssel schon vergeben)

    Es existiert aber noch kein Webservice Eintrag, auch nicht wenn ich direkt in der Datenbank in die Tabelle schau.

    Schöne Grüße

    #3675
    Maik Stüker
    Teilnehmer

    Hallo hugo,

    können Sie die verwende WSDL und die XSD Dateien bitte diesem Thema anhängen?

    Viele Grüße,
    slash

    #3677
    Markus Glitzner
    Teilnehmer

    [file name=wsdl.zip size=29927]https://www.nuclos.de/media/kunena/attachments/legacy/files/wsdl.zip[/file]

    Attachments:
    #3681
    Maik Stüker
    Teilnehmer

    Hallo hugo,

    leider ist ein kompilieren der generierten Java Klassen nicht möglich:
    [ExchangeWebServiceStub.java:93353: cannot find symbol
    symbol : variable localPathTracker
    location: class org.nuclos.webservices.exchange.ExchangeWebServiceStub.AppendToItemFieldType, ExchangeWebServiceStub.java:93978: cannot find symbol
    symbol : variable localPathTracker
    location: class org.nuclos.webservices.exchange.ExchangeWebServiceStub.AppendToItemFieldType, ExchangeWebServiceStub.java:93978: illegal start of type, ExchangeWebServiceStub.java:94215: cannot find symbol
    symbol : variable localPathTracker
    location: class org.nuclos.webservices.exchange.ExchangeWebServiceStub.AppendToItemFieldType, ExchangeWebServiceStub.java:94215: illegal start of type, ExchangeWebServiceStub.java:207753: cannot find symbol
    symbol : variable localPathTracker
    location: class org.nuclos.webservices.exchange.ExchangeWebServiceStub.SetFolderFieldType, ExchangeWebServiceStub.java:208090: cannot find symbol
    symbol : variable localPathTracker
    location: class org.nuclos.webservices.exchange.ExchangeWebServiceStub.SetFolderFieldType, ExchangeWebServiceStub.java:208090: illegal start of type, ExchangeWebServiceStub.java:208291: cannot find symbol
    symbol : variable localPathTracker
    location: class org.nuclos.webservices.exchange.ExchangeWebServiceStub.SetFolderFieldType, ExchangeWebServiceStub.java:208291: illegal start of type, ExchangeWebServiceStub.java:210482: cannot find symbol
    symbol : variable localPathTracker
    location: class org.nuclos.webservices.exchange.ExchangeWebServiceStub.SetItemFieldType, ExchangeWebServiceStub.java:211107: cannot find symbol
    symbol : variable localPathTracker
    location: class org.nuclos.webservices.exchange.ExchangeWebServiceStub.SetItemFieldType, ExchangeWebServiceStub.java:211107: illegal start of type, ExchangeWebServiceStub.java:211344: cannot find symbol
    symbol : variable localPathTracker
    location: class org.nuclos.webservices.exchange.ExchangeWebServiceStub.SetItemFieldType, ExchangeWebServiceStub.java:211344: illegal start of type]

    Wir verwenden für die Generierung der Java Klassen das Apache Framework Axis2. Da diese generierten Klassen jedoch nicht kompilierbar sind handelt es sich um einen Axis2 Bug.

    #3682
    Markus Glitzner
    Teilnehmer

    ok, danke für den Hinweis.

    welche Möglichkeiten gibt es sonst noch auf Outlook bzw. Exchange Kalender zuzugreifen?

    Schöne Grüße
    Hugo

    #3683
    Ramin Goettlich
    Teilnehmer

    Hallo hugo,

    das alles zu Fuss zu programmieren, wäre vermutlich sowieso uferlos… Die Exchange Web Services sind ja alles andere als intuitiv.

    Wir haben in einigen Projekten, z.B. für Kalendersynchronisation, JWebservices verwendet, eine Implementierung von Dritten, und damit gute Erfahrungen gesammelt. Allerdings ist die Komponente (nach einer Evaluierungsperiode) kostenpflichtig (erschwinglich).

    Siehe http://www.independentsoft.com/jwebservices/index.html . Da gibts dann auch jede Menge Codebeispiele, mit denen man sehr schnell zu entsprechenden Ergebnissen kommt. Wenn man die jwebservices.jar in das /server/extensions-Verzeichnis des Installers legt, kann man nach Ausführung des Installers in Geschäftsregeln auf die Klassen und Methoden zugreifen.

    Grüsse,
    nuclosian

Ansicht von 9 Beiträgen - 1 bis 9 (von insgesamt 9)