Fehler beim Webservice - Anfrage aus einer DLL

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von samosnabrueck.

    Fehler beim Webservice - Anfrage aus einer DLL

    Hallo
    Ich möchte gerne von einem Carrier - Dienstleister Paket - Label erzeugen lassen und diese in der Datenbank abspeichern.

    Ich habe das Ganze zum Ausprobieren in einer Konsolenanwendung programmiert und es funktioniert.

    Danach habe ich es nochmal neu programmiert in einer DLL, die ich dann benutzen möchte. Leider funktioniert das nicht mehr.

    Der Code ist gleich, nur in der DLL findet er nicht den 'Endpoint', den er aus einer Config ausliest. Bei der DLL ist ja irgendwie von Haus aus keine Config - Datei dabei. Warum nicht?

    Und wie bekomme ich die DLL dazu, diese Config zu lesen? Ich habe schon versucht, sie in den Release - Ordner zu kopieren mit den verschiedensten Namen, funtkioniert alles leider nicht.

    Hat jemand eine Idee?

    Hier noch die Fehlermeldung als Anhang
    Bilder
    • FehlerPostAT.JPG

      63,01 kB, 639×419, 100 mal angesehen

    samosnabrueck schrieb:

    Bei der DLL ist ja irgendwie von Haus aus keine Config - Datei dabei.
    Deiner DLL oder die des Anbieters des Druckers?

    samosnabrueck schrieb:

    Warum nicht?
    Wenn es sich - wie oben - um deine Dll handelt, musst DU dafür Sorge tragen, dass eine Datei dabei ist, sonst musst du dir iwie die Config File vom Anbieter holen

    samosnabrueck schrieb:

    neu programmiert in einer DLL
    Was genau hast du in der DLL neu gemacht?

    samosnabrueck schrieb:

    Und wie bekomme ich die DLL dazu, diese Config zu lesen?
    Die Datei kannst du per System.IO.File.ReadAllLines() oder System.IO.File.ReadAllText() auslesen und in einem String-Array bzw String-Variable speichern. Dan nur noch den Inhalt ensprechened auslesen und "parsen". Fertig

    Lg Radinator
    In general (across programming languages), a pointer is a number that represents a physical location in memory. A nullpointer is (almost always) one that points to 0, and is widely recognized as "not pointing to anything". Since systems have different amounts of supported memory, it doesn't always take the same number of bytes to hold that number, so we call a "native size integer" one that can hold a pointer on any particular system. - Sam Harwell
    1. es ist meine DLL
    2. ich habe einfach den Code in eine DLL mit Namespace und einer Klasse kopiert.
    3. es ist ja eine Config generiert worden mit dem svutil.exe und der WSDL - Datei
    4. dazu ist noch eine Klasse generiert worden, wo die Config wohl gelesen wird(zumindest in meiner Konsolenanwendung), aber leider finde ich keine stellen, wo ich die dinge aus der config in variablen hinterlegen könnte und wo sie hin müssen
    5. wie man keine Config liest, weiss ich

    im Anhang die Config und die generierte Klasse

    hier kommt dann der Fehler:

    Dim client As ShippingServiceClient = New ShippingServiceClient()
    Dateien
    • ShippingService.vb

      (50,42 kB, 248 mal heruntergeladen, zuletzt: )
    • Web.config.xml

      (1,61 kB, 118 mal heruntergeladen, zuletzt: )

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „samosnabrueck“ ()

    Versuch mal Dim client As ShippingServiceClient = New ShippingServiceClient("https://ondotiis08.ondot.local/DataService/Post.Webservice/ShippingService.svc/secure")
    Sorry vergiss was ich geschrieben habe, hab übersehen das du mit svcutil arbeitest.

    Quellcode

    1. System.ServiceModel.BasicHttpBinding binding = new System.ServiceModel.BasicHttpBinding();
    2. System.ServiceModel.EndpointAddress address = new System.ServiceModel.EndpointAddress("http://plctest.post.at/DataService/Post.Webservice/ShippingService.svc");
    3. ShippingServiceClient client = new ShippingServiceClient(binding, address);