
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns1="http://org.apache.axis2/xsd" xmlns:ax2319="http://oauth2.identity.carbon.wso2.org/xsd" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:tns="http://oauth2.identity.carbon.wso2.org" xmlns:ax2321="http://api.user.carbon.wso2.org/xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:ax2317="http://dto.oauth2.identity.carbon.wso2.org/xsd" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://oauth2.identity.carbon.wso2.org">
    <wsdl:documentation>OAuth2Service</wsdl:documentation>
    <wsdl:types>
        <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://api.user.carbon.wso2.org/xsd">
            <xs:complexType name="Claim">
                <xs:sequence>
                    <xs:element minOccurs="0" name="checkedAttribute" type="xs:boolean"></xs:element>
                    <xs:element minOccurs="0" name="claimUri" nillable="true" type="xs:string"></xs:element>
                    <xs:element minOccurs="0" name="description" nillable="true" type="xs:string"></xs:element>
                    <xs:element minOccurs="0" name="dialectURI" nillable="true" type="xs:string"></xs:element>
                    <xs:element minOccurs="0" name="displayOrder" type="xs:int"></xs:element>
                    <xs:element minOccurs="0" name="displayTag" nillable="true" type="xs:string"></xs:element>
                    <xs:element minOccurs="0" name="readOnly" type="xs:boolean"></xs:element>
                    <xs:element minOccurs="0" name="regEx" nillable="true" type="xs:string"></xs:element>
                    <xs:element minOccurs="0" name="required" type="xs:boolean"></xs:element>
                    <xs:element minOccurs="0" name="supportedByDefault" type="xs:boolean"></xs:element>
                    <xs:element minOccurs="0" name="value" nillable="true" type="xs:string"></xs:element>
                </xs:sequence>
            </xs:complexType>
        </xs:schema>
        <xs:schema xmlns:ax2322="http://api.user.carbon.wso2.org/xsd" xmlns:ns="http://org.apache.axis2/xsd" xmlns:ax2318="http://dto.oauth2.identity.carbon.wso2.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://org.apache.axis2/xsd">
            <xs:import namespace="http://dto.oauth2.identity.carbon.wso2.org/xsd"></xs:import>
            <xs:import namespace="http://api.user.carbon.wso2.org/xsd"></xs:import>
            <xs:element name="validateClientInfo">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="clientId" nillable="true" type="xs:string"></xs:element>
                        <xs:element minOccurs="0" name="callbackURI" nillable="true" type="xs:string"></xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="validateClientInfoResponse">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="return" nillable="true" type="ax2317:OAuth2ClientValidationResponseDTO"></xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="revokeTokenByOAuthClient">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="revokeRequestDTO" nillable="true" type="ax2317:OAuthRevocationRequestDTO"></xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="revokeTokenByOAuthClientResponse">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="return" nillable="true" type="ax2317:OAuthRevocationResponseDTO"></xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="issueAccessToken">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="tokenReqDTO" nillable="true" type="ax2317:OAuth2AccessTokenReqDTO"></xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="issueAccessTokenResponse">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="return" nillable="true" type="ax2317:OAuth2AccessTokenRespDTO"></xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="getUserClaims">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="accessToken" nillable="true" type="xs:string"></xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="getUserClaimsResponse">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax2321:Claim"></xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="authorize">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="oAuth2AuthorizeReqDTO" nillable="true" type="ax2317:OAuth2AuthorizeReqDTO"></xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="authorizeResponse">
                <xs:complexType>
                    <xs:sequence>
                        <xs:element minOccurs="0" name="return" nillable="true" type="ax2317:OAuth2AuthorizeRespDTO"></xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
        </xs:schema>
        <xs:schema xmlns:ax2320="http://oauth2.identity.carbon.wso2.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://dto.oauth2.identity.carbon.wso2.org/xsd">
            <xs:import namespace="http://oauth2.identity.carbon.wso2.org/xsd"></xs:import>
            <xs:complexType name="OAuth2ClientValidationResponseDTO">
                <xs:sequence>
                    <xs:element minOccurs="0" name="applicationName" nillable="true" type="xs:string"></xs:element>
                    <xs:element minOccurs="0" name="callbackURL" nillable="true" type="xs:string"></xs:element>
                    <xs:element minOccurs="0" name="errorCode" nillable="true" type="xs:string"></xs:element>
                    <xs:element minOccurs="0" name="errorMsg" nillable="true" type="xs:string"></xs:element>
                    <xs:element minOccurs="0" name="validClient" type="xs:boolean"></xs:element>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="OAuthRevocationRequestDTO">
                <xs:sequence>
                    <xs:element minOccurs="0" name="authzUser" nillable="true" type="xs:string"></xs:element>
                    <xs:element minOccurs="0" name="consumerKey" nillable="true" type="xs:string"></xs:element>
                    <xs:element minOccurs="0" name="consumerSecret" nillable="true" type="xs:string"></xs:element>
                    <xs:element minOccurs="0" name="token" nillable="true" type="xs:string"></xs:element>
                    <xs:element minOccurs="0" name="token_type" nillable="true" type="xs:string"></xs:element>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="OAuthRevocationResponseDTO">
                <xs:sequence>
                    <xs:element minOccurs="0" name="error" type="xs:boolean"></xs:element>
                    <xs:element minOccurs="0" name="errorCode" nillable="true" type="xs:string"></xs:element>
                    <xs:element minOccurs="0" name="errorMsg" nillable="true" type="xs:string"></xs:element>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="OAuth2AccessTokenReqDTO">
                <xs:sequence>
                    <xs:element minOccurs="0" name="assertion" nillable="true" type="xs:string"></xs:element>
                    <xs:element minOccurs="0" name="authorizationCode" nillable="true" type="xs:string"></xs:element>
                    <xs:element minOccurs="0" name="callbackURI" nillable="true" type="xs:string"></xs:element>
                    <xs:element minOccurs="0" name="clientAssertion" nillable="true" type="xs:string"></xs:element>
                    <xs:element minOccurs="0" name="clientAssertionType" nillable="true" type="xs:string"></xs:element>
                    <xs:element minOccurs="0" name="clientId" nillable="true" type="xs:string"></xs:element>
                    <xs:element minOccurs="0" name="clientSecret" nillable="true" type="xs:string"></xs:element>
                    <xs:element minOccurs="0" name="grantType" nillable="true" type="xs:string"></xs:element>
                    <xs:element minOccurs="0" name="idp" nillable="true" type="xs:string"></xs:element>
                    <xs:element minOccurs="0" name="refreshToken" nillable="true" type="xs:string"></xs:element>
                    <xs:element minOccurs="0" name="resourceOwnerPassword" nillable="true" type="xs:string"></xs:element>
                    <xs:element minOccurs="0" name="resourceOwnerUsername" nillable="true" type="xs:string"></xs:element>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="scope" nillable="true" type="xs:string"></xs:element>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="OAuth2AccessTokenRespDTO">
                <xs:sequence>
                    <xs:element minOccurs="0" name="IDToken" nillable="true" type="xs:string"></xs:element>
                    <xs:element minOccurs="0" name="accessToken" nillable="true" type="xs:string"></xs:element>
                    <xs:element minOccurs="0" name="callbackURI" nillable="true" type="xs:string"></xs:element>
                    <xs:element minOccurs="0" name="error" type="xs:boolean"></xs:element>
                    <xs:element minOccurs="0" name="errorCode" nillable="true" type="xs:string"></xs:element>
                    <xs:element minOccurs="0" name="errorMsg" nillable="true" type="xs:string"></xs:element>
                    <xs:element minOccurs="0" name="expiresIn" type="xs:long"></xs:element>
                    <xs:element minOccurs="0" name="expiresInMillis" type="xs:long"></xs:element>
                    <xs:element minOccurs="0" name="refreshToken" nillable="true" type="xs:string"></xs:element>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="respHeaders" nillable="true" type="ax2319:ResponseHeader"></xs:element>
                    <xs:element minOccurs="0" name="tokenType" nillable="true" type="xs:string"></xs:element>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="OAuth2AuthorizeReqDTO">
                <xs:sequence>
                    <xs:element minOccurs="0" name="callbackUrl" nillable="true" type="xs:string"></xs:element>
                    <xs:element minOccurs="0" name="consumerKey" nillable="true" type="xs:string"></xs:element>
                    <xs:element minOccurs="0" name="password" nillable="true" type="xs:string"></xs:element>
                    <xs:element minOccurs="0" name="responseType" nillable="true" type="xs:string"></xs:element>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="scopes" nillable="true" type="xs:string"></xs:element>
                    <xs:element minOccurs="0" name="username" nillable="true" type="xs:string"></xs:element>
                </xs:sequence>
            </xs:complexType>
            <xs:complexType name="OAuth2AuthorizeRespDTO">
                <xs:sequence>
                    <xs:element minOccurs="0" name="accessToken" nillable="true" type="xs:string"></xs:element>
                    <xs:element minOccurs="0" name="authorizationCode" nillable="true" type="xs:string"></xs:element>
                    <xs:element minOccurs="0" name="callbackURI" nillable="true" type="xs:string"></xs:element>
                    <xs:element minOccurs="0" name="errorCode" nillable="true" type="xs:string"></xs:element>
                    <xs:element minOccurs="0" name="errorMsg" nillable="true" type="xs:string"></xs:element>
                    <xs:element maxOccurs="unbounded" minOccurs="0" name="scope" nillable="true" type="xs:string"></xs:element>
                    <xs:element minOccurs="0" name="validityPeriod" type="xs:long"></xs:element>
                </xs:sequence>
            </xs:complexType>
        </xs:schema>
        <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://oauth2.identity.carbon.wso2.org/xsd">
            <xs:complexType name="ResponseHeader">
                <xs:sequence>
                    <xs:element minOccurs="0" name="key" nillable="true" type="xs:string"></xs:element>
                    <xs:element minOccurs="0" name="value" nillable="true" type="xs:string"></xs:element>
                </xs:sequence>
            </xs:complexType>
        </xs:schema>
    </wsdl:types>
    <wsdl:message name="issueAccessTokenRequest">
        <wsdl:part name="parameters" element="ns1:issueAccessToken"></wsdl:part>
    </wsdl:message>
    <wsdl:message name="issueAccessTokenResponse">
        <wsdl:part name="parameters" element="ns1:issueAccessTokenResponse"></wsdl:part>
    </wsdl:message>
    <wsdl:message name="getUserClaimsRequest">
        <wsdl:part name="parameters" element="ns1:getUserClaims"></wsdl:part>
    </wsdl:message>
    <wsdl:message name="getUserClaimsResponse">
        <wsdl:part name="parameters" element="ns1:getUserClaimsResponse"></wsdl:part>
    </wsdl:message>
    <wsdl:message name="authorizeRequest">
        <wsdl:part name="parameters" element="ns1:authorize"></wsdl:part>
    </wsdl:message>
    <wsdl:message name="authorizeResponse">
        <wsdl:part name="parameters" element="ns1:authorizeResponse"></wsdl:part>
    </wsdl:message>
    <wsdl:message name="validateClientInfoRequest">
        <wsdl:part name="parameters" element="ns1:validateClientInfo"></wsdl:part>
    </wsdl:message>
    <wsdl:message name="validateClientInfoResponse">
        <wsdl:part name="parameters" element="ns1:validateClientInfoResponse"></wsdl:part>
    </wsdl:message>
    <wsdl:message name="revokeTokenByOAuthClientRequest">
        <wsdl:part name="parameters" element="ns1:revokeTokenByOAuthClient"></wsdl:part>
    </wsdl:message>
    <wsdl:message name="revokeTokenByOAuthClientResponse">
        <wsdl:part name="parameters" element="ns1:revokeTokenByOAuthClientResponse"></wsdl:part>
    </wsdl:message>
    <wsdl:portType name="OAuth2ServicePortType">
        <wsdl:operation name="issueAccessToken">
            <wsdl:input message="tns:issueAccessTokenRequest" wsaw:Action="urn:issueAccessToken"></wsdl:input>
            <wsdl:output message="tns:issueAccessTokenResponse" wsaw:Action="urn:issueAccessTokenResponse"></wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="getUserClaims">
            <wsdl:input message="tns:getUserClaimsRequest" wsaw:Action="urn:getUserClaims"></wsdl:input>
            <wsdl:output message="tns:getUserClaimsResponse" wsaw:Action="urn:getUserClaimsResponse"></wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="authorize">
            <wsdl:input message="tns:authorizeRequest" wsaw:Action="urn:authorize"></wsdl:input>
            <wsdl:output message="tns:authorizeResponse" wsaw:Action="urn:authorizeResponse"></wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="validateClientInfo">
            <wsdl:input message="tns:validateClientInfoRequest" wsaw:Action="urn:validateClientInfo"></wsdl:input>
            <wsdl:output message="tns:validateClientInfoResponse" wsaw:Action="urn:validateClientInfoResponse"></wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="revokeTokenByOAuthClient">
            <wsdl:input message="tns:revokeTokenByOAuthClientRequest" wsaw:Action="urn:revokeTokenByOAuthClient"></wsdl:input>
            <wsdl:output message="tns:revokeTokenByOAuthClientResponse" wsaw:Action="urn:revokeTokenByOAuthClientResponse"></wsdl:output>
        </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="OAuth2ServiceSoap11Binding" type="tns:OAuth2ServicePortType">
        <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"></soap:binding>
        <wsdl:operation name="issueAccessToken">
            <soap:operation soapAction="urn:issueAccessToken" style="document"></soap:operation>
            <wsdl:input>
                <soap:body use="literal"></soap:body>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal"></soap:body>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="getUserClaims">
            <soap:operation soapAction="urn:getUserClaims" style="document"></soap:operation>
            <wsdl:input>
                <soap:body use="literal"></soap:body>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal"></soap:body>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="authorize">
            <soap:operation soapAction="urn:authorize" style="document"></soap:operation>
            <wsdl:input>
                <soap:body use="literal"></soap:body>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal"></soap:body>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="validateClientInfo">
            <soap:operation soapAction="urn:validateClientInfo" style="document"></soap:operation>
            <wsdl:input>
                <soap:body use="literal"></soap:body>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal"></soap:body>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="revokeTokenByOAuthClient">
            <soap:operation soapAction="urn:revokeTokenByOAuthClient" style="document"></soap:operation>
            <wsdl:input>
                <soap:body use="literal"></soap:body>
            </wsdl:input>
            <wsdl:output>
                <soap:body use="literal"></soap:body>
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>
    <wsdl:binding name="OAuth2ServiceSoap12Binding" type="tns:OAuth2ServicePortType">
        <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"></soap12:binding>
        <wsdl:operation name="issueAccessToken">
            <soap12:operation soapAction="urn:issueAccessToken" style="document"></soap12:operation>
            <wsdl:input>
                <soap12:body use="literal"></soap12:body>
            </wsdl:input>
            <wsdl:output>
                <soap12:body use="literal"></soap12:body>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="getUserClaims">
            <soap12:operation soapAction="urn:getUserClaims" style="document"></soap12:operation>
            <wsdl:input>
                <soap12:body use="literal"></soap12:body>
            </wsdl:input>
            <wsdl:output>
                <soap12:body use="literal"></soap12:body>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="authorize">
            <soap12:operation soapAction="urn:authorize" style="document"></soap12:operation>
            <wsdl:input>
                <soap12:body use="literal"></soap12:body>
            </wsdl:input>
            <wsdl:output>
                <soap12:body use="literal"></soap12:body>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="validateClientInfo">
            <soap12:operation soapAction="urn:validateClientInfo" style="document"></soap12:operation>
            <wsdl:input>
                <soap12:body use="literal"></soap12:body>
            </wsdl:input>
            <wsdl:output>
                <soap12:body use="literal"></soap12:body>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="revokeTokenByOAuthClient">
            <soap12:operation soapAction="urn:revokeTokenByOAuthClient" style="document"></soap12:operation>
            <wsdl:input>
                <soap12:body use="literal"></soap12:body>
            </wsdl:input>
            <wsdl:output>
                <soap12:body use="literal"></soap12:body>
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>
    <wsdl:binding name="OAuth2ServiceHttpBinding" type="tns:OAuth2ServicePortType">
        <http:binding verb="POST"></http:binding>
        <wsdl:operation name="issueAccessToken">
            <http:operation location="issueAccessToken"></http:operation>
            <wsdl:input>
                <mime:content type="text/xml" part="parameters"></mime:content>
            </wsdl:input>
            <wsdl:output>
                <mime:content type="text/xml" part="parameters"></mime:content>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="getUserClaims">
            <http:operation location="getUserClaims"></http:operation>
            <wsdl:input>
                <mime:content type="text/xml" part="parameters"></mime:content>
            </wsdl:input>
            <wsdl:output>
                <mime:content type="text/xml" part="parameters"></mime:content>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="authorize">
            <http:operation location="authorize"></http:operation>
            <wsdl:input>
                <mime:content type="text/xml" part="parameters"></mime:content>
            </wsdl:input>
            <wsdl:output>
                <mime:content type="text/xml" part="parameters"></mime:content>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="validateClientInfo">
            <http:operation location="validateClientInfo"></http:operation>
            <wsdl:input>
                <mime:content type="text/xml" part="parameters"></mime:content>
            </wsdl:input>
            <wsdl:output>
                <mime:content type="text/xml" part="parameters"></mime:content>
            </wsdl:output>
        </wsdl:operation>
        <wsdl:operation name="revokeTokenByOAuthClient">
            <http:operation location="revokeTokenByOAuthClient"></http:operation>
            <wsdl:input>
                <mime:content type="text/xml" part="parameters"></mime:content>
            </wsdl:input>
            <wsdl:output>
                <mime:content type="text/xml" part="parameters"></mime:content>
            </wsdl:output>
        </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="OAuth2Service">
        <wsdl:port name="OAuth2ServiceHttpsSoap11Endpoint" binding="tns:OAuth2ServiceSoap11Binding">
            <soap:address location="https://localhost:9443/services/OAuth2Service.OAuth2ServiceHttpsSoap11Endpoint/"></soap:address>
        </wsdl:port>
        <wsdl:port name="OAuth2ServiceHttpsSoap12Endpoint" binding="tns:OAuth2ServiceSoap12Binding">
            <soap12:address location="https://localhost:9443/services/OAuth2Service.OAuth2ServiceHttpsSoap12Endpoint/"></soap12:address>
        </wsdl:port>
        <wsdl:port name="OAuth2ServiceHttpsEndpoint" binding="tns:OAuth2ServiceHttpBinding">
            <http:address location="https://localhost:9443/services/OAuth2Service.OAuth2ServiceHttpsEndpoint/"></http:address>
        </wsdl:port>
    </wsdl:service>
</wsdl:definitions>
