Announcement

Collapse
No announcement yet.

http 401 unauthorized

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • http 401 unauthorized

    hi ich habe einen webservice erstellt, den ich auch über die url aufrufen kann. daraufhin habe ich einen proxy erstellt (als dll), und den in eine cs datei eingebunden. beim aufruf aus einer asp.net anwendung erhalte ich dann den obigen fehler.

    vielen dank für eure hilfe rob

  • #2
    Hallo,

    die Frage ist, <b>wie</b> dieser Proxy erstellt und eingebunden wurde. Wenn Microsoft Visual Studio .NET zur Verfügung steht, wird im <i>Solution Explorer</i> der Popup-Menüeintrag <i>References | Add Web Reference...</i> genutzt, damit VS.NET alle Notwendige zum Erstellen des WebServices-Proxies sowie der Einbindung im eigenen Projekt erledigt. Der Aufruf könnte (in VB.NET) dann so aussehen:
    <pre>
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim aDS As DataSet
    Dim aWS As New WebReference1.OSWSTechDocDBService()
    ' URL kann optional hier überschrieben werden
    aWS.Url = "http://192.168.10.3/OSWSTechDoc/OSWSTechDocDB.asmx"
    aDS = aWS.GetCustomers
    DataGrid1.DataSource = aDS.Tables.Item(0)
    StatusBar1.Text = "Daten vom Web Service erhalten."
    End Sub
    </pre>

    Bei derartigen Fällen ist es immer eine gute Idee, einen Minimalversuch auf der einfachsten Umgebung zu machen. Wie sieht es aus, wenn der WebService vom lokal installierten IIS abgerufen wird

    Comment


    • #3
      hi andreas,
      ich habe einen einfachen test webservice erstellt (hello.asmx, namespace HI, class HelloI).
      daraus habe ich dann mit wsdl einen proxy (helloproxy.cs) generiert, und den mit csc in eine dll kompiliert (helloproxy.dll) und die in /bin gespeichert.

      dann habe ich in einer webform (Call.aspx) den namespace aus dem proxy mit <%@Import Namespace="HI" %> eingebunden und eine Instanz der HelloI Klasse erstellt.

      wenn ich den webservice über die adresse lokalhost/hello.asmx aufrufe, dann funktioniert es, rufe ich aber die webform auf, und löse die anfrage an den proxy aus, dann erhalte ich den fehler unauthorized.

      bitte schreibe mir möglichst detailliert, was ich wo angeben muss, damit es läuft, da ich von der gesamten architektur nicht wirklich ahnung habe (sprich vom iis und von den proxyaufrufen).
      vielen dank rober

      Comment


      • #4
        Hallo Robert,

        ich glaube, dass du (unter W2000) im IIS (Computerverwaltung.Dienste und Anwendungen.Internet-Informationsdienste) für deinen Webservice den anonymen Zugriff zulassen mußt(rechter Mausclick auf deinen WebService, Eigenschaften auswählen, im Register Verzeichnissicherheit die Einstellungen zur Steuerung des anonymen Zugriffs mit Button "Bearbeiten" aufrufen und dort ein Häkchen für anonyme Anmeldung setzen).

        Winfrie

        Comment


        • #5
          Hallo Robert,

          ich glaube, dass du (unter W2000) im IIS (Computerverwaltung.Dienste und Anwendungen.Internet-Informationsdienste) für deinen Webservice den anonymen Zugriff zulassen mußt(rechter Mausclick auf deinen WebService, Eigenschaften auswählen, im Register Verzeichnissicherheit die Einstellungen zur Steuerung des anonymen Zugriffs mit Button "Bearbeiten" aufrufen und dort ein Häkchen für anonyme Anmeldung setzen).

          Winfrie

          Comment

          Working...
          X