Autor Thema: Web-Services, WSDL, SOAP und Rechteproblematik...  (Gelesen 4818 mal)

Offline jr

  • Senior Mitglied
  • ****
  • Beiträge: 260
  • Geschlecht: Männlich
  • Bitte keine eierlegenden Wollmilchsäue...
    • Homepage
Hallo zusammen,

für einen Kunden muss ich einen WebService-Schnittstelle in eine Notes-Datenbank implementieren. Das habe ich zwar noch nie gemacht, aber ich sagte mir "Geht nicht, gibt's nicht" und habe mich erst einmal eingelesen. In dem WSDL-File, das ich bekommen habe, steht alles drin, was ich für die Entwicklung des Clients wissen muss. Den Rest kann man sich im Internet zusammensuchen...  ;)

Bei der Suche nach entsprechenden Tools habe ich nach ein paar Fehlschlägen (WSDL.exe funktioniert wohl nur mit .net-Basic, xfire benutzt Annotations und geht nur mit jdk 5.0, axis2 liefert mir ca. 2 Mio. Dateien oder ich hab's nicht richtig verstanden) bin ich dann bei axis 1.4 gelandet. Das ist übersichtlich, leicht zu bedienen und zu verstehen und lässt sich auch noch prima in Eclipse einbinden. Mit WSDL2Java erzeugt er mir ansprechende und leicht verständliche Java-Quelltexte, die man leicht in seinen eigenen Code einbinden kann. Mit einer Zusatzbibliothek läuft das ganze dann sogar unter jdk 1.3, was ich für mein Notes 6.5 brauche.

Die Daten füllen, die Ergebnisse auslesen, funktioniert alles einwandfrei. Nur die Datenübertragung selbst tut nicht, weil hier irgend ein "access denied" auftaucht. Nach einigen Recherchen im Internet hab ich mitbekommen, dass Applikationen direkt laufen, Applets aber zuerst signiert werden müssen, damit das läuft. Verhält sich ein Java-Agent in Notes wie ein Applet? War mir bisher so gar nicht bewußt.

Nun, wenn das das Problem ist, wie signiere ich denn einen Java-Agenten bzw. eine Java-Bibliothek? Alle beteilgiten Agenten habe ich auf "3. Allow restricted operations with full admin rights" gestellt, aber das scheint nicht zu genügen. Die Elemente sind natürlich von mir signiert und ich habe volle Ausführungsrechte auf dem Server. Ein lokaler LS-Agent ruft dann mit RunOnServer() den Java-Agent auf dem Server auf. Das tut alles, nur bricht der Agent dann mit der Exception ab  ???:

Agent  error: java.security.AccessControlException: access denied (java.security.SecurityPermission setPolicy)
Agent  error:     at java.security.AccessControlContext.checkPermission(AccessControlContext.java:292)
Agent  error:     at java.security.AccessController.checkPermission(AccessController.java:476)
Agent  error:     at java.lang.SecurityManager.checkPermission(SecurityManager.java:538)
Agent  error:     at java.security.Policy.setPolicy(Policy.java:249)
...
Agent  error:     at lotus.domino.NotesThread.run(Unknown Source)


Dann habe ich hier im Forum etwas gefunden über die java.policy. Ich hab' keine Ahnung, was man da einstellen muss und selbst wenn das die Lösung wäre, die Datenbank soll bei meinem Kunden auf 27 Servern laufen und wenn das auf jedem Server manuell eingestellt werden muss... Naja, wenn es nicht anders geht, dann muss das halt sein.

Lange Rede, kurzer Sinn: Kann mir igend jemand helfen, wie ich den Web-Service so zum laufen bringe, dass keine Rechte diesen blockieren? Oder sollte ich für Notes ein anderes SOAP-Framework benutzen? Wie trägt man einen Agenten oder eine Bibliothek in die java.policy ein? Welche Erfahrung mit Web-Services habt Ihr gemacht? Habt Ihr andere Vorschläge?



Im Voraus vielen Dank für Eure Hilfe,

Joachim
Wer in den Fußstapfen eines anderen geht, hinterlässt keine Spuren und kommt nie als Erster an.

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Web-Services, WSDL, SOAP und Rechteproblematik...
« Antwort #1 am: 20.10.06 - 14:00:43 »
Ich weiss allerdings auch nicht, ob man so mir nichts dir nichts axis in Notes implementieren kann.
Eine andere Möglichkeit, die wir mal bei einem ex-Arbeitgeber verwendet haben:
Das SOAP per HttpConnection herunterladen und mit xml-libraries parsen.
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline jr

  • Senior Mitglied
  • ****
  • Beiträge: 260
  • Geschlecht: Männlich
  • Bitte keine eierlegenden Wollmilchsäue...
    • Homepage
Re: Web-Services, WSDL, SOAP und Rechteproblematik...
« Antwort #2 am: 20.10.06 - 14:51:54 »
Hallo Axel,

das mit axis scheint nicht das Problem zu sein, denn außer dem Rechteproblem funktioniert alles. Ob das mit dem Parsen ausreicht bin ich mir nicht sicher, denn wenn die Daten dann korrekt eingetragen sind, muss das Ganze ja wieder zurückgeschickt werden und dann habe ich ja das gleiche Problem.

Ich suche ja noch weiter im Internet und komme immer mehr zu der Erkenntnis, dass wohl alles an diesem policy-File liegt. Vielleicht muss ich mich da noch ein bisschen einarbeiten. Habe bisher noch keine Ahnung, wie da was eingetragen wird. Mal sehen...

Danke,

Joachim
Wer in den Fußstapfen eines anderen geht, hinterlässt keine Spuren und kommt nie als Erster an.

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Web-Services, WSDL, SOAP und Rechteproblematik...
« Antwort #3 am: 20.10.06 - 17:55:39 »
steht alles drin, was ich für die Entwicklung des Clients wissen muss. Den Rest kann man sich im Internet zusammensuchen...  ;)
, denn wenn die Daten dann korrekt eingetragen sind, muss das Ganze ja wieder zurückgeschickt werden
Programmierst du eigentlich einen Webservice Producer (anderes Wort für Server) oder einen Consumer (anderes Wort für Client).
Du kannst natürlich auch in einem Notes Agenten SOAP XML-Files selbst zusammenbauen und zurückschicken.
Im Sinne der Erfinder von SOAP ist das sicher auch nicht. Aber vielleicht machbar.

