[Visual Studio 2008 pro]Problem beim Arbeiten mit Webservice

Registriert
Dez. 2009
Beiträge
213
Hallo.
Ich will aus einem csharp.net-Projekt auf einen in VB geschriebenen Webservice zugreifen, d.h. dessen Methoden aufrufen.

Im Folgenden beschreibe ich meine bisherige vorgehensweise.

-Neues Webseervice Projekt anlegen
Datei -> Neu -> Website; Sprache= Visual Basic, url= http://localhost/WebService1

-Ich habe dann die Standartdateien so gelassen, wie sie schon standen. Beispielsweise gab es gleich eine Funktion HelloWorld. Hier der Quellcode der Service1.asmx.vb:

Code:
 Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.ComponentModel

' Um das Aufrufen dieses Webdiensts aus einem Skript mit ASP.NET AJAX zuzulassen, heben Sie die Auskommentierung der folgenden Zeile auf.
' <System.Web.Script.Services.ScriptService()> _
<System.Web.Services.WebService(Namespace:="http://tempuri.org/")> _
<System.Web.Services.WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
<ToolboxItem(False)> _
Public Class Service1
    Inherits System.Web.Services.WebService

    <WebMethod()> _
    Public Function HelloWorld() As String
       Return "Hello World"
    End Function

End Class

-Nun habe ich das erstelle und dann war es automatisch auf dem Server. Wenn ich jetzt auf http://localhost/WebService1 im Browser gehe, kommt die Dienstauflistung, in der nur die HelloWorld() steht.

-Jetzt bin ich in mein csharp.net Projekt gewechselt. Rechtsklick auf das Projekt im Projektexplorer und den Webverweis hinzugefügt.

-Dann habe ich oben in mein csharp.net Projekt geschrieben:
Code:
using Projektname.Verweisname;

In meinem IntelliSense gibt es jetzt aber nur 2 neue Einträge:

1. : class Projektname.Verweisname.HelloWorldCompletedEventArgs
2. : delegate Projektname.Verweisname.HelloWorldCompletedEventHandler

erwarten würde ich stattdesseen so was:
string Projektname.Verweisname.HelloWorld()

Die Klasse HelloWorldCompletedEventArgs hat Member: Empty, bool Equals(..),
bool ReferenceEquals(..), also nichts, was ich brauchen könnte, um einfach nur die Funktion HelloWorld() aufzurufen.

Was mache ich falsch?
Für Antworten bin ich sehr dankbar.:)
Ergänzung ()

Keine Antworten?
Na OK, egal, Problem hat sich nämlich gerade gelöst.

Für Nachfolgende, die das selbe Problem haben:

Einfach nur die Funktion aufzurufen ist Blössinn, das kam mir dann auch.
Durch den Webverweis und das Einbinden durch

Code:
using Projektname.Verweisname;

bekommt man lediglich Zugriff auf die Klasse des Webservices, die laut Quellcode Service1 heissen müsste. Seltsamerweise kann man Sie aber nur unter dem Namen Service verwenden:

Code:
Service ser = new Service();
ser.HelloWorld();

Wenn jetzt jemand weiß, wieso die Klasse Service und nicht Service1 heisst, kann er das gerna hier posten, ansonsten ist mein Problem aber gelöst *** freu *** :):)

Danke trotzdem an alle, die das Thema gelesen haben und keine Antwort wussten...
 
Zurück
Oben