Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: marschul am 17.01.11 - 11:39:52

Titel: Webservice vom IIS konsumieren
Beitrag von: marschul am 17.01.11 - 11:39:52
Hallo,

ich versuche, mit R8.5 einen Webservice zu konsumieren (siehe auch http://atnotes.de/index.php/topic,49308.0.html (http://atnotes.de/index.php/topic,49308.0.html)).
Das klappt auch, allerdings nur, wenn mein Admin-Kollege auf dem IIS, auf dem der Service läuft, die Benutzerauthentifizierung deaktiviert. D.h. der IIS lässt nur Anfragen von Usern zu, deren Benutzeranmeldung er kennt (Prüfung gegen das AD, es handelt sich wohl um die MS-eigene Authentifizierungsmethode - kenne mich da leider nicht so aus). Kann ich Notes beibringen, dies zu unterstützen, d.h. die Anmeldeinformationen von Windows zu übergeben?
Der Designer scheitert ansonsten schon beim Anlegen des Webservices und dem Verarbeiten der WSDL, die ich per URL übergebe. Bei deaktivierter Anmeldung werden die Klassen sauber erstellt und alles funktioniert wie gewünscht.

Danke & Gruß
Marco
Titel: Re: Webservice vom IIS konsumieren
Beitrag von: gossifu am 17.01.11 - 16:53:47
Hallo Marco,

lade Dir am besten die WSDL lokal runter.
Einfach die URL in den Browser und das XML als Datei speichern.
Dann gibt es zwei Möglichkeiten:
Authentifizierung mit NT-Token: Dazu sollte der Domino-Server als Service-Account und nicht als System-Account laufen.
Damit wäre die Authentifizierung gegeben

oder

Es geht nur um das Webkennwort, dann kann man dieses dem Webservice mitgeben. Die Methode
Code
Setcredentials(uName, pw)
bietet diese Möglichkeit.

mfg

Kjeld
Titel: Re: Webservice vom IIS konsumieren
Beitrag von: marschul am 17.01.11 - 17:11:17
Hallo Kjeld,

vielen Dank, werde mir das morgen genauer anschauen.
Hab das bislang mit dem LN-Client auf meinem XP-Client getestet (das mit der lokalen WSDL ist eine gute Idee, nur leider bekomme ich dann bei der späteren Ausführung eines Agents, der den WS nutzt, ebenfalls den 401-Fehler vom IIS), später soll's auch auf dem Server funktionieren.

Viele Grüße
Marco
Titel: Re: Webservice vom IIS konsumieren
Beitrag von: m3 am 17.01.11 - 17:53:09
Zitat
We can secure a Web Service by using one of the following Windows authentication schemes:

    * Integrated Windows authentication
    * Basic and basic with SSL authentication
    * Digest authentication
    * Client Certificate authentication
http://www.15seconds.com/issue/020312.htm

When you import the provider WSDL into Domino's Script Library, it is automatically created into a class that is extending PortTypeBase class of the lsxsd.lss. PortTypeBase class uses another class called "NotesWebServiceEngine" that has a method call "SetCredentials" takes two params (username, password).
Code
Class ListUpdates As PortTypeBase

Sub NEW
Call Service.Initialize ("UrnDefaultNamespaceListUpdatesService", _
"ListUpdatesService.Domino", "http://somewebservice?OpenWebService", _
"ListUpdates")
Call Service.setCredentials( "myid", "mypassword" )
End Sub
......

End Class
via Domino Web Service Consumer and Passing credential (http://www-10.lotus.com/ldd/nd8forum.nsf/5f27803bba85d8e285256bf10054620d/2f7ac003aaa48082852574430051a97c?OpenDocument)
Titel: Re: Webservice vom IIS konsumieren
Beitrag von: marschul am 18.01.11 - 10:33:56
Hallo Kjeld & Martin,

danke für Eure Antworten. Nachdem mein Kollege auch noch am IIS nachkonfiguriert hat, funktioniert jetzt alles, soger mit HTTPS  :)

SetCredentials war das, was mir fehlte.

Gruß
Marco