# Java zugriff auf Exchange Server



## jensa (26. Jun 2008)

Hallo,
ich habe die Aufgabe erhalten mit Java auf einen Exchange Server zuzugreifen um dort Kalenderdaten, Aufgaben auszulesen & ggf gleich zur bearbeitung in Outlook zu öffnen.

gibt es dort möglichkeiten?

Evtl bereits Fertige Interfaces?

Ich habe bereits ein wenig gesucht und bin auf Lösungen gestoßen mit denen man Outlook direkt ansprechen kann.

Für den Zugriff auf Exchange Server habe ich bislang nur Kostenpflichtige Toolsgefunden.

Mein Problem ist ich darf am Exchange Server nichts verändern.
Der Exchange Server ist via http://ip.des.iis.servers/Exchange/ aufrufbar.
evtl hilft diese Information weiter?

Jetzut suche ich eine Lösung um eben Kalenderdaten eines Benutzers zu holen und diese mit eigenem Layout wiederzugeben.

ISt dies möglich?


OffTopic noch eine andere Frage:

Wie kann ich mit Java eine webseite im hintergrund aufrufen ein Formular mit postdaten füllen und absenden sodass ich diese Seite dann zur weiteren Verarbeitung verarbeiten könnte?
Dachte jetzt an eine Art wget möglichkeit o.ä.

Gruß Jensa


----------



## foobar (27. Jun 2008)

> Wie kann ich mit Java eine webseite im hintergrund aufrufen ein Formular mit postdaten füllen und absenden sodass ich diese Seite dann zur weiteren Verarbeitung verarbeiten könnte?


Entweder mit der Klasse URL oder einer externen Lib wie http://hc.apache.org/httpclient-3.x/


----------



## jensa (2. Jul 2008)

Hallo,
danke für den Tipp,
Problem ist in dem Post- Formular gibt es einen für jede Anfrage neu generierten "Key" ein halt zufälliger Hashwert wie könnte ich den Umgehen / sinnvoll abfragen sodass ich die Ergebnisseite erhalte?


BZGL meines Exchange-Server Problems hat keiner rat?

Gruß jensa


----------



## foobar (2. Jul 2008)

Meinst du eine SessionID?


----------



## jensa (2. Jul 2008)

nein, es ist ein Hiddenfield welcher sich bei jedem Aufruf der Seite verändert.

Anbei ein Beispiel eines solchen feldes:

```
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEDeSwwUKLTU2NDQ3ODk4Mw9kFgICAQ9kFgwCAQ8WAh4JaW5uZXJodG1sBRdCdWNodW5nZW4gYW0gMDIuMDcuMjAwOGQCAw8WAh4HVmlzaWJsZWcWAmYPZBYEAgEPZBYCAgEPEA8WBh4NRGF0YVRleHRGaWVsZAUDT3J0Hg5EYXRhVmFsdWVGaWVsZAUDT3J0HgtfIURhdGFCb3VuZGdkEBULC09ydCB3w6RobGVuBkJlcmxpbglEYXJtc3RhZHQIRXNjaGJvcm4JRnJhbmtmdXJ0B0hhbWJ1cmcISGFubm92ZXIGS2Fzc2VsF0xlaW5mZWxkZW4tRWNodGVyZGluZ2VuCE3DvG5jaGVuCVN0dXR0Z2FydBULC09ydCB3w6RobGVuBkJlcmxpbglEYXJtc3RhZHQIRXNjaGJvcm4JRnJhbmtmdXJ0B0hhbWJ1cmcISGFubm92ZXIGS2Fzc2VsF0xlaW5mZWxkZW4tRWNodGVyZGluZ2VuCE3DvG5jaGVuCVN0dXR0Z2FydBQrAwtnZ2dnZ2dnZ2dnZxYBZmQCAw9kFgICAQ8QDxYCHwFoZGQWAGQCBQ8WAh8BaBYEZg9kFgQCAQ9kFgJmDw8WAh4EVGV4dAUKMDIuMDcuMjAwOGRkAgQPZBYCAgEPDxYCHwUFCjAyLjA3LjIwMDhkZAICD2QWAgIBD2QWAmYPEGRkFgBkAgcPPCsACwEADxYCHwFoZGQCCQ8WAh8AZWQCCw8WAh8AZWRkOAj75exjhkaS7YY5VJBSFTVDRdk=" />
```

Die Seite mit der Suchmaske ist eine in ASP.NET geschrieben.

Mein Ziel ist es halt eine DropDown-Menü auswahl zu simmulieren um die Ergebnisse der Abfrage parsen zu können um sie anschließend weiterverwenden zu können.

Gruß jensa


----------



## foobar (2. Jul 2008)

Das könnte schwierig werden, da dieser Wert serverseitig generiert wird. Jetzt stellt sich nur die Frage, ob die Anfrage auch ohne diese ID funktioniert bzw. ob du diesen Wert selber errechnen kannst.


----------



## jensa (2. Jul 2008)

inwiefern könnte ich versuchen dies herauszubekommen?
Gibt es dort Möglichkeiten das man angenommen 15-20 x diese IDs sammelt und auf eine Art und Weise Analysiert?
Ohne diese IDs hatte ich es schon einmal Versucht.
Da dieses ViewStates wie man bei w3c findet eine Art ASP.NET sicherheitsfeld gegen DoS - Attacken ist.

(siehe:http://www.w3schools.com/ASPNET/aspnet_viewstate.asp)

gibt es dort etl einen weg dies zu umgehen?


----------



## tuxedo (2. Jul 2008)

Hast du denn ausschließlich zugriff auf das webinterface des exchange-servers? 

Da ein Browser die Seite bedienen kann, muss das auch in Java gehen. Und zwar ohne das umgehen der "servergenerierten ID". Sprich: mitbenutzen des "keys", so wie es ein Browser auch machen würde.

- Alex


----------



## jensa (7. Jul 2008)

inwiefern könnte die Lösung aussehen mittels dem Mitbenutzen des Keys?
Da mir dort leider wenn der nötige Hinweis fehlt / denkrichtung fehlt um dies umzusetzen.

Evtl ein paar Tipps? Verweise?



===
Bzgl des Exchanges. 
Wir haben lediglich zugriff auf den Outlook Web Access - Service des Exchange Servers.
Dort sollte es mir aber möglich sein, durch das parsen der OWA-Kalender Seite sein an die Daten heranzukommen.
Ein anderer Weg wäre natürlich besser aber vmtl nicht machbar oder?


----------



## tuxedo (7. Jul 2008)

Ich versteh nicht wirklich wo das Problem liegt:

Wenn du die Webseite aufmachst und der Server dir ein "hidden key" im Formular mit anbietet, dann kannst/darfst du diesen nicht einfach ignorieren. Sende das Formular so ab, wie du es bekommen hast, nur eben mit ausgefüllten "nicht-hidden" feldern. Wenn du den Key weglässt ist klar dass sich der Server beschwert. Gleiches gilt für Cookies und Co.
Verhalte dich (bzw. dein Programm) also wie ein Browser ala Firefox oder IE.

Klar, das ganze ist nicht einfach, aber "learning by doing".

- Alex


----------



## Gast (8. Jul 2008)

Die Variable suggeriert ja den VIEWSTATE - moeglich dass du auch ohne sie auskommst, da dich irgendwelche grafischen Aufbereitungen wahrescheinlich weniger interessieren... probiers mal ohne...


----------

