Spezifikation DPD und primetime WebService Shopfinder Gültig für Paketversender in Österreich Version 3.3.0
1 Inhaltsverzeichnis 1 Inhaltsverzeichnis... 2 2 Allgemein... 3 2.1 Beschreibung... 3 3 Softwaretechnische Grundlagen... 4 4 Die SOAP-Funktion FindShops... 4 4.1 Funktionsbeschreibung... 4 4.2 WSDL FindShops... 4 4.3 Aufrufparameter Address... 4 4.4 Aufrufparameter AccessID... 4 4.5 Ergebnisparameter result... 5 5 Implementierungs-Beispiele... 6 5.1.net Framework, C#... 6 Seite 2 von 6
2 Allgemein Das vorliegende Dokument stellt eine Ergänzung zum Dokument Spezifikation DPD und primetime Paketversand Gültig für Paketversender in Österreich (im Folgenden Hauptdokument genannt) dar, spezifiziert das WebService Shopfinder im Detail und hat nur in Zusammenwirkung mit diesem Dokument Gültigkeit. 2.1 Beschreibung Der Shopfinder dient dazu, zu einer übergebenen Adresse Paket-Shops in der Nähe zu ermitteln. Zurückgeliefert werden je Paket-Shop aktuelle Adressdaten, Telefonnummern, Öffnungszeiten und die Distanz in Kilometern zur angegebenen Adresse. Voraussetzung: Zugriff auf www.dpd-business.at/soapshopfinder.php Softwaretechnische Möglichkeit zur Implementierung eines SOAP-Calls Seite 3 von 6
3 Softwaretechnische Grundlagen SOAP, das Simple Object Access Protocol und WSDL, die Web Service Description Language, sind W3C-Standards, die weitgehend auf XML basieren und die Interoperabilität von Systemen im Rahmen einer SOA Service Oriented Architecture ermöglichen. SOAP-Implementierungen sind gegenwärtig für nahezu jede Plattform und Programmiersprache verfügbar. Die Spezifikationen dieser Protokolle sowie Informationen zu Implementierungen in verschiedensten Betriebssystemen und Programmiersprachen finden Sie am besten im Internet. http://www.w3.org/tr/soap/ http://www.w3.org/tr/wsdl20/ 4 Die SOAP-Funktion FindShops Die Funktion besitzt eine sehr einfach anzusprechende Schnittstelle, denn sie besteht aus nur zwei Eingabeparametern (Address und AccessID) und einem einzigen Ergebnisparameter, die jeweils als Zeichenkette (xsd:string) ausgeführt sind. 4.1 Funktionsbeschreibung Zur angegebenen Adresse werden Paket-Shops in der Nähe zurückgeliefert. 4.2 WSDL FindShops Die WSDL-Spezifikation ist über http://www.dpd-business.at/soapshopfinder.php abrufbar. 4.3 Aufrufparameter Address Zeichenkette der Form Straße inklusive Hausnummer (optional); Land - Postleitzahl Ort Beispiel: FindShops( Arbeitergasse 44, AT-2333 Leopoldsdorf bei Wien ) Umlaute sind im Characterset ISO8859-1 anzugeben. 4.4 Aufrufparameter AccessID Die erforderliche AccessID erhalten sie von Ihrem Versand-Depot. Seite 4 von 6
4.5 Ergebnisparameter result Der Ergebnisparameter ist wie folgt aufgebaut: Shop 1 Shop 2 Shop 10 (Shop-Trennzeichen ist (Pipe)) Aufbau Shop: Name;Straße;Land;Postleitzahl;Ort;Telefonnummer;Entfernung in km;öffnungszeitenliste (Feld-Trennzeichen ist ; (Strichpunkt)) Aufbau Öffnungszeitenliste: Öffnungszeit 1 / Öffnungszeit 2 / / Öffnungszeit n (Trennzeichen ist / (Schrägstrich)) Aufbau Öffnungszeit Wochentag Von-Zeit - Bis-Zeit Konnten keine Paket-Shops gefunden werden, lautet der Ergebnisparameter NOT FOUND. Beispiel: Ergebnis zu Adresse Kärntner Strasse 25,AT-1010 Wien Tabak Trafik;Singerstrasse 27;AT;1010;Wien;015133824;0,4 km;montag 06:00-18:00/Dienstag 06:00-18:00/Mittwoch 06:00-18:00/Donnerstag 06:00-18:00/Freitag 06:00-18:00/Samstag 06:00-13:00 Buchhandlung 777;Domgasse 8;AT;1010;Wien;0151311777;0,4 km;montag 10:00-18:00/Dienstag 10:00-18:00/Mittwoch 10:00-18:00/Donnerstag 10:00-18:00/Freitag 10:00-18:00/Samstag 10:00-16:00 City Buero Shop;Marc Aurel Strasse 2;AT;1010;Wien;015338937;0,7 km;montag 09:00-13:00/Montag 14:00-18:00/Dienstag 09:00-13:00/Dienstag 14:00-18:00/Mittwoch 09:00-13:00/Mittwoch 14:00-18:00/Donnerstag 09:00-13:00/Donnerstag 14:00-18:00/Freitag 09:00-13:00/Freitag 14:00-18:00 Perlen Schmuck;Falkestrasse 6;AT;1010;Wien;015125147;0,7 km;montag 10:00-18:00/Dienstag 10:00-18:00/Mittwoch 10:00-18:00/Donnerstag 10:00-18:00/Freitag 10:00-18:00/Samstag 10:00-12:30 Komische Kuenste;Museumsplatz 1;AT;1070;Wien;8902753;0,9 km;montag 06:00-18:00/Dienstag 06:00-18:00/Mittwoch 06:00-18:00/Donnerstag 06:00-18:00/Freitag 06:00-18:00/Samstag 06:00-13:00 Fahrschule Stadtpark;Landstrasser Hauptstrasse 1;AT;1030;Wien;017120812;0,9 km;montag 10:30-13:30/Montag 14:30-18:30/Dienstag 10:30-13:30/Dienstag 14:30-18:30/Mittwoch 10:30-13:30/Mittwoch 14:30-18:30/Donnerstag 10:30-13:30/Donnerstag 14:30-18:30/Freitag 10:30-15:30 Reinigung Janeba;Invalidenstrasse 13;AT;1030;Wien;017132172;1,0 km;montag 08:00-18:00/Dienstag 08:00-18:00/Mittwoch 08:00-18:00/Donnerstag 08:00-18:00/Freitag 08:00-18:00 Sefra Farben;Hollandstrasse 6;AT;1020;Wien;2142514;1,1 km;montag 07:00-18:00/Dienstag 07:00-18:00/Mittwoch 07:00-18:00/Donnerstag 07:00-18:00/Freitag 07:00-18:00/Samstag 08:00-12:00 Papierwaren Anton;Wiedner Hauptstrasse 17;AT;1040;Wien;015057169;1,1 km;montag 08:30-18:00/Dienstag 08:30-18:00/Mittwoch 08:30-18:00/Donnerstag 08:30-18:00/Freitag 08:30-18:00 Gmundner Keramik;Stadiongasse 7;AT;1010;Wien;014054828;1,1 km;montag 10:00-17:00/Dienstag 10:00-17:00/Mittwoch 10:00-17:00/Donnerstag 10:00-17:00/Freitag 10:00-17:00 Seite 5 von 6
5 Implementierungs-Beispiel 5.1.net Framework, C# using System.Diagnostics; using System.Xml.Serialization; using System; using System.Web.Services.Protocols; using System.Web.Services; [System.Web.Services.WebServiceBindingAttribute( Name = "ShopFinderService", Namespace = "urn:shopfinderservice")] public class ShopFinderFunctions : System.Web.Services.Protocols.SoapHttpClientProtocol public ShopFinderFunctions() this.url = "http://www.dpd-business.at/soapshopfinder.php"; [System.Web.Services.Protocols.SoapRpcMethod( Action = "", RequestNamespace = "urn:shopfinderservice", ResponseNamespace = "urn:shopfinderservice", Use = System.Web.Services.Description.SoapBindingUse.Encoded)] public string FindShops(string Address, string AccessID) object[] results = this.invoke("findshops", new object[] Address,AccessID); return ((string)(results[0])); public static void Main(string[] args) ShopFinderFunctions MyFunctions = new ShopFinderFunctions(); if (args.length > 0) Console.WriteLine("Ergebnis: " + MyFunctions.FindShops(args[0], args[1])); else Console.WriteLine("Syntax : FindShops Address AccessID"); Seite 6 von 6