Avatar billede beef12 Nybegynder
05. juni 2009 - 12:18 Der er 12 kommentarer og
1 løsning

Web service kald sammen med en cookie i VS 2005

Jeg forsøger at kalde en web service, som er beskyttet af gode årsager. For at tilgå servicen skal jeg først sende en http post med brugernavn og password. Og hvis det går godt får jeg en cookie. Denne cookies skal så inkluderes i mit efterfølgende web service kald.

Jeg har to delspørgsmål:

1) Mit første problem er at jeg ikke kan, i Visual Studio, tilføje web servicen til mit projekt via den sædvanlige "Add web reference" gui. Hvordan kan jeg tilføje web servicen til mit projekt, når den er beskyttet på denne måde?

2) Jeg vil meget gerne vide hvordan jeg tilknytter en cookie til mit web service kald. Fx vha mime headers.

På forhånd tak
Avatar billede erikjacobsen Ekspert
05. juni 2009 - 12:23 #1
1) Dem der har webservicen kan vel sende dig WSDL-filen
2) Der findes måske en CookieContainer-property hvor du kalder webservicen

(men hvorfor ikke logge ind direkte på webservicen, i stedet for at går uden om med en html-side?)
Avatar billede beef12 Nybegynder
05. juni 2009 - 15:45 #2
Jeg har fået fat i wsdl'en. Hvad gør jeg så med den?
Avatar billede beef12 Nybegynder
05. juni 2009 - 15:47 #3
Din sidste sætning forstår jeg for øvrigt ikke helt.
Avatar billede erikjacobsen Ekspert
05. juni 2009 - 16:40 #4
Du bruger WSDL-en, som fil velsagtens, der hvor du tilføjer den som webservice.

Sidste sætning? Du kan sende cookies med - du får dem fra din http-request ved login, og kan tilføje dem til dit webservice kald.
Avatar billede beef12 Nybegynder
05. juni 2009 - 17:11 #5
Jo - men jeg kan ikke få adgang til url'en via Visual Studio, fordi stien til wsdl'en fejl, da jeg ikke kan smide en cookie med når jeg tilføjer min web service. Derfor skal jeg finde ud af at gøre det "manuelt" så at sige.
Avatar billede erikjacobsen Ekspert
05. juni 2009 - 19:12 #6
Du skal ikke bruge url-en til at tilføje den webservice, men bare filen med wsdl-definitioner.
Avatar billede soes Nybegynder
05. juni 2009 - 19:55 #7
Jeg har haft et ligende problem med den platform jeg snakker op imod. Min løsning blev at jeg importerede WSDL'en gennem 'add web reference' i projektet. Efterfølgende har VS oprettet et stub klasse med de forskellige metoder i.
Efterfølgende har jeg oprettet en ny klasse der extender/arver fra stub klassen. I den ny oprettede klasse har du mulighed for at override WebRequest metoden og heri sætte evt. cookies.
Avatar billede beef12 Nybegynder
05. juni 2009 - 20:20 #8
Nå ok. Interessant.

Hvordan importerede du wsdl'en så - for når man vælger "Add web reference" kan man kun vælge en URL (i hvert fald i mit visual studio miljø). Og jeg kan dermed ikke bare pege på en wsdl-fil som sådan. Skal jeg selv smide wsdl'en op på min localhost IIS?

Så for at summere op, så efterspørger jeg en beskrivelse i hvordan jeg rent praktisk for asscieret mit projekt til den pågældende wsdl.

Lyder godt at webrequest kan håndtere cookies - glæder jeg mig til at prøve så snart jeg får løst ovenstående :-)
Avatar billede arne_v Ekspert
07. juni 2009 - 00:10 #9
Du kan godt angive et filnavn der hvor du skal angive URL !
Avatar billede beef12 Nybegynder
08. juni 2009 - 13:58 #10
Det kan man sør'me osse - og den kunne fint importeres. Men den opretter ingen objekter eller metoder som jeg kan kalde fra mit projekt.
Avatar billede arne_v Ekspert
09. juni 2009 - 02:45 #11
Check lige en ekstra gang. Add ws ref plejer altid at give en stub klasse.
Avatar billede beef12 Nybegynder
09. juni 2009 - 07:47 #12
Du har ret - den virker!

Nå men soec, erikjokobsen og arne. I var allesammen ind på det rigtige - smid venligst svar.

Og tak for hjælpen.
Avatar billede arne_v Ekspert
09. juni 2009 - 14:54 #13
.
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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