SOAP Zugriff GLS ShipIt

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von MrTrebron.

    SOAP Zugriff GLS ShipIt

    Hallo,
    hat hier jemand schonmal die SOAP Schnittstelle von GLS ShipIt per Visual Studio abgefragt?
    Einbinden klappt ganz normal. Credentials und ContactID des Testzugangs setze ich, aber bei createParcels erhalte ich immer die Meldung "Unauthorized".

    vg
    Mathias
    Zusammengefasst sieht er so aus:

    Quellcode

    1. Dim glscreateparcel As new GLSShipIT.ShipmentProcessingService
    2. glscreateparcel.PreAuthenticate = True
    3. glscreateparcel.Url = "https://shipit-wbm-test01.gls-group.eu:8443/backend/ShipmentProcessingService/ShipmentProcessingPortType?wsdl"
    4. glscreateparcel.Credentials = New System.Net.NetworkCredential(benutzer, kennwort)
    5. glscreateparcel.InitializeLifetimeService()
    6. Dim glsshipmentrequestdata As New GLS.GLSShipIT.ShipmentRequestData
    7. 'shipmentrequestdata details füllen
    8. glsshipmentrequestdata.Shipment.Shipper.ContactID = ContactID
    9. Dim response As GLSShipIT.CreateParcelsResponse = glscreateparcel.createParcels(glsshipmentrequestdata)


    Benutzer, Kennwort und ContactID Variablen sind vorab gesetzt worden mit den Test Zugangsdaten.


    Info zur Schnittstelle: GLS
    Dann ließ dich noch Mal was da über Authentication bei GLS steht.

    Spoiler:
    Http Basic Authentication
    Also Authorization header mit base64 User ame:Password
    Die deutsche Sprache ist Freeware, du kannst sie benutzen, ohne dafür zu bezahlen. Sie ist aber nicht Open Source, also darfst du sie nicht verändern, wie es dir gerade passt.
    danke für den Hinweis... scheint ein heißer Tipp zu sein. Aber gibts des das man so auf dem Schlauch steht...
    die WSDL Schnittstelle ist ja quasi fertig und bietet mir nicht an den Header zu bearbeiten. Wie also einen Authorization Header einfügen? Ich ging davon aus das die Eigenschaft .Credentials das erledigt?!
    Alternativ hab ich es auch ohne Erfolg mal so versucht:

    Quellcode

    1. ​Dim NetCred As New System.Net.NetworkCredential
    2. NetCred.UserName = benutzer
    3. NetCred.Password = kennwort
    4. glscreateparcel.Credentials = NetCred.GetCredential(New Uri("https://shipit-wbm-test01.gls-group.eu:8443/backend/ShipmentProcessingService/ShipmentProcessingPortType?wsdl"), "Basic")