Das Notes Forum

Domino 9 und frühere Versionen => ND8: Entwicklung => Thema gestartet von: Legolas am 03.04.13 - 08:53:50

Titel: WEB-Service-Konsument -- WSDL Header manipulieren
Beitrag von: Legolas am 03.04.13 - 08:53:50
Hallo Forum,

ich bin aktuell dabei meinen ersten WEB-Service-Konsument in eine Anwendung einzubinden.  ::)
Ich habe das WSDL File soweit importiert und den WEB-Service-Konsument erstellt.
Soweit sieht alles gut aus.

Nun muss ich aus Authentifizierungsgründen den WSDL Header manipulieren.
Ich muss den User und das dazugehörige Kennwort reinschreiben um auf den Provider (Quelle) zugreifen zu können.

Mein Problem ist nun das ich nicht weiß, wie ich diese Header-Informationen manipulieren kann!
Kann hier jemand helfen?

System:
Notes / Domino 8.5.3 FP3 deutsch

Grüße
Bernd
Titel: Re: WEB-Service-Konsument -- WSDL Header manipulieren
Beitrag von: m3 am 03.04.13 - 09:05:40
http://bit.ly/12fcUtH
bzw.
http://lmgtfy.com/?q=domino+web+service+consumer+SetCredentials&l=1

;)
Titel: Re: WEB-Service-Konsument -- WSDL Header manipulieren
Beitrag von: Legolas am 03.04.13 - 09:58:36
m3,

Du bist mein Held des Tages!  :knuddel:
Da zeigt sich wieder mal wenn man weis nach was man zu suchen hat kommt man(n) weiter!

Danke für die Info

Grüße
Bernd
Titel: Re: WEB-Service-Konsument -- WSDL Header manipulieren
Beitrag von: m3 am 03.04.13 - 19:18:46
Gerne doch  ;D
Titel: Re: WEB-Service-Konsument -- WSDL Header manipulieren
Beitrag von: Legolas am 04.04.13 - 10:58:39
Hallo m3,

leider benötige ich nochmals Deine Hilfe.

Da ich noch blutiger Anfänger mit der WSDL Funktionalität bin, versuche ich mal das Problem mit meinen eigenen Worten möglichst genau zu beschreiben:
Ich muss per WSDL auf eine Konfigurationsseite eines WEB-Servers zugreifen. Die Authentifizierung erfolgt jedoch nicht über den http Request  sondern über die Manipulation des Headers!

Per HTTP Request würde das ja dann im Konstruktor der Klasse so gehen:
Code
	Sub NEW
		Call FilterType_n0_Initialize()
		Call Service.Initialize ("HttpCs3ServiceWebservicexxxxxxxxyyyyyyyy", "service.ServicePort", "http://10.48.48.169:6060/service", "Service_n0")
		
		Call Service.setCredentials( "Username", "Password" )
	End Sub


Die Implementierung in Java wurde von unseren Java Entwicklern wie folgt umgesetzt:
http://stackoverflow.com/questions/2322953/jax-ws-adding-soap-headers (http://stackoverflow.com/questions/2322953/jax-ws-adding-soap-headers)

Code
OTSWebSvcsService service = new OTSWebSvcsService();
OTSWebSvcs port = service.getOTSWebSvcs();

BindingProvider prov = (BindingProvider)port;
prov.getRequestContext().put(BindingProvider.USERNAME_PROPERTY, "myusername");
prov.getRequestContext().put(BindingProvider.PASSWORD_PROPERTY, "mypassword");
...


Da ich die gesamte Funktion allerdings in eine Notes Script-Bibliothek integrieren möchte, möchte ich den ganzen Code in Lotus Script implementieren.
Gibt es hier eine Möglichkeit diese Manipulation in Lotus Script abzubilden?
Falls ja, wie muss ich hier vor gehen?

Grüße
Bernd


Titel: Re: WEB-Service-Konsument -- WSDL Header manipulieren
Beitrag von: dnotes am 04.04.13 - 12:36:10
Du hast ja irgendwo eine Klasse definiert in der das sub new drin steckt.
Dann kannst Du ein Objekt erzeugen z.B.
dim meinObjekt as new meineKlasse_PORTTYPE_n3
und weiter mit
call meinObjekt.Setcredentials("user", "psw")

Titel: Re: WEB-Service-Konsument -- WSDL Header manipulieren
Beitrag von: Legolas am 04.04.13 - 13:47:34
Hallo dnote,

danke für die Antwort.
Aber... ich versteh nicht, was du mir damit sagen willst?

Grüße
Bernd