2. UserService

2.1. Einleitung

Mit dem GeoShop UserService können Informationen zu einem GeoShop User abgefragt werden wie zum Beispiel die Produkte des Users.

2.2. UserService Endpunkte und Methoden

2.2.1. Service Endpunke

Der GeoShop UserService kann via folgende SOAP bzw. WSDL Service Endpunkte erreicht werden:

GEOSHOP_URL/soap/UserService.igs

SOAP Schnittstelle.

GEOSHOP_URL/soap/UserService.igs?wsdl

WSDL Beschreibung der SOAP Schnittstelle.

Wobei für GEOSHOP_URL die Basisadresse des GeoShop eingesetzt werden muss (z.B. http://localhost:3501).

2.2.2. getUser Methode

2.2.2.1. Beschreibung

Mit getUser Methode wird geprüft, ob der User im GeoShop definiert ist.

2.2.2.2. XML Input Objekt

Die getUser 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>

<getUser xmlns="http://www.infogrips.ch/geoshop/user/">
   <user xmlns="">user</user>
   <password xmlns="">password</password>
</getUser>

</soap:Body>
</soap:Envelope>

Beschreibung der variablen Anteile:

user (String)

GeoShop Benutzer.

password (String)

Passwort des GeoShop Benutzers.

[Anmerkung]

Der Parameter server wird automatisch vom GeoShop gesetzt und muss daher nicht übermittelt werden. Für die obligatorischen Parameter user, password müssen die dafür reservierten Tags (s.a. oben) benutzt werden.

2.2.2.3. XML Output Objekt

Die getUser 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>

<getUserResponse xmlns="http://www.infogrips.ch/geoshop/user/">
</getUserResponse>

</soap:Body>
</soap:Envelope>

Es werden keine Variablen Anteile zurückgegeben. Ist der User oder das Password ungültig, ist der Request auch ungültig.

2.2.3. getProducts Methode

2.2.3.1. Beschreibung

Die getProducts Methode frägt die Produkte eines Users ab.

2.2.3.2. XML Input Objekt

Die getProducts 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>

<getProducts xmlns="http://www.infogrips.ch/geoshop/user/">
    <user xmlns="">test</user>
    <password xmlns="">test</password>
</getProducts>

</soap:Body>
</soap:Envelope>

Beschreibung der variablen Anteile:

user (String)

GeoShop Benutzer.

password (String)

Passwort des GeoShop Benutzers.

[Anmerkung]

Der Parameter server wird automatisch vom GeoShop gesetzt und muss daher nicht übermittelt werden. Für die obligatorischen Parameter user, password müssen die dafür reservierten Tags (s.a. oben) benutzt werden.

2.2.3.3. XML Output Objekt

Die getProducts 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>

<getProductsResponse xmlns="http://www.infogrips.ch/geoshop/user/">
   <products xmlns="">
      <product xmlns="">
         <name>dxf_dm01</name>
         <display_name>AV DXF/DWG</display_name>
      </product>
      <product xmlns="">
         <name>dxf_plot</name>
         <display_name>AV DXF Plot</display_name>
      </product>
      :
   </products>
</getProductsResponse>

</soap:Body>
</soap:Envelope>

Beschreibung der variablen Anteile:

products (list)

Eine Liste von Produkten.

product (Struktur)

Ein Produkt.

product.name (String)

Der Name des Produktes.

product.display_name (String)

Der Displayname des Produktes.

2.2.4. getProductDefinition Methode

2.2.4.1. Beschreibung

Die getProductDefinition Methode frägt die Definition eines Produktes eines Users ab.

2.2.4.2. XML Input Objekt

Die getProductDefinition 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>

<getProductDefinition xmlns="http://www.infogrips.ch/geoshop/user/">
   <user xmlns="">test</user>
   <password xmlns="">test</password>
   <product xmlns="">pdf</product>
</getProductDefinition>

</soap:Body>
</soap:Envelope>

Beschreibung der variablen Anteile:

user (String)

GeoShop Benutzer.

password (String)

Passwort des GeoShop Benutzers.

product (String)

Name des Produktes.

[Anmerkung]

Der Parameter server wird automatisch vom GeoShop gesetzt und muss daher nicht übermittelt werden. Für die obligatorischen Parameter user, password,product müssen die dafür reservierten Tags (s.a. oben) benutzt werden.

2.2.4.3. XML Output Objekt

Die getProductDefinition 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>

   <getProductDefinitionResponse xmlns="http://www.infogrips.ch/geoshop/user/">
      <productdefinition xmlns="">
         <name>pdf</name>
         <display_name>AV Adobe PDF</display_name>
         <models xmlns="">
            <model xmlns="">
               <name>DM01AVCH24D</name>
               <display_name>amtl. Vermessung</display_name>
               <topics xmlns="">
                  <topic>FixpunkteKategorie1</topic>
                  <topic>FixpunkteKategorie2</topic>
                  :
               </topics>
            </model>
         </models>
         <params xmlns="">
            <selection_type>FORMATBOX</selection_type>
            <selection_formats xmlns="">
               <selection_format xmlns="">
                  <format>A4</format>
                  <orientations>hoch,quer</orientations>
                  <scales>1:250,1:500,1:1000</scales>
                  <format_default>ON</format_default>
                  <orientation_default>hoch</orientation_default>
                  <scale_default>1:250</scale_default>
               </selection_format>
               : 
            </selection_formats>
            <selection_options xmlns="">
               <option xmlns="">
                  <name>coordband</name>
                  <value>checkbox,Koordinatenband,on</value>
               </option>
               <option xmlns="">
                  <name>coordcross</name>
                  <value>checkbox,Koordinatenkreuze,on</value>
               </option>
               :
            </selection_options>
            <topic_selection_visible>OFF</topic_selection_visible>
            <order_la_options xmlns="">
               <option xmlns="">
                  <name>name1</name>
                  <value>textfield,Name1 *</value>
               </option>
               <option xmlns="">
                  <name>name2</name>
                  <value>textfield,Name2 *</value>
               </option>
               :
            </order_la_options>
            <option_ra_option>ON</option_ra_option>
         </params>
         <price_function>ON</price_function>
      </productdefinition>
   <getProductDefinitionResponse>

</soap:Body>
</soap:Envelope>

Beschreibung der variablen Anteile:

productdefinition (Struktur) *

Eine Struktur, die das Produkt definiert.

productdefinition.name (String) *

Der Name des Produktes.

productdefinition.display_name (String) *

Der Displayname des Produktes.

productdefinition.models (Liste) *

Eine Liste mit allen Modellen, die im Produkt enthalten sein können.

productdefinition.models.model (Struktur) *

Ein Modell, das im Produkt enthalten sein kann.

productdefinition.models.model.name (String) *

Name des Modelles.

productdefinition.models.model.display_name (String)

Displayname des Modelles

productdefinition.models.model.topics (List) *

Eine Liste der Topics des Modelles.

productdefinition.models.model.topics.topic (String) *

Name des Topics.

productdefinition.params (Struktur) *

Eine Struktur mit weitere Parametern zum Produkt.

productdefinition.params.selection_type (String)

Definiert die geographische Selektion für das Produkt. Mögliche Werte sind: BOX (default),POLYGON,FORMATBOX.

productdefinition.params.selection_rotate (String)

Definiert, ob die geographische Selektion rotiert werden kann. Mögliche Werte sind: ON (default),OFF

productdefinition.params.selection_formats (Liste)

Liste von Formaten für selection_type=FORMATBOX.

productdefinition.params.selection_formats.selection_format (Struktur)

Format für selection_type=FORMATBOX.

productdefinition.params.selection_options (Liste)

Weitere Optionen für das Produkt. Abhängig vom Produkt.

productdefinition.params.selection_options.option (Struktur)

Option für das Produkt. Abhängig vom Produkt.

productdefinition.params.topic_selection_visible (String)

Kann der User die Modells/Topics selektieren. Mögliche Werte sind: ON (default),OFF

productdefinition.params.order_ra_option (String)

Können Informationen zur Rechnungsadresse eingegeben werden. Mögliche Werte sind: ON,OFF (default).

productdefinition.params.order_la_options (Liste)

Weitere Optionen für die Lieferadresse.

productdefinition.params.order_la_options.option (Struktur)

Option zur Lieferadresse.

productdefinition.params.order_ra_options (Liste)

Weitere Optionen für die Rechnungsadresse.

productdefinition.params.order_ra_options.option (Struktur)

Option zur Rechnungsadresse.

productdefinition.proce_function (String)

Hat das Produkt eine Preisfunktion. Mögliche Werte sind: ON,OFF (default).

Die mit einem * markierten Anteile sind immer vorhanden. Die anderen Anteile können je nach Produkt vorhanden sein.

2.2.5. getPreferences Methode

2.2.5.1. Beschreibung

Die getPreferences Methode frägt die Präferenzen eines Users ab.

2.2.5.2. XML Input Objekt

Die getPreferences 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>

<getPreferences xmlns="http://www.infogrips.ch/geoshop/user/">
   <user xmlns="">test</user>
   <password xmlns="">test</password>
</getPreferences>

</soap:Body>
</soap:Envelope>

Beschreibung der variablen Anteile:

user (String)

GeoShop Benutzer.

password (String)

Passwort des GeoShop Benutzers.

[Anmerkung]

Der Parameter server wird automatisch vom GeoShop gesetzt und muss daher nicht übermittelt werden. Für die obligatorischen Parameter user, password müssen die dafür reservierten Tags (s.a. oben) benutzt werden.

2.2.5.3. XML Output Objekt

Die getPreferences 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>
   <getPreferencesResponse xmlns="http://www.infogrips.ch/geoshop/user/">
      <preferences xmlns="">
         <order.adr1></order.adr1>
         <order.adr2></order.adr2>
         <order.city></order.city>
         <order.country></order.country>
         <order.email></order.email>
         <order.fax></order.fax>
         <order.name1></order.name1>
         <order.name2></order.name2>
         <order.remark></order.remark>
         <order.tel></order.tel>
         <order.zip></order.zip>
         <overview.maxX>678600.0</overview.maxX>
         <overview.maxY>247600.0</overview.maxY>
         <overview.minX>672900.0</overview.minX>
         <overview.minY>242600.0</overview.minY>
         <overview.view>overview</overview.view>
         <range.maxX>675859.761555</range.maxX>
         <range.maxY>245435.0</range.maxY>
         <range.minX>675766.238445</range.minX>
         <range.minY>245364.0</range.minY>
         <search.query>strasse</search.query>
      </preferences>
   </getPreferencesResponse>
</soap:Body>
</soap:Envelope>

Beschreibung der variablen Anteile:

order.name1 (String)

Namenfeld 1.

order.name2 (String)

Namenfeld 2.

order.adr1 (String)

Adresse 1.

order.adr2 (String)

Adresse 2.

order.zip (String)

Postleitzahl.

order.city (String)

Stadt.

order.country (String)

Land.

order.tel (String)

Telefon.

order.fax (String)

Fax..

order.email (String)

EMail-Addresse.

Dies sind die üblichen Anteile für Users die Bestellungen ausführen können. Es können weitere Anteile vorhanden sein.

Grundsätzlich sind alle Anteile optional.