tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von Alexander Schuc
ERLEDIGT
JA
ANTWORTEN
7
ZUGRIFFE
3902
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Johannes7146
    Johannes7146 Johannes7146 ist offline Goldschnabel
    Registriert seit
    Sep 2007
    Ort
    Gütersloh
    Beiträge
    736
    Hallo zusammen,

    ich habe bisher nur in Java Programmiert und versuche mich nun an meinem erstem (kleinem Übungs-) Projekt in C#.

    Ich möchte diesen Webservice ansprechen.
    Ich habe viele Beispiele und Howtos im Netz gefunden. Doch leider war in den meisten Fällen direkt der Server mit implementiert und eine art Stub-Objekt vorhanden.

    In meinem fall habe ich aber nur die wsdl-Datei.
    Hat jamend von euch ein Example oder Howto wie man nur auf Grundlage der WSDL Datei einen Webservice in C# anspricht.

    Oder evtl ein paar Hinweise wie dort das generelle vorgehen in C# ist und welche Klassen benötigt werden.

    Vielen Dank schonmal im Voraus für eure Hilfe.
     
    Wenn mein Beitrag dir geholfen hat, würde ich mich sehr über eine positive Bewertung oder ein Danke freuen
    Gruß Johannes
    ::: Homepage :::

  2. #2
    Avatar von Alexander Schuc
    Alexander Schuc Alexander Schuc ist offline admin | crazy-weasel
    tutorials.de Administrator
    Registriert seit
    Aug 2001
    Ort
    Österreich, Stmk, Graz
    Beiträge
    2.783
    Hi.

    Mit dem Tool wsdl kannst dir aus der wsdl-Datei automatisch einen Proxy für diesen Service generieren lassen.

    Wenn du mit VisualStudio arbeitest, brauchst nur eine WebReferenz hinzufügen, geschieht dann automatisch im Hintergrund.

    lg, Alex
    Johannes7146 bedankt sich. 
    With the first link the chain is forged. The first speech censored, the first thought forbidden, the first freedom denied, chains us all irrevocably.
    Aaron Satie

    Legends... are the spice of the universe, Mr. Data, because they have a way of sometimes coming true.
    Captain Jean-Luc Picard, Stardate ~41294.5

    Tutorials.de chattet. Hier gibts auch .net Support ^^
    Klickt auf chattet und nutzt den Webchat, oder verbindet euch zu irc.tutorials.de - Channel #Tutorials.de

    (moo)blog furred.net // SiteInfo für WP7 // Pastebin für WP7 // BlogEngine.net Extensions

  3. #3
    Avatar von Johannes7146
    Johannes7146 Johannes7146 ist offline Goldschnabel
    Registriert seit
    Sep 2007
    Ort
    Gütersloh
    Beiträge
    736
    Die Funktion habe ich gearde auch gefunden. Vielen Dank für den Hinweis.
    Habe zuvor nut mit Ecplise gearbeitet. Ist doch schon sehr ungewohnt am Anfang. Vorallem da man die Short-Cuts nicht mehr hat (bzw nicht kennt).

    mal schauen wie weit ich nun komme.
     
    Wenn mein Beitrag dir geholfen hat, würde ich mich sehr über eine positive Bewertung oder ein Danke freuen
    Gruß Johannes
    ::: Homepage :::

  4. #4
    Avatar von Johannes7146
    Johannes7146 Johannes7146 ist offline Goldschnabel
    Registriert seit
    Sep 2007
    Ort
    Gütersloh
    Beiträge
    736
    Aus der generierten Klasse habe ich nun folgendes erstellt...

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    ....
     
    ServiceReference1.detailsType bank = new WindowsFormsApplication1.ServiceReference1.detailsType();
                    ServiceReference1.BLZServicePortTypeClient client = new WindowsFormsApplication1.ServiceReference1.BLZServicePortTypeClient();
                    bank = client.getBank(textBox1.Text);
                    
                    string ausgabe = "Bezeichnung: " + bank.bezeichnung;
                    ausgabe += "Ort: " + bank.ort;
                    ausgabe += "Bic: " + bank.bic;
                    ausgabe += "Plz: " + bank.plz;
     
                    textBox2.Text = ausgabe;
     
    ....

    Das ganze lässt sich compilieren und starten. Allerdings bricht er in der Zeile
    Code :
    1
    
    ServiceReference1.BLZServicePortTypeClient client = new WindowsFormsApplication1.ServiceReference1.BLZServicePortTypeClient();
    mit folgender Meldung ab:
    Ein Endpunktkonfigurationsabschnitt für Vertrag "ServiceReference1.BLZServicePortType" konnte nicht geladen werden, da mehr als eine Endpunktkonfiguration für diesen Vertrag gefunden wurde. Geben Sie den bevorzugten Endpunktkonfigurationsabschnitt mit Namen an.
    Ich werde aus dem Fehler nicht ganz schlau. Hat da jemand eine Idee?

    ps: für Java gibt es hier bei Tutorials extra Tags. Gibt es die auch für C# ?

    EDIT: Habe gesehen das man im Konstruktor auch einen String übergeben kann (Den Endpunkt) leider weiß ich nur immernoch nicht was damit gemeint sein könnte...
    Geändert von Johannes7146 (24.08.09 um 14:14 Uhr)
     
    Wenn mein Beitrag dir geholfen hat, würde ich mich sehr über eine positive Bewertung oder ein Danke freuen
    Gruß Johannes
    ::: Homepage :::

  5. #5
    Avatar von Alexander Schuc
    Alexander Schuc Alexander Schuc ist offline admin | crazy-weasel
    tutorials.de Administrator
    Registriert seit
    Aug 2001
    Ort
    Österreich, Stmk, Graz
    Beiträge
    2.783
    Ich hab das mit dem Service mal kurz ausprobiert, und bin auf folgendes gestossen:

    In der app.config sind, wie durch die Fehlermeldung schon angedeutet, 2 Endpunkte definiert worden.

    Schaut in etwa so aus:

    Code xml:
    1
    2
    3
    4
    5
    6
    7
    8
    
           <client>
                <endpoint address="http://www.thomas-bayer.com:80/axis2/services/BLZService"
                    binding="basicHttpBinding" bindingConfiguration="BLZServiceSOAP11Binding"
                    contract="ServiceTest.BLZServicePortType" name="BLZServiceSOAP11port_http" />
                <endpoint address="http://www.thomas-bayer.com:80/axis2/services/BLZService"
                    binding="customBinding" bindingConfiguration="BLZServiceSOAP12Binding"
                    contract="ServiceTest.BLZServicePortType" name="BLZServiceSOAP12port_http" />
            </client>

    Du kannst jetzt entweder einen davon entfernen, sprich einfach eines der beiden client-Tags entfernen, oder du rufst den Konstruktor von BLZServicePortTypeClient mit einem der dortigen Namen auf.

    Code csharp:
    1
    2
    
    ServiceReference1.BLZServicePortTypeClient client = new WindowsFormsApplication1.ServiceReference1.BLZServicePortTypeClient("BLZServiceSOAP11port_http");
    ServiceReference1.detailsType bank = client.getBank(textBox1.Text);

    Der Tag fürs c# Codefenster ist "csharp".

    lg,..
     
    With the first link the chain is forged. The first speech censored, the first thought forbidden, the first freedom denied, chains us all irrevocably.
    Aaron Satie

    Legends... are the spice of the universe, Mr. Data, because they have a way of sometimes coming true.
    Captain Jean-Luc Picard, Stardate ~41294.5

    Tutorials.de chattet. Hier gibts auch .net Support ^^
    Klickt auf chattet und nutzt den Webchat, oder verbindet euch zu irc.tutorials.de - Channel #Tutorials.de

    (moo)blog furred.net // SiteInfo für WP7 // Pastebin für WP7 // BlogEngine.net Extensions

  6. #6
    Avatar von Johannes7146
    Johannes7146 Johannes7146 ist offline Goldschnabel
    Registriert seit
    Sep 2007
    Ort
    Gütersloh
    Beiträge
    736
    Vielen Dank.
    Eine kurze Frage habe ich noch...hast du einfach alle Dateien nach einem Hinweis durchsucht die einen Endpunkt beinhalten oder kann man das irgendwo nachschauen.

    Nun funktioniert es auf alle Fälle.
    Vielen Dank nochmal für deine Hilfe.
     
    Wenn mein Beitrag dir geholfen hat, würde ich mich sehr über eine positive Bewertung oder ein Danke freuen
    Gruß Johannes
    ::: Homepage :::

  7. #7
    Avatar von Alexander Schuc
    Alexander Schuc Alexander Schuc ist offline admin | crazy-weasel
    tutorials.de Administrator
    Registriert seit
    Aug 2001
    Ort
    Österreich, Stmk, Graz
    Beiträge
    2.783
    Zitat Zitat von Johannes7146 Beitrag anzeigen
    Eine kurze Frage habe ich noch...hast du einfach alle Dateien nach einem Hinweis durchsucht die einen Endpunkt beinhalten oder kann man das irgendwo nachschauen.
    Nun, viele Dateien hätte ich nicht zum Durchsehen gehabt, aber ich wusste das in der App.config etwas sein wird.
     
    With the first link the chain is forged. The first speech censored, the first thought forbidden, the first freedom denied, chains us all irrevocably.
    Aaron Satie

    Legends... are the spice of the universe, Mr. Data, because they have a way of sometimes coming true.
    Captain Jean-Luc Picard, Stardate ~41294.5

    Tutorials.de chattet. Hier gibts auch .net Support ^^
    Klickt auf chattet und nutzt den Webchat, oder verbindet euch zu irc.tutorials.de - Channel #Tutorials.de

    (moo)blog furred.net // SiteInfo für WP7 // Pastebin für WP7 // BlogEngine.net Extensions

  8. #8
    Avatar von Johannes7146
    Johannes7146 Johannes7146 ist offline Goldschnabel
    Registriert seit
    Sep 2007
    Ort
    Gütersloh
    Beiträge
    736
    Alles klar, vielen dank nochmals (Gedankt hab ich schon bei Post #2)
     
    Wenn mein Beitrag dir geholfen hat, würde ich mich sehr über eine positive Bewertung oder ein Danke freuen
    Gruß Johannes
    ::: Homepage :::

Ähnliche Themen

  1. Webservice
    Von bauchinj im Forum PHP
    Antworten: 3
    Letzter Beitrag: 27.04.10, 20:13
  2. Webservice
    Von Chefkoch333 im Forum Adobe Flex & AIR
    Antworten: 0
    Letzter Beitrag: 05.02.10, 15:48
  3. WebService
    Von Saban im Forum Enterprise Java (JEE, J2EE, Spring & Co.)
    Antworten: 1
    Letzter Beitrag: 16.06.08, 11:31
  4. PHP WebService
    Von penntuete im Forum PHP
    Antworten: 0
    Letzter Beitrag: 07.03.05, 15:56
  5. PHP WebService?
    Von MichiStroi im Forum PHP
    Antworten: 1
    Letzter Beitrag: 27.12.04, 09:51