Home › Forum › Nuclos Entwicklung › Schnittstellen › Webservice Anbindung Exchange Server
- Dieses Thema hat 8 Antworten und 3 Teilnehmer, und wurde zuletzt aktualisiert vor 12 Jahre von
Ramin Goettlich.
-
AutorBeiträge
-
5 Mai 2011 um 11:25 Uhr #3658
Markus Glitzner
TeilnehmerHallo!
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.CodeGenerationException5 Mai 2011 um 11:28 Uhr #3659Markus Glitzner
TeilnehmerDer Dateianhang funktioneirt nicht, darum hier die wdsl Datei:
...
5 Mai 2011 um 13:48 Uhr #3660Maik Stüker
TeilnehmerHallo,
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,
Slash6 Mai 2011 um 11:52 Uhr #3663Markus Glitzner
TeilnehmerHallo 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
10 Mai 2011 um 10:45 Uhr #3675Maik Stüker
TeilnehmerHallo hugo,
können Sie die verwende WSDL und die XSD Dateien bitte diesem Thema anhängen?
Viele Grüße,
slash10 Mai 2011 um 11:06 Uhr #3677Markus Glitzner
Teilnehmer[file name=wsdl.zip size=29927]https://www.nuclos.de/media/kunena/attachments/legacy/files/wsdl.zip[/file]
Attachments:10 Mai 2011 um 12:04 Uhr #3681Maik Stüker
TeilnehmerHallo 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.
10 Mai 2011 um 12:07 Uhr #3682Markus Glitzner
Teilnehmerok, danke für den Hinweis.
welche Möglichkeiten gibt es sonst noch auf Outlook bzw. Exchange Kalender zuzugreifen?
Schöne Grüße
Hugo10 Mai 2011 um 12:12 Uhr #3683Ramin Goettlich
TeilnehmerHallo 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 -
AutorBeiträge