<wsdl:definitions xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:plink="http://schemas.xmlsoap.org/ws/2003/05/partner-link/" xmlns:wsdlsoap11="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdlsoap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap11enc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap11env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap12env="http://www.w3.org/2003/05/soap-envelope" xmlns:soap12enc="http://www.w3.org/2003/05/soap-encoding" xmlns:wsa="http://schemas.xmlsoap.org/ws/2003/03/addressing" xmlns:xop="http://www.w3.org/2004/08/xop/include" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:tns="garda.doorman.v1.soap" xmlns:s0="spyne.model.primitive.string" targetNamespace="garda.doorman.v1.soap" name="doorman">
  <wsdl:types>
    <xs:schema targetNamespace="garda.doorman.v1.soap" elementFormDefault="qualified">
      <xs:import namespace="spyne.model.primitive.string"/>
      <xs:element name="FlaskResponse" type="tns:FlaskResponse"/>
      <xs:element name="authorize_req" type="tns:authorize_req"/>
      <xs:element name="authorize_resp" type="tns:authorize_resp"/>
      <xs:element name="check_pin_req" type="tns:check_pin_req"/>
      <xs:element name="check_pin_resp" type="tns:check_pin_resp"/>
      <xs:element name="get_roadmap_version_label_req" type="tns:get_roadmap_version_label_req"/>
      <xs:element name="get_roadmap_version_label_resp" type="tns:get_roadmap_version_label_resp"/>
      <xs:element name="get_version_req" type="tns:get_version_req"/>
      <xs:element name="get_version_resp" type="tns:get_version_resp"/>
      <xs:element name="has_pin_req" type="tns:has_pin_req"/>
      <xs:element name="has_pin_resp" type="tns:has_pin_resp"/>
      <xs:element name="info" type="tns:info"/>
      <xs:element name="infoResponse" type="tns:infoResponse"/>
      <xs:element name="login_req" type="tns:login_req"/>
      <xs:element name="login_resp" type="tns:login_resp"/>
      <xs:element name="logout_req" type="tns:logout_req"/>
      <xs:element name="logout_resp" type="tns:logout_resp"/>
      <xs:element name="set_context_req" type="tns:set_context_req"/>
      <xs:element name="set_context_resp" type="tns:set_context_resp"/>
      <xs:element name="set_language_req" type="tns:set_language_req"/>
      <xs:element name="set_language_resp" type="tns:set_language_resp"/>
      <xs:element name="set_pin_req" type="tns:set_pin_req"/>
      <xs:element name="set_pin_resp" type="tns:set_pin_resp"/>
      <xs:element name="validate_account_req" type="tns:validate_account_req"/>
      <xs:element name="validate_account_resp" type="tns:validate_account_resp"/>
      <xs:complexType name="FlaskResponse">
        <xs:sequence>
          <xs:element name="response" type="xs:string" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="authorize_req">
        <xs:sequence>
          <xs:element name="authorization_code" type="s0:MandatoryString"/>
          <xs:element name="code_verifier" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="appname" type="xs:string" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="authorize_resp">
        <xs:sequence>
          <xs:element name="item" type="tns:FlaskResponse" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="check_pin_req">
        <xs:sequence>
          <xs:element name="token" type="s0:MandatoryString"/>
          <xs:element name="pin" type="s0:MandatoryString"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="check_pin_resp">
        <xs:sequence>
          <xs:element name="item" type="tns:FlaskResponse" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="get_roadmap_version_label_req">
        <xs:sequence>
          <xs:element name="token" type="s0:MandatoryString"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="get_roadmap_version_label_resp">
        <xs:sequence>
          <xs:element name="item" type="tns:FlaskResponse" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="get_version_req">
        <xs:sequence>
          <xs:element name="token" type="xs:string" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="get_version_resp">
        <xs:sequence>
          <xs:element name="item" type="tns:FlaskResponse" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="has_pin_req">
        <xs:sequence>
          <xs:element name="token" type="s0:MandatoryString"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="has_pin_resp">
        <xs:sequence>
          <xs:element name="item" type="tns:FlaskResponse" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="info"/>
      <xs:complexType name="infoResponse"/>
      <xs:complexType name="login_req">
        <xs:sequence>
          <xs:element name="username" type="s0:MandatoryString"/>
          <xs:element name="password" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="appname" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="username_alias" type="xs:string" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="login_resp">
        <xs:sequence>
          <xs:element name="item" type="tns:FlaskResponse" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="logout_req">
        <xs:sequence>
          <xs:element name="token" type="s0:MandatoryString"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="logout_resp">
        <xs:sequence>
          <xs:element name="item" type="tns:FlaskResponse" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="set_context_req">
        <xs:sequence>
          <xs:element name="token" type="s0:MandatoryString"/>
          <xs:element name="appname" type="xs:string" minOccurs="0" nillable="true"/>
          <xs:element name="branch" type="xs:string" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="set_context_resp">
        <xs:sequence>
          <xs:element name="item" type="tns:FlaskResponse" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="set_language_req">
        <xs:sequence>
          <xs:element name="token" type="s0:MandatoryString"/>
          <xs:element name="language_code" type="s0:MandatoryString"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="set_language_resp">
        <xs:sequence>
          <xs:element name="item" type="tns:FlaskResponse" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="set_pin_req">
        <xs:sequence>
          <xs:element name="token" type="s0:MandatoryString"/>
          <xs:element name="pin" type="s0:MandatoryString"/>
          <xs:element name="password" type="s0:MandatoryString"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="set_pin_resp">
        <xs:sequence>
          <xs:element name="item" type="tns:FlaskResponse" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="validate_account_req">
        <xs:sequence>
          <xs:element name="username" type="s0:MandatoryString"/>
        </xs:sequence>
      </xs:complexType>
      <xs:complexType name="validate_account_resp">
        <xs:sequence>
          <xs:element name="item" type="tns:FlaskResponse" minOccurs="0" nillable="true"/>
        </xs:sequence>
      </xs:complexType>
    </xs:schema>
    <xs:schema targetNamespace="spyne.model.primitive.string" elementFormDefault="qualified">
      <xs:simpleType name="MandatoryString">
        <xs:restriction base="xs:string">
          <xs:minLength value="1"/>
        </xs:restriction>
      </xs:simpleType>
    </xs:schema>
  </wsdl:types>
  <wsdl:message name="authorize_req">
    <wsdl:part name="authorize_req" element="tns:authorize_req"/>
  </wsdl:message>
  <wsdl:message name="authorize_resp">
    <wsdl:part name="authorize_resp" element="tns:authorize_resp"/>
  </wsdl:message>
  <wsdl:message name="check_pin_req">
    <wsdl:part name="check_pin_req" element="tns:check_pin_req"/>
  </wsdl:message>
  <wsdl:message name="check_pin_resp">
    <wsdl:part name="check_pin_resp" element="tns:check_pin_resp"/>
  </wsdl:message>
  <wsdl:message name="get_roadmap_version_label_req">
    <wsdl:part name="get_roadmap_version_label_req" element="tns:get_roadmap_version_label_req"/>
  </wsdl:message>
  <wsdl:message name="get_roadmap_version_label_resp">
    <wsdl:part name="get_roadmap_version_label_resp" element="tns:get_roadmap_version_label_resp"/>
  </wsdl:message>
  <wsdl:message name="get_version_req">
    <wsdl:part name="get_version_req" element="tns:get_version_req"/>
  </wsdl:message>
  <wsdl:message name="get_version_resp">
    <wsdl:part name="get_version_resp" element="tns:get_version_resp"/>
  </wsdl:message>
  <wsdl:message name="has_pin_req">
    <wsdl:part name="has_pin_req" element="tns:has_pin_req"/>
  </wsdl:message>
  <wsdl:message name="has_pin_resp">
    <wsdl:part name="has_pin_resp" element="tns:has_pin_resp"/>
  </wsdl:message>
  <wsdl:message name="info">
    <wsdl:part name="info" element="tns:info"/>
  </wsdl:message>
  <wsdl:message name="infoResponse">
    <wsdl:part name="infoResponse" element="tns:infoResponse"/>
  </wsdl:message>
  <wsdl:message name="login_req">
    <wsdl:part name="login_req" element="tns:login_req"/>
  </wsdl:message>
  <wsdl:message name="login_resp">
    <wsdl:part name="login_resp" element="tns:login_resp"/>
  </wsdl:message>
  <wsdl:message name="logout_req">
    <wsdl:part name="logout_req" element="tns:logout_req"/>
  </wsdl:message>
  <wsdl:message name="logout_resp">
    <wsdl:part name="logout_resp" element="tns:logout_resp"/>
  </wsdl:message>
  <wsdl:message name="set_context_req">
    <wsdl:part name="set_context_req" element="tns:set_context_req"/>
  </wsdl:message>
  <wsdl:message name="set_context_resp">
    <wsdl:part name="set_context_resp" element="tns:set_context_resp"/>
  </wsdl:message>
  <wsdl:message name="set_language_req">
    <wsdl:part name="set_language_req" element="tns:set_language_req"/>
  </wsdl:message>
  <wsdl:message name="set_language_resp">
    <wsdl:part name="set_language_resp" element="tns:set_language_resp"/>
  </wsdl:message>
  <wsdl:message name="set_pin_req">
    <wsdl:part name="set_pin_req" element="tns:set_pin_req"/>
  </wsdl:message>
  <wsdl:message name="set_pin_resp">
    <wsdl:part name="set_pin_resp" element="tns:set_pin_resp"/>
  </wsdl:message>
  <wsdl:message name="validate_account_req">
    <wsdl:part name="validate_account_req" element="tns:validate_account_req"/>
  </wsdl:message>
  <wsdl:message name="validate_account_resp">
    <wsdl:part name="validate_account_resp" element="tns:validate_account_resp"/>
  </wsdl:message>
  <wsdl:service name="DoormanService">
    <wsdl:port name="doorman" binding="tns:doorman">
      <wsdlsoap11:address location="https://uat.doorman.ss.garda.com/api"/>
    </wsdl:port>
  </wsdl:service>
  <wsdl:portType name="doorman">
    <wsdl:operation name="authorize" parameterOrder="authorize_req">
      <wsdl:documentation>Validate the given code and create session

        Request parameters:
            authorization_code (str): OAuth 2.0 authorization code.
            code_verifier (str): OAuth 2.0 code verifier.
            appname (str): Name of the client application.

        Response data payload:
            {
                "token": "string",
                "profile": {
                    "fullname": "John L. Ennon",
                    "language": "string"
                },
                "endpoints": [
                    {
                        "appname": "string",
                        "label": "human-readable string",
                        "branches": [
                            {
                                "name": "string",
                                "url": "string",
                                "label": "human-readable string",
                                "api_version": "string"
                            }
                        ]
                    }
                ]
            }

        If appname is given, it will be saved in the session.
        If appname is 'gui', groups will be parsed to determine permissions
        which will be saved in the session and used by following requests.

        "endpoints" may be an empty array; "profile" may have different forms:
            "profile": {"fullname': None}
            "profile": {"fullname': ""}
            "profile": {"fullname': "John L. Ennon", "language": "fr"}

        Note that the list of branches is now obsolete, but kept for
        compatibility.  There is always just one branch, 'click-here'.

        Errors:
            BadRequest: Error in parameters.
            Unauthorized: Bad account configuration.
            Forbidden: User not authorized for app.
            NotFound: Resource (session, etc.) not found.</wsdl:documentation>
      <wsdl:input name="authorize_req" message="tns:authorize_req"/>
      <wsdl:output name="authorize_resp" message="tns:authorize_resp"/>
    </wsdl:operation>
    <wsdl:operation name="check_pin" parameterOrder="check_pin_req">
      <wsdl:documentation>No documentation.</wsdl:documentation>
      <wsdl:input name="check_pin_req" message="tns:check_pin_req"/>
      <wsdl:output name="check_pin_resp" message="tns:check_pin_resp"/>
    </wsdl:operation>
    <wsdl:operation name="get_roadmap_version_label" parameterOrder="get_roadmap_version_label_req">
      <wsdl:documentation>No documentation.</wsdl:documentation>
      <wsdl:input name="get_roadmap_version_label_req" message="tns:get_roadmap_version_label_req"/>
      <wsdl:output name="get_roadmap_version_label_resp" message="tns:get_roadmap_version_label_resp"/>
    </wsdl:operation>
    <wsdl:operation name="get_version" parameterOrder="get_version_req">
      <wsdl:documentation>No documentation.</wsdl:documentation>
      <wsdl:input name="get_version_req" message="tns:get_version_req"/>
      <wsdl:output name="get_version_resp" message="tns:get_version_resp"/>
    </wsdl:operation>
    <wsdl:operation name="has_pin" parameterOrder="has_pin_req">
      <wsdl:documentation>No documentation.</wsdl:documentation>
      <wsdl:input name="has_pin_req" message="tns:has_pin_req"/>
      <wsdl:output name="has_pin_resp" message="tns:has_pin_resp"/>
    </wsdl:operation>
    <wsdl:operation name="info" parameterOrder="info">
      <wsdl:documentation>Doorman service.

    Note: This is not a method, just a placeholder for
          general documentation in the WSDL file.

    Data types for request parameters:

        string: UTF-8 encoded string
        str: alias for string
        date: string with ISO/W3C format 2015-01-30
        time: string, format 12:30 or 12:30:42
        datetime: string, format 2015-01-30T12:00:00Z, with timezone
        local datetime: string, format 2015-01-30T12:00:00, without timezone
                        (used for times in the user local timezone)
        list: string, JSON array format [value, ...]
        dict: string, JSON object format {"key": value, ...}
        none: JSON null, or omit parameter

    Standard payload for all responses:

        {
          "timestamp": "datetime",
          "success": true,
          "data": &lt;response data payload&gt;
        }


    If an error happened:

        {
          "timestamp": "date/time",
          "success": false,
          "error": {
            "code": number,
            "label": "string",
            "message": "string that can be displayed to user"
          },
          "data": &lt;null or payload&gt;
        }

    Error codes and labels:

        400 "Bad Request": generic client error
        401 "Unauthorized": invalid credentials or missing token
        403 "Forbidden": token not allowed for requested app or branch
        404 "Not Found": resource or data not found, deleted or expired
        409 "Conflict": impossible to accept create/update
        500 "Internal Server Error": unexpected server error
    </wsdl:documentation>
      <wsdl:input name="info" message="tns:info"/>
      <wsdl:output name="infoResponse" message="tns:infoResponse"/>
    </wsdl:operation>
    <wsdl:operation name="login" parameterOrder="login_req">
      <wsdl:documentation>Login user.

        Documentation:
            https://gardaworld.atlassian.net/l/c/vNxjN1iA

        Request parameters:
            username (str): Username (email address).
            password (str): Password.
            appname (str): Name of the client application.
            username_alias (str): Alias to use instead of the username.

        Response data payload:
            {
                "token": "string",
                "profile": {
                    "fullname": "John L. Ennon",
                    "language": "string"
                },
                "endpoints": [
                    {
                        "appname": "string",
                        "label": "human-readable string",
                        "branches": [
                            {
                                "name": "string",
                                "url": "string",
                                "label": "human-readable string",
                                "api_version": "string"
                            }
                        ]
                    }
                ]
            }

        If appname is given, it will be saved in the session.
        If appname is 'gui', groups will be parsed to determine permissions
        which will be saved in the session and used by following requests.

        "endpoints" may be an empty array; "profile" may have different forms:
            "profile": {"fullname': None}
            "profile": {"fullname': ""}
            "profile": {"fullname': "John L. Ennon", "language": "fr"}

        Note that the list of branches is now obsolete, but kept for
        compatibility.  There is always just one branch, 'click-here'.

        Errors:
            BadRequest: Error in parameters.
            Unauthorized: Invalid credentials or bad account configuration.
            Forbidden: User not authorized for app.
            NotFound: Resource (session, etc.) not found.</wsdl:documentation>
      <wsdl:input name="login_req" message="tns:login_req"/>
      <wsdl:output name="login_resp" message="tns:login_resp"/>
    </wsdl:operation>
    <wsdl:operation name="logout" parameterOrder="logout_req">
      <wsdl:documentation>Logout user.

        Request parameters:
            token (str): Authentication token.

        Response data payload:
            dict: {"logout": true}

        Errors:
            BadRequest: Error in parameters.</wsdl:documentation>
      <wsdl:input name="logout_req" message="tns:logout_req"/>
      <wsdl:output name="logout_resp" message="tns:logout_resp"/>
    </wsdl:operation>
    <wsdl:operation name="set_context" parameterOrder="set_context_req">
      <wsdl:documentation>Set session context.

        Request parameters:
            token (str): Authentication token.
            appname (str/none): Application name.
            branch (str): Ignored param kept for compat.

        Notes:
            If you don't pass a value for appname, None will be used.  This is
            used to reset the session, i.e. to cause a new selection of app.

        Response data payload: dict (see login doc).

        Errors:
            BadRequest: Error in parameters.
            NotFound: Session not found.</wsdl:documentation>
      <wsdl:input name="set_context_req" message="tns:set_context_req"/>
      <wsdl:output name="set_context_resp" message="tns:set_context_resp"/>
    </wsdl:operation>
    <wsdl:operation name="set_language" parameterOrder="set_language_req">
      <wsdl:documentation>Set session language.

        Request parameters:
            token (str): Authentication token.
            language_code (str): Language to use in the session.

        Response data payload:
            dict: with the language, ex: {'language_code': 'en'}</wsdl:documentation>
      <wsdl:input name="set_language_req" message="tns:set_language_req"/>
      <wsdl:output name="set_language_resp" message="tns:set_language_resp"/>
    </wsdl:operation>
    <wsdl:operation name="set_pin" parameterOrder="set_pin_req">
      <wsdl:documentation>No documentation.</wsdl:documentation>
      <wsdl:input name="set_pin_req" message="tns:set_pin_req"/>
      <wsdl:output name="set_pin_resp" message="tns:set_pin_resp"/>
    </wsdl:operation>
    <wsdl:operation name="validate_account" parameterOrder="validate_account_req">
      <wsdl:documentation>Redirect the user for login with the appropriate app and get a valid token</wsdl:documentation>
      <wsdl:input name="validate_account_req" message="tns:validate_account_req"/>
      <wsdl:output name="validate_account_resp" message="tns:validate_account_resp"/>
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="doorman" type="tns:doorman">
    <wsdlsoap11:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="authorize">
      <wsdlsoap11:operation soapAction="authorize" style="document"/>
      <wsdl:input name="authorize_req">
        <wsdlsoap11:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="authorize_resp">
        <wsdlsoap11:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="check_pin">
      <wsdlsoap11:operation soapAction="check_pin" style="document"/>
      <wsdl:input name="check_pin_req">
        <wsdlsoap11:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="check_pin_resp">
        <wsdlsoap11:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="get_roadmap_version_label">
      <wsdlsoap11:operation soapAction="get_roadmap_version_label" style="document"/>
      <wsdl:input name="get_roadmap_version_label_req">
        <wsdlsoap11:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="get_roadmap_version_label_resp">
        <wsdlsoap11:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="get_version">
      <wsdlsoap11:operation soapAction="get_version" style="document"/>
      <wsdl:input name="get_version_req">
        <wsdlsoap11:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="get_version_resp">
        <wsdlsoap11:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="has_pin">
      <wsdlsoap11:operation soapAction="has_pin" style="document"/>
      <wsdl:input name="has_pin_req">
        <wsdlsoap11:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="has_pin_resp">
        <wsdlsoap11:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="info">
      <wsdlsoap11:operation soapAction="info" style="document"/>
      <wsdl:input name="info">
        <wsdlsoap11:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="infoResponse">
        <wsdlsoap11:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="login">
      <wsdlsoap11:operation soapAction="login" style="document"/>
      <wsdl:input name="login_req">
        <wsdlsoap11:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="login_resp">
        <wsdlsoap11:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="logout">
      <wsdlsoap11:operation soapAction="logout" style="document"/>
      <wsdl:input name="logout_req">
        <wsdlsoap11:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="logout_resp">
        <wsdlsoap11:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="set_context">
      <wsdlsoap11:operation soapAction="set_context" style="document"/>
      <wsdl:input name="set_context_req">
        <wsdlsoap11:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="set_context_resp">
        <wsdlsoap11:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="set_language">
      <wsdlsoap11:operation soapAction="set_language" style="document"/>
      <wsdl:input name="set_language_req">
        <wsdlsoap11:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="set_language_resp">
        <wsdlsoap11:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="set_pin">
      <wsdlsoap11:operation soapAction="set_pin" style="document"/>
      <wsdl:input name="set_pin_req">
        <wsdlsoap11:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="set_pin_resp">
        <wsdlsoap11:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="validate_account">
      <wsdlsoap11:operation soapAction="validate_account" style="document"/>
      <wsdl:input name="validate_account_req">
        <wsdlsoap11:body use="literal"/>
      </wsdl:input>
      <wsdl:output name="validate_account_resp">
        <wsdlsoap11:body use="literal"/>
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
</wsdl:definitions>
