Avatar billede mickni33 Nybegynder
04. oktober 2007 - 08:42 Der er 16 kommentarer og
1 løsning

Webservice exception

Jeg har add'ed en webservice til mit projekt og skal nu bruge webservicens metoder..
Jeg kan godt oprette en instans af webservicen men når jeg skal kalde en metode kommer de her fejl..¨
Hva betyder fejlene?
og hvordan fixer man dem?


min exception message ser sådan ud:
---------------------------------------
The request failed with HTTP status 407: Proxy Authentication Required ( The ISA Server requires authorization to fulfill the request. Access to the Web Proxy filter is denied.  ).

------------------------------
stacktrace ser sådan ud :
------------------------------- System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
  at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
  at BRServiceInterface.WebReference.BRService.GetMessage(Int32 id) in C:\Documents and Settings\min\My Documents\BRServiceInterface\BRServiceInterface\Web References\WebReference\Reference.vb:line 223
  at BRServiceInterface.SonlincWebserviceInterface.GetMessage(Int32 id) in C:\Documents and Settings\min\My Documents\BRServiceInterface\BRServiceInterface\WebserviceInterface.vb:line 157
  at ConsoleApplication1.test.Main() in C:\Documents and Settings\min\My Documents\BRServiceInterface\ConsoleApplication1\Module1.vb:line 5
  at System.AppDomain.nExecuteAssembly(Assembly assembly, String[] args)
  at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
  at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
  at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
  at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
  at System.Threading.ThreadHelper.ThreadStart()
Avatar billede nielle Nybegynder
04. oktober 2007 - 08:59 #1
Du skal sætte nogle Credentials (navne og password) på dit kald til webservicen.
Avatar billede mickni33 Nybegynder
04. oktober 2007 - 09:02 #2
password og brugernavn for at komme ind på webservicen ?
Det har jeg elleres sat da jeg add'ede webservicen til mit projekt
Avatar billede nielle Nybegynder
04. oktober 2007 - 09:07 #3
De skal også sættes i selve koden.
Avatar billede mickni33 Nybegynder
04. oktober 2007 - 09:21 #4
aaahhh ok det prøver jeg
Avatar billede nielle Nybegynder
04. oktober 2007 - 09:28 #5
For lige at sige lidt mere:

Da du gav dine login informationer 1. gang var det for at du overhovedet kunne få lov til at besøge siden fra VS. Login oplysningerne blev ikke gemt i din kode (og heldigvis for det - det ville være en sikkerhedsrisiko).

Når du i din kode også skal angive login oplysninger er det fordi at dit program skal godtgøre at den har adgang til at bruge WS'en.

Bemærk i øvrigt at de to sæt oplysninge faktisk ikke behøver at være ens...
Avatar billede mickni33 Nybegynder
04. oktober 2007 - 09:41 #6
aaahhh ok tak for oplysningen
Avatar billede mickni33 Nybegynder
04. oktober 2007 - 11:13 #7
burde det ikke være sådan her:

      webservice = New WebReference.BRService
      cache = New System.Net.CredentialCache()

      webservice.Proxy = System.Net.WebProxy.GetDefaultProxy()
      cache.Add(New Uri("http://minProxyAdresse"), "Basic", System.Net.CredentialCache.DefaultCredentials)     
      cache.Add(New System.Uri("https://WebserviceAdresse"), "basic", New System.Net.NetworkCredential(username, password))

      webservice.Proxy.Credentials = cache
      webservice.Credentials = cache


Så har jeg lavet en Credintial for Proxy og Webservice..
Men problemet er bare at username og password er tomme når jeg debugger mig igennem
Avatar billede nielle Nybegynder
04. oktober 2007 - 11:27 #8
Du skal ikke oprette et nyt CredentialCache objekt - du skal genbruge det som allerede er blevet oprettet automatisk.
Avatar billede mickni33 Nybegynder
04. oktober 2007 - 11:30 #9
det her er lavet i konstruktoren så det er helt ny oprettet
Avatar billede nielle Nybegynder
04. oktober 2007 - 12:35 #10
Sådan

webservice.Proxy.Credentials = CredentialCache.DefaultCredentials;
webservice.Credentials = CredentialCache.DefaultCredentials;
Avatar billede mickni33 Nybegynder
04. oktober 2007 - 12:43 #11
hmmm så kommer der en timeout..

Men nu er Credential tomme("") når jeg debugger mig igennem..
Avatar billede nielle Nybegynder
04. oktober 2007 - 12:47 #12
Den burde ellers tage dine credentials fra Windows.

Alternativt kan du selv angive login oplysningerne med:

webservice.Credentials = new System.Net.NetworkCredential(userName, password);
Avatar billede mickni33 Nybegynder
04. oktober 2007 - 13:03 #13
jeg skal lige høre om jeg er på rette vej...

Webservicen ligger på en server uden for huset..
http://IP.ip.iop.ip.dk/service.aspx
til den service har jeg fået brugernavn user123
og password pass123

proxyen er det min egen proxy eller det webserverens proxy jeg skal koble til med bruger og password


webservice = New WebReference.BRService
      webservice.Proxy = System.Net.WebProxy.GetDefaultProxy()

      webservice.Proxy.Credentials = New System.Net.NetworkCredential("proxybruger", "proxyPass")
      webservice.Credentials = New System.Net.NetworkCredential("webserviceBruger", "WebservicePass")
Avatar billede nielle Nybegynder
04. oktober 2007 - 13:05 #14
Det ser umiddelbart meget fornuftig ud.
Avatar billede mickni33 Nybegynder
04. oktober 2007 - 13:09 #15
en time out hva kan det komme af.... at deres server ikke kører ?

læg lige et svar
Avatar billede nielle Nybegynder
04. oktober 2007 - 13:19 #16
Har du prøvet at koble dig direkte på uden at gå via din proxy?
Avatar billede mickni33 Nybegynder
04. oktober 2007 - 13:29 #17
ja men så skriver den

The request failed with HTTP status 407: Proxy Authentication Required ( The ISA Server requires authorization to fulfill the request. Access to the Web Proxy filter is denied.  ).

Spørgsmålet er bare om der er hos os det fejler eller hos kunden/webservicen
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