Een WSDL gebruiken

Ik moet een webservice gebruiken. Ze stuurden me het WSDL-bestand.
Wat moet ik doen om het aan mijn website toe te voegen en het als proxy te gaan gebruiken.
(Als ik het in een virtuele map plaats, kan het worden ontdekt, maar geeft het me de verbinding met de echte webservice?)


Antwoord 1, autoriteit 100%

Ik zou Visual Studio opstarten, een webproject maken (of console-app – maakt niet uit).

Voor .Net-standaard:

  1. Ik zou met de rechtermuisknop op het project klikken en “Servicereferentie toevoegen” kiezen in het contextmenu Toevoegen.
  2. Ik zou op Geavanceerd klikken en vervolgens op Servicereferentie toevoegen.
  3. Ik zou het volledige bestandspad van de wsdl krijgen en in de adresbalk plakken. Vuur dan de pijl af (go-knop).
  4. Als er een fout optreedt bij het laden van het bestand, dan moet er een kapotte en onopgeloste url zijn die het bestand moet oplossen, zoals hieronder wordt weergegeven:

    Raadpleeg dit antwoord voor informatie over het oplossen van:
    Stackoverflow-antwoord op: kan geen servicereferentie maken voor wsdl-bestand

Als er geen fout is, moet u gewoon de NameSpace instellen die u wilt gebruiken om toegang te krijgen tot de service en deze wordt voor u gegenereerd.

Voor .Net Core

  1. Ik zou met de rechtermuisknop op het project klikken en Verbonden service kiezen in het contextmenu Toevoegen.
  2. Ik zou Microsoft WCF Web Service Reference Provider uit de lijst selecteren.
  3. Ik zou op browse drukken en meteen het wsdl-bestand selecteren. Stel de naamruimte in en ik ben klaar om te gaan.
    Raadpleeg de bovenstaande foutcorrectie-URL als u een fout tegenkomt.

Elk van de bovenstaande methoden genereert een eenvoudige, zeer eenvoudige WCF-client die u kunt gebruiken. U zou een klasse “YourservicenameClient” in de gegenereerde code moeten vinden.

Ter referentie: het gegenereerde cs-bestand kan worden gevonden in uw Obj/debug(of release)/XsdGeneratedCode en u kunt de dll’s nog steeds vinden in de TempPE-map.

De gemaakte service(s) moeten methoden hebben voor elk van de gedefinieerde methoden in het WSDL-contract.

Maak de client aan en roep de methoden aan die u wilt aanroepen – dat is alles!

YourServiceClient client = new YourServiceClient();
client.SayHello("World!");

Als u de externe URL moet specificeren (niet de standaard aangemaakte URL), kunt u dit eenvoudig doen in de constructor van de proxyclient:

YourServiceClient client = new YourServiceClient("configName", "remoteURL");

waarbij configNamede naam is van het te gebruiken eindpunt (u gebruikt alle instellingen behalve de URL), en de remoteURLis een tekenreeks die de URL vertegenwoordigt om verbinding te maken naar (in plaats van degene die in de configuratie staat).


Antwoord 2, autoriteit 32%

In visuele studio.

  • Maak of open een project.
  • Klik met de rechtermuisknop op het project vanuit de oplossingsverkenner.
  • Selecteer “Servicereferentie toevoegen”
  • Plak het adres met WSDL dat je hebt ontvangen.
  • Klik op OK.

Als er geen fouten zijn, zou u de servicereferentie in de objectbrowser en alle gerelateerde methoden moeten kunnen zien.


Antwoord 3, autoriteit 11%

Gebruik WSDL.EXE-hulpprogrammaom een ​​webserviceproxy te genereren van WSDL.

Je krijgt een lang C#-bronbestand dat een klasse bevat die er als volgt uitziet:

/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Web.Services.WebServiceBindingAttribute(Name="MyService", Namespace="http://myservice.com/myservice")]
public partial class MyService : System.Web.Services.Protocols.SoapHttpClientProtocol {
    ...
}

In uw client-side, webservice consumerende code:

  1. Maak MijnService aan.
  2. stel de URL-eigenschap in
  3. webmethoden aanroepen

Antwoord 4, autoriteit 7%

Als u wsdl-referentie wilt toevoegen in .Net Coreproject, is er geen optie “Webreferentie toevoegen”.

Om de wsdl-referentie toe te voegen, gaat u naar Solution Explorer, klikt u met de rechtermuisknop op het project Referenties en klikt u vervolgens op de optie Verbonden service toevoegen.

Klik vervolgens op ‘Microsoft WCF-webservicereferentie’:

Voer het bestandspad in het URI-tekstvak in en importeer de WSDL:

Het zal een eenvoudige, zeer eenvoudige WCF-client genereren en u kunt het ongeveer als volgt gebruiken:

YourServiceClient client = new YourServiceClient();
client.DoSomething();

Other episodes