A. UserService WSDL Definitionen
<?xml version="1.0"?>
<definitions name="UserService"
targetNamespace="http://www.infogrips.ch/geoshop/user/"
xmlns:tns="http://www.infogrips.ch/geoshop/user/"
xmlns:types="http://www.infogrips.ch/geoshop/types/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns="http://schemas.xmlsoap.org/wsdl/">
<types>
<xsd:schema targetNamespace="http://www.infogrips.ch/geoshop/types/">
<xsd:complexType name="StringList">
<xsd:sequence>
<xsd:element name="item" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Product">
<xsd:sequence>
<xsd:element name="name" type="xsd:string"/>
<xsd:element name="display_name" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Products">
<xsd:sequence>
<xsd:element name="product" type="types:Product" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Topics">
<xsd:sequence>
<xsd:element name="topic" type="xsd:string" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Model">
<xsd:sequence>
<xsd:element name="name" type="xsd:string"/>
<xsd:element name="display_name" type="xsd:string"/>
<xsd:element name="topics" type="types:Topics"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Models">
<xsd:sequence>
<xsd:element name="model" type="types:Model" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Option">
<xsd:sequence>
<xsd:element name="name" type="xsd:string"/>
<xsd:element name="value" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Options">
<xsd:sequence>
<xsd:element name="option" type="types:Option" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="SelectionFormat">
<xsd:sequence>
<xsd:element name="format" type="xsd:string"/>
<xsd:element name="orientation" type="xsd:string"/>
<xsd:element name="scales" type="xsd:string"/>
<xsd:element name="format_defualt" type="xsd:string"/>
<xsd:element name="orientation_default" type="xsd:string"/>
<xsd:element name="scale_default" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="SelectionFormats">
<xsd:sequence>
<xsd:element name="selection_format" type="types:SeletionFormat" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Params">
<xsd:sequence>
<xsd:element name="selection_type" type="xsd:string"/>
<xsd:element name="selection_rotate" type="xsd:string"/>
<xsd:element name="selection_formats" type="types:SelectionFormats"/>
<xsd:element name="selection_options" type="types:Options"/>
<xsd:element name="topic_selection_visible" type="xsd:string"/>
<xsd:element name="order_la_options" type="types:Options"/>
<xsd:element name="order_ra_option" type="xsd:string"/>
<xsd:element name="order_ra_options" type="types:Options"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ProductDefinition">
<xsd:sequence>
<xsd:element name="name" type="xsd:string"/>
<xsd:element name="display_name" type="xsd:string"/>
<xsd:element name="models" type="types:Models"/>
<xsd:element name="params" type="types:Params"/>
<xsd:element name="price_function" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
</types>
<message name="getUser">
<part name="user" type="xsd:string"/>
<part name="password" type="xsd:string"/>
</message>
<message name="getUserResponse">
</message>
<message name="getProducts">
<part name="user" type="xsd:string"/>
<part name="password" type="xsd:string"/>
</message>
<message name="getProductsResponse">
<part name="products" type="types:Products"/>
</message>
<message name="getProductDefinition">
<part name="user" type="xsd:string"/>
<part name="password" type="xsd:string"/>
<part name="product" type="xsd:string"/>
</message>
<message name="getProductDefinitionResponse">
<part name="productDefinition" type="types:ProductDefinition"/>
</message>
<portType name="UserServicePortType">
<operation name="getUser">
<input message="tns:getUserRequest"/>
<output message="tns:getUserResponse"/>
</operation>
<operation name="getProducts">
<input message="tns:getProductsRequest"/>
<output message="tns:getProductsResponse"/>
</operation>
<operation name="getProductDefinition">
<input message="tns:getProductDefinitionRequest"/>
<output message="tns:getProductDefinitionResponse"/>
</operation>
</portType>
<binding name="UserServiceBinding" type="tns:UserServicePortType">
<soap:binding
style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="getUser">
<soap:operation soapAction=""/>
<input name="getUserRequest">
<soap:body
use="literal"
namespace="http://www.infogrips.ch/geoshop/user/"/>
</input>
<output name="getUserResponse">
<soap:body
use="literal"
namespace="http://www.infogrips.ch/geoshop/user/"/>
</output>
</operation>
<operation name="getProduct">
<soap:operation soapAction=""/>
<input name="getProductRequest">
<soap:body
use="literal"
namespace="http://www.infogrips.ch/geoshop/user/"/>
</input>
<output name="getProductResponse">
<soap:body
use="literal"
namespace="http://www.infogrips.ch/geoshop/user/"/>
</output>
</operation>
<operation name="getProductDefinition">
<soap:operation soapAction=""/>
<input name="getProductDefinitionRequest">
<soap:body
use="literal"
namespace="http://www.infogrips.ch/geoshop/user/"/>
</input>
<output name="getProductDefinitionResponse">
<soap:body
use="literal"
namespace="http://www.infogrips.ch/geoshop/user/"/>
</output>
</operation>
</binding>
<service name="UserService">
<documentation>
User service for GeoShop Server
</documentation>
<port name="GeoShopPort" binding="tns:UserServiceBinding">
<soap:address location=
"http://localhost:3501/soap/UserService.igs"
/>
</port>
</service>
</definitions>