Mit dem GeoShop OrderService kann eine Preisberechung und Bestellung von Daten von einem GeoShop Server durchgeführt werden. Der GeoShop OrderService hat den gleichen Funktionsumfang wie die Applikation GeoShop BatchClient (s.a. [2]). Der GeoShop BatchClient kann daher alternativ zum GeoShop OrderService verwendet werden.
Der GeoShop OrderService kann via folgende SOAP bzw. WSDL Service Endpunkte erreicht werden:
GEOSHOP_URL/soap/orderservice.igsSOAP Schnittstelle.
GEOSHOP_URL/soap/orderservice.igs?wsdlWSDL Beschreibung der SOAP Schnittstelle.
Wobei für GEOSHOP_URL die Basisadresse des
      GeoShop eingesetzt werden muss (z.B.
      http://localhost:3501).
Die caculatePrice Methode liefert das
        Resultat der GeoShop Preisberechnung. Neben dem Preis (Betrag/Währung)
        wird auch ein formatierter Beleg bzw. eine formatierte Fehlermeldung
        zurück geliefert. Der Beleg bzw. die Fehlermeldung entspricht der
        Ausgabe der Preisberechnung im GeoShop Client Applet.
Die calculatePrice Methode wird durch
        folgendes XML-Objekt aufgerufen (Darstellung mit
        soap:Body und
        soap:Envelope):
<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <calculatePrice xmlns="http://www.infogrips.ch/geoshop/order/"> <user xmlns="">user</user> <password xmlns="">password</password> <product xmlns="">product</product> <parameters xmlns=""> <parameter> <name>name</name> <value>value</value> </parameter> ... </parameters> </calculatePrice> </soap:Body> </soap:Envelope>
Beschreibung der variablen Anteile:
GeoShop Benutzer.
Passwort des GeoShop Benutzers.
Datenprodukt für welches der Preis berechnet werden soll (muss dem Benutzer zugewiesen sein).
Liste von 0-N Parametern. Die Anzahl der notwendigen Parameter ist abhängig vom gewählten Datenprodukt. Die Parameter sind in [2] beschrieben. Beispiel:
<parameters>
   <parameter>
      <name>min</name>
      <value>600000/200000</value>
   </parameter>
   <parameter>
      <name>max</name>
      <value>620000/250000</value>
   </parameter>
</paramaters>![]()  | |
Der Parameter   | 
Die calculatePrice Methode liefert als Resultat der Anfrage
        folgendes XML-Objekt (Darstellung mit soap:Body und
        soap:Envelope):
<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <calculatePriceResponse xmlns="http://www.infogrips.ch/geoshop/order/"> <priceinfo xmlns=""> <item>price</item> <item>currency</item> <item>1. line of price display</item> <item>2. line of price display</item> ... <item>n. line of price display</item> </priceinfo> </calculatePriceResponse> </soap:Body> </soap:Envelope>
Beschreibung der variablen Anteile:
Liste von Stringwerten, wobei die ersten beiden Werte der Liste eine spezielle Bedeutung haben.
Preis der Bestellung. Ein negativer Preis bedeutet, dass die Bestellung nicht ausgeführt werden kann.
Währung.
Formatierter Beleg bzw. Fehlermeldung (bei negativem Preis).
Die sendOrder Methode schickt eine Bestellung
        an den GeoShop. Die sendOrder Methode wird
        normalerweise asynchron ausgeführt, d.h. es wird nicht auf die
        Fertigstellung der Bearbeitung gewartet (die Benachrichtigung des
        Benutzers erfolgt per E-Mail). Es ist jedoch auch möglich die
        sendOrder Methode synchron auszuführen. Dazu muss
        der Bestellparameter wait wie folgt gesetzt
        werden:
<parameters>
   ...
   <parameter>
      <name>wait</name>
      <value></value>
   </parameter>
   ...
</paramaters>Die sendOrder Methode wird durch folgendes
        XML-Objekt aufgerufen (Darstellung mit soap:Body
        und soap:Envelope):
<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <sendOrder xmlns="http://www.infogrips.ch/geoshop/order/"> <user xmlns="">user</user> <password xmlns="">password</password> <product xmlns="">product</product> <parameters xmlns=""> <parameter> <name>name</name> <value>value</value> </parameter> ... </parameters> </sendOrder> </soap:Body> </soap:Envelope>
Beschreibung der variablen Anteile, s.a.
        calculatePrice.
Die sendOrder Methode liefert als Resultat
        der Anfrage folgendes XML-Objekt (Darstellung mit
        soap:Body und
        soap:Envelope):
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope 
   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
   xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<sendOrderResponse xmlns="http://www.infogrips.ch/geoshop/order/">
   <order xmlns="">
     <orderno>orderno</orderno>
     <orderurl>orderurl</orderurl>
     <price>price</price>
     <currency>currency</currency>
   </order>
</sendOrderResponse>
</soap:Body>
</soap:Envelope>Beschreibung der variablen Anteile:
Bestellnummer. Falls die Bestellnummer < 0 ist, konnte die Bestellung nicht verarbeitet werden.
URL an welcher die bestellten Daten verfügbar sind.
Preis.
Währung.