<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="www.cpp.com" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="www.cpp.com" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
  <wsdl:types>
    <s:schema elementFormDefault="qualified" targetNamespace="www.cpp.com">
      <s:element name="Score_Request">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="ScoreRequest" type="tns:raw_score_request" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="raw_score_request">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="requestorkey" type="s:long" />
          <s:element minOccurs="1" maxOccurs="1" name="cppkey" type="s:long" />
        </s:sequence>
      </s:complexType>
      <s:element name="Score_RequestResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="Score_RequestResult" type="tns:Scores_Response" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="Scores_Response">
        <s:annotation>
          <s:appinfo>
            <keepNamespaceDeclarations>xmlns</keepNamespaceDeclarations>
          </s:appinfo>
        </s:annotation>
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="clientid" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="userid" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="userpass" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="cpp_key" type="s:long" />
          <s:element minOccurs="1" maxOccurs="1" name="requestor_key" type="s:long" />
          <s:element minOccurs="0" maxOccurs="1" name="statuscode" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="pdffile" type="s:base64Binary" />
          <s:element minOccurs="1" maxOccurs="1" name="report_scores" type="tns:report_scores" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="report_scores">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="scores" type="tns:scores" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="scores">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="score" type="s:double" />
        </s:sequence>
        <s:attribute name="scale" type="s:string" />
        <s:attribute name="scorelength" type="s:string" />
      </s:complexType>
      <s:element name="Routing" type="tns:Routing" />
      <s:complexType name="Routing">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Login" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="ClientKey" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="CustomerNumber" type="s:string" />
          <s:element minOccurs="1" maxOccurs="1" name="ShipTo" type="s:int" />
          <s:element minOccurs="1" maxOccurs="1" name="BillTo" type="s:int" />
        </s:sequence>
      </s:complexType>
    </s:schema>
  </wsdl:types>
  <wsdl:message name="Score_RequestSoapIn">
    <wsdl:part name="parameters" element="tns:Score_Request" />
  </wsdl:message>
  <wsdl:message name="Score_RequestSoapOut">
    <wsdl:part name="parameters" element="tns:Score_RequestResponse" />
  </wsdl:message>
  <wsdl:message name="Score_RequestRouting">
    <wsdl:part name="Routing" element="tns:Routing" />
  </wsdl:message>
  <wsdl:portType name="CPP_SCORE_REQUESTSoap">
    <wsdl:operation name="Score_Request">
      <documentation xmlns="http://schemas.xmlsoap.org/wsdl/">Returns requested scores and pdf base64 encoded.</documentation>
      <wsdl:input message="tns:Score_RequestSoapIn" />
      <wsdl:output message="tns:Score_RequestSoapOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:portType name="CPP_SCORE_REQUESTHttpGet" />
  <wsdl:portType name="CPP_SCORE_REQUESTHttpPost" />
  <wsdl:binding name="CPP_SCORE_REQUESTSoap" type="tns:CPP_SCORE_REQUESTSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
    <wsdl:operation name="Score_Request">
      <soap:operation soapAction="www.cpp.com/Score_Request" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
        <soap:header message="tns:Score_RequestRouting" part="Routing" use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="CPP_SCORE_REQUESTHttpGet" type="tns:CPP_SCORE_REQUESTHttpGet">
    <http:binding verb="GET" />
  </wsdl:binding>
  <wsdl:binding name="CPP_SCORE_REQUESTHttpPost" type="tns:CPP_SCORE_REQUESTHttpPost">
    <http:binding verb="POST" />
  </wsdl:binding>
  <wsdl:service name="CPP_SCORE_REQUEST">
    <documentation xmlns="http://schemas.xmlsoap.org/wsdl/" />
    <wsdl:port name="CPP_SCORE_REQUESTSoap" binding="tns:CPP_SCORE_REQUESTSoap">
      <soap:address location="http://soap.cpp.com/CppSoapRequests/CPPScoreRequest.asmx" />
    </wsdl:port>
    <wsdl:port name="CPP_SCORE_REQUESTHttpGet" binding="tns:CPP_SCORE_REQUESTHttpGet">
      <http:address location="http://soap.cpp.com/CppSoapRequests/CPPScoreRequest.asmx" />
    </wsdl:port>
    <wsdl:port name="CPP_SCORE_REQUESTHttpPost" binding="tns:CPP_SCORE_REQUESTHttpPost">
      <http:address location="http://soap.cpp.com/CppSoapRequests/CPPScoreRequest.asmx" />
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>