Übrigens ist die IBM Implementierung von Webservices in R7 nichts anderes als die Einbindung von Axis1. Die basieren auf genau diese Klassen. Auch die LotusScript Implementierung.

Die Geschichte mit den .policy files wird u.a. z.B. hier besprochen: http://java.sun.com/docs/books/tutorial/security/toolsign/index.html

Die policy auf deinem Domino Server ist hier:
<Domino-Programm>\jvm\lib\security

Die policy auf deinem Notes Client ist hier:
<Notes-Programm>\jvm\lib\security

Ein sehr gutes Buch für Java Security ist btw. "J2EE Security for Servlets EJBS and Web Services." von Pankaj Kumar. Der Titel ist leicht irreführend. Das Kapitel über J2SE Security ist sehr umfangreich.

Vermutlich musst du in die grant permission einfach die korrekten Genehmigungen reinschreiben. Paß aber auf, dass du kein Sicherheitsloch erzeugst.
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline jr

  • Senior Mitglied
  • ****
  • Beiträge: 260
  • Geschlecht: Männlich
  • Bitte keine eierlegenden Wollmilchsäue...
    • Homepage
Re: Web-Services, WSDL, SOAP und Rechteproblematik...
« Antwort #4 am: 23.10.06 - 10:29:36 »
Hallo,

in diesem Fall benötige ich nur einen Consumer. Der Server wird von einem komplett anderen System gestellt, auf den ich zugreifen muss. Von dort habe ich auch die WSDL-Datei bekommen, die ich jetzt umsetzen muss.

Das ist interessant, dass die R7-Implementierung auch auf Axis aufbaut. Da habe ich ja genau das richtige Tool ausgewählt. Ich weiß aber nicht, ob das unter R7 dann einfacher wird. Das muss ich demnächst einmal ausprobieren. Aber zuerst muss das jetzt mal unter R6 laufen.

Danke für den Buchtipp. Ich muss mal sehen, ob ich mir das irgend wie besorgen kann. Allerdings habe ich in der Zwischenzeit ein paar recht gute Seiten im Internet zum Thema Security gefunden. Auch über die Policy Implementierung. Ich muss mal sehen, ob ich damit zurecht komme.

Danke für die Hilfe,

Joachim
Wer in den Fußstapfen eines anderen geht, hinterlässt keine Spuren und kommt nie als Erster an.

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Web-Services, WSDL, SOAP und Rechteproblematik...
« Antwort #5 am: 23.10.06 - 11:31:27 »
Hmm. Auch die mehr inoffiziellen Axis-Integrationsversuche zielen auf Domino 7 ab.
http://www.nsftools.com/blog/blog-08-2006.htm#08-21-06
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline jr

  • Senior Mitglied
  • ****
  • Beiträge: 260
  • Geschlecht: Männlich
  • Bitte keine eierlegenden Wollmilchsäue...
    • Homepage
Re: Web-Services, WSDL, SOAP und Rechteproblematik...
« Antwort #6 am: 24.10.06 - 12:59:26 »
Hallo,

das "stubby"-Tool habe ich einmal ausprobiert. Unter R6 bekomme ich gar kein Ergebnis. Unter R7 erzeugt er mir zwar die entsprechenden java-Files, liefert aber auch fünf Seiten Fehlermeldungen. Scheint aber nichts anderes zu machen als WSDL2Java, denn die Ergebnisfiles sehen denen von axis erzeugten sehr ähnlich.

Da ich mir nicht sicher war, ob es an meinem Code oder tatsächlich an den Rechten liegt, habe ich den Agenten einmal als reine Java-Applikation in Eclipse gestartet. Und siehe da, er tut, ohne die "access denied"-Meldung. Na, jetzt bin ich mir wenigstens sicher, dass es ein Recheproblem ist.

Ein Kollege hat einen WebService-Client mit dem folgenden policy-Eintrag erfolgreich zum laufen gebracht:

Code
permission java.util.PropertyPermission "java.protocol.handler.pkgs", "write";

Allerdings tut das bei mir noch nicht. Also werde ich weiter kämpfen...

Joachim
Wer in den Fußstapfen eines anderen geht, hinterlässt keine Spuren und kommt nie als Erster an.

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Web-Services, WSDL, SOAP und Rechteproblematik...
« Antwort #7 am: 24.10.06 - 15:01:45 »
Glückwunsch für den Zwischenerfolg.
Da sind noch ganz andere Probleme. Z.B. benutzt Java in Notes vor der Version keinen standardmässigen xml Parser.
Schon ein bischen auffällig, dass es keine offizielle oder inoffizielle Notes 6.5 Axis Integration gibt, oder?
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

Offline jr

  • Senior Mitglied
  • ****
  • Beiträge: 260
  • Geschlecht: Männlich
  • Bitte keine eierlegenden Wollmilchsäue...
    • Homepage
Re: Web-Services, WSDL, SOAP und Rechteproblematik...
« Antwort #8 am: 24.10.06 - 18:44:13 »
Das mit dem xml Parser ist bei Axis 1.4 recht gut gelöst, weil bei den Axis-Jars auch gleich der Xerces-Parser (xercesImpl-2.6.2.jar und xml-apis-2.6.2.jar) mitgeliefert wird, damit man es auch mit jdk 1.3 kompilieren kann. Die findet man zwar unter endorsed (musste erst einmal nachschauen, was das auf deutsch heißt... ;)) aber zumindest tut es.

Gruß,

Joachim
Wer in den Fußstapfen eines anderen geht, hinterlässt keine Spuren und kommt nie als Erster an.

Offline flaite

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.966
    • mein del.icio.us
Re: Web-Services, WSDL, SOAP und Rechteproblematik...
« Antwort #9 am: 24.10.06 - 18:53:47 »
Sofern du die in das endorsed der Domino VM getan hat, bedeutet das, dass eventuell andere Standardsachen in Domino nicht mehr funktionieren. Ein guter Kandidat dafür Domino Java Applets. Check das auf jeden Fall mal. Z.B. Eine View, ein Outline als Java-Applet in einer Test-nsf auf dem Server anzeigen.
Ich stimm nicht mit allen überein, aber mit vielen und sowieso unterhaltsam -> https://www.youtube.com/channel/UCr9qCdqXLm2SU0BIs6d_68Q

---

Aquí no se respeta ni la ley de la selva.
(Hier respektiert man nicht einmal das Gesetz des Dschungels)

Nicanor Parra, San Fabian, Región del Bio Bio, República de Chile

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz