Avatar billede palle1976 Nybegynder
10. august 2009 - 10:35 Der er 10 kommentarer og
1 løsning

Kald af webservice der kræver login i Sharepoint

Jeg er ved at lave en webservice consumer i Notes, som skal benytte en webservice fra Microsoft-verdenen. Det kræver login at kalde denne webservice og det er her problemet opstår. Jeg får fejlen "(401) Unauthorized" når jeg kalder funktioner.

Jeg har opsnust at andre har problemer med at logge på en webservice der ligger i Sharepoint når man kommer fra et andet miljø end Microsoft. Jeg har følgende kode som skulle kunne gøre det:

ws.Credentials = new NetworkCredential("Navn", "Password", "demo");

 
Problemet er bare at der her benyttes en pakke der hedder System.net, og denne findes kun i Visual Studio, hvor koden er lavet.

Jeg skal altså vide hvordan jeg kan kalde en webservice, der kræver login i Sharepoint fra Java kode. Jeg udvikler i Lotus Notes, men det er ikke så vigtigt i denne situation, da Java her er en integreret del.
Avatar billede arne_v Ekspert
10. august 2009 - 15:04 #1
Hvilket web service toolkit bruger du ?

Hvis du bruger Axis med genereret stub kan du bruge:

        ((Stub)tst)._setProperty(Stub.SESSION_MAINTAIN_PROPERTY, new Boolean(true));
        ((Stub)tst)._setProperty(Stub.USERNAME_PROPERTY, "wsuser1");
        ((Stub)tst)._setProperty(Stub.PASSWORD_PROPERTY, "hemmeligt");
Avatar billede arne_v Ekspert
10. august 2009 - 15:06 #2
tst er en ref til services og wsuser1/hemmeligt er username/password
Avatar billede palle1976 Nybegynder
10. august 2009 - 15:12 #3
Jeg er rimelig ny i Java, så ved ikke så meget om det. Jeg bruger ikke et web service toolkit, men burde det være nødvendigt ? Hvad er Axis helt præcist - er det et gratis toolkit man kan bruge ?
Avatar billede arne_v Ekspert
10. august 2009 - 15:57 #4
Axis er et web service toolkit. Det kommer bl.a. med en WSDL2Java utility som man giver URL af WSDL og saa genererer den en stub - noget Java kode som man kan kald eligesom anden Java kode.

Hvordan kalder du den web service?
Avatar billede palle1976 Nybegynder
10. august 2009 - 19:50 #5
Jeg får noget kode automatisk genereret gennem Notes, udfra webservicens WSDL. Jeg ved faktisk ikke præcist hvad der sker, men der benyttes måske nogle java pakker som kommer fra Notes. Der benyttes også noget fra pakken javax.xml.rpc.Service. Men måske er jeg nødt til at lave det hele uden for Notes for at vide hvad der sker...

Dette Axis toolkit, er det rimelig enkelt at komme igang med og er det gratis ? Har du eventuelt nogle eksempler eller link til tutorial eller andet der kan guide igennem ?
Avatar billede arne_v Ekspert
10. august 2009 - 19:58 #6
Axis er gratis og open source.

Men der er en ganske paen sandsynlighed for at Notes bruger enten Axis eller Axis2.

Kan du checke i den genererede kode og se hvilke klasser den importerer ?

Jeg kan sagtens lave et Axis eksempel.
Avatar billede palle1976 Nybegynder
11. august 2009 - 08:29 #7
Selve webservicen implementerer følgende interface "javax.xml.rpc.Service"

Locater klassen implementerer følgende "lotus.domino.websvc.client.Service"

Soap klassen extender følgende "lotus.domino.types.PortTypeBase, java.rmi.Remote"

SoapStub klassen extender "lotus.domino.websvc.client.Stub"

Håber at du kan se noget ud fra det.
Avatar billede arne_v Ekspert
12. august 2009 - 02:06 #8
Lidt googling antyder at lotus.domino.websvc.client.Stub extender lotus.domino.axis.client.Stub som i virkeligheden er org.apache.axis.client.Stub !

Så metoden beskrevet i #1 burde faktisk virke.
Avatar billede arne_v Ekspert
13. september 2009 - 02:50 #9
Kommet videre ?
Avatar billede palle1976 Nybegynder
15. september 2009 - 09:13 #10
Jeg har fået åbnet op for webservicen, da jeg ikke kunne få dette til at virke. Det virkede ikke med de løsninger vi her har skrevet om. Men om det er fordi at det køres gennem Notes og der derved mangler nogle klasser er jeg ikke klar over. Men jeg vil ikke bruge mere tid på det i denne omgang, men måske det bliver nødvendigt senere.

Men smid et svar så får du points for at hjælpe.
Avatar billede arne_v Ekspert
16. september 2009 - 01:18 #11
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester