<?xml version="1.0" encoding="UTF-8"?>
<!--
    
    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
    this work for additional information regarding copyright ownership.
    The ASF licenses this file to You under the Apache License, Version 2.0
    (the "License"); you may not use this file except in compliance with
    the License.  You may obtain a copy of the License at
    
    http://www.apache.org/licenses/LICENSE-2.0
    
    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.

-->
<!-- $Rev: 356052 $ $Date: 2005-12-11 14:41:20 -0800 (dim., 11 d√©c. 2005) $ -->
<definitions targetNamespace="urn:logicblaze:soa:creditagency"
    xmlns:tns="urn:logicblaze:soa:creditagency"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">

    <types>
        <xsd:schema
            targetNamespace="urn:logicblaze:soa:creditagency"
            xmlns:xsd="http://www.w3.org/2001/XMLSchema">

            <xsd:complexType name="getCreditScoreRequest">
                <xsd:sequence>
                    <xsd:element name="ssn" type="xsd:string" />
                </xsd:sequence>
            </xsd:complexType>

            <xsd:complexType name="getCreditScoreResponse">
                <xsd:sequence>
                    <xsd:element name="score" type="xsd:int" />
                </xsd:sequence>
            </xsd:complexType>

            <xsd:complexType name="getCreditHistoryLengthRequest">
                <xsd:sequence>
                    <xsd:element name="ssn" type="xsd:string" />
                </xsd:sequence>
            </xsd:complexType>

            <xsd:complexType name="getCreditHistoryLengthResponse">
                <xsd:sequence>
                    <xsd:element name="length" type="xsd:int" />
                </xsd:sequence>
            </xsd:complexType>

            <xsd:complexType name="unknownSSNFault">
                <xsd:sequence>
                    <xsd:element name="ssn" type="xsd:string" />
                </xsd:sequence>
            </xsd:complexType>

            <xsd:complexType name="invalidSSNFault">
                <xsd:sequence>
                    <xsd:element name="ssn" type="xsd:string" />
                </xsd:sequence>
            </xsd:complexType>

            <xsd:element name="getCreditScoreRequest" type="tns:getCreditScoreRequest" />
            <xsd:element name="getCreditScoreResponse" type="tns:getCreditScoreResponse" />
            <xsd:element name="getCreditHistoryLengthRequest" type="tns:getCreditHistoryLengthRequest" />
            <xsd:element name="getCreditHistoryLengthResponse" type="tns:getCreditHistoryLengthResponse" />
            <xsd:element name="unknownSSNFault" type="tns:unknownSSNFault" />
            <xsd:element name="invalidSSNFault" type="tns:invalidSSNFault" />

        </xsd:schema>
    </types>

    <message name="getCreditScoreRequest">
        <part name="payload" element="tns:getCreditScoreRequest" />
    </message>

    <message name="getCreditScoreResponse">
        <part name="payload" element="tns:getCreditScoreResponse" />
    </message>

    <message name="getCreditHistoryLengthRequest">
        <part name="payload" element="tns:getCreditHistoryLengthRequest" />
    </message>

    <message name="getCreditHistoryLengthResponse">
        <part name="payload" element="tns:getCreditHistoryLengthResponse" />
    </message>

    <message name="unknownSSNFault">
        <part name="payload" element="tns:unknownSSNFault" />
    </message>

    <message name="invalidSSNFault">
        <part name="payload" element="tns:invalidSSNFault" />
    </message>

    <portType name="CreditAgency">
        <operation name="getCreditScore">
            <input message="tns:getCreditScoreRequest" />
            <output message="tns:getCreditScoreResponse" />
            <fault name="UnknownSSN" message="tns:unknownSSNFault" />
            <fault name="InvalidSSN" message="tns:invalidSSNFault" />
        </operation>
        <operation name="getCreditHistoryLength">
            <input message="tns:getCreditHistoryLengthRequest" />
            <output message="tns:getCreditHistoryLengthResponse" />
            <fault name="UnknownSSN" message="tns:unknownSSNFault">
            </fault>
        </operation>
    </portType>

    <plnk:partnerLinkType name="CreditAgencyPL">
        <plnk:role name="CreditAgencyService" portType="tns:CreditAgency" />
    </plnk:partnerLinkType>

</definitions>
