WSDL Verweis lässt sich nicht kompilieren (Salesforce enterprise.wsdl)

  • VB.NET

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von slice.

    WSDL Verweis lässt sich nicht kompilieren (Salesforce enterprise.wsdl)

    Guten Tag,

    ich versuche gerade eine WSDL (enterprise.wsdl) von Salesforce zu implementieren und erhalte beim kompilieren direkt einige Fehler, die ich nicht genau deuten und beheben kann.
    Ich habe mir dazu ein paar Tutorials bezüglich genau dieser WSDL angeschaut, obwohl das Einbinden einer WSDL ja jetzt auch kein Hexenwerk sein sollte.

    Im Projektmappen-Explorer die rechte Maustaste "Hinzufügen -> Dienstverweis..." und dann in dem Fenster und Adresse die Adresse der WSDL.
    "file://D:\Laptop_Temp\Entwicklung\Salesforce\enterprise.wsdl"
    Anschließend einen Namen "sforce" im Namespace eingeben und auf OK.
    Nach einer kurzen Zeit kann ich weiter arbeiten und auch im Quellcode auf Basis der Verweise damit arbeiten. Aber sobald ich kompilieren möchte, erhalte ich 7 Fehler, ganz gleich ob es ein neues oder vorhandenes Projekt ist.

    Folgende Fehlermeldung erhalte ich:

    Quellcode

    1. - Die für die location-Klasse festgelegte sObject-Basisklasse darf sich nicht von der Object-Basisklasse eines ihrer anderen partiellen Typen unterscheiden.
    2. - Das Attribut "XmlTypeAttribute" kann nicht mehrmals angewendet werden.
    3. - Das Attribut "SerializableAttribute" kann nicht mehrmals angewendet werden.
    4. - Das Attribut "GeneratedCodeAttribute" kann nicht mehrmals angewendet werden.
    5. - Das Attribut "DesignerCategoryAttribute" kann nicht mehrmals angewendet werden.
    6. - Das Attribut "DebuggerStepThroughAttribute" kann nicht mehrmals angewendet werden.
    7. - "TargetField" wurde bereits als "Private targetField As Contract" in dieser class deklariert.



    Ich verwende das Visual Studio Professional 2019 und habe das Projekt mit dem .NET Framework 4.7.2 erstellt.
    Bei meiner Recherche konnte ich bisher noch nichts passendes dazu finden. Mit dem Tool Soap UI wurde die WSDL und ein Test-Login erfolgreich getestet.

    Ich hoffe das mir hier vielleicht jemand helfen kann.
    Danke sehr.
    Ich weiß jetzt nicht was VS im Hintergrund macht bei einem Dienstverweis, aber was bei mir gut funktioniert ist folgendes:
    1. dotnet-svcutil installieren
    2. WSDL runterladen
    3. dotnet-svcutil.exe enterprise.wsdl --outputDir . --outputFile SalesforceWrapper.cs --sync --namespace "*,SalesforceWrapper"
    4. In der Datei [][] gegen [] tauschen
    5. SalesforceWrapper.cs dem Projekt hinzufügen

    Wenn du VB.Net benutzt, müsstest du den generierten Code in eine separate Library packen, "kompilieren" und die fertige DLL deinem VB.Net Projet hinzufügen.