<definitions name='WapBillingService' targetNamespace='http://billing.mpulse.eu/wapbilling' xmlns='http://schemas.xmlsoap.org/wsdl/' xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/' xmlns:tns='http://billing.mpulse.eu/wapbilling' xmlns:xsd='http://www.w3.org/2001/XMLSchema'>
 <types>
  <xs:schema targetNamespace='http://billing.mpulse.eu/wapbilling' version='1.0' xmlns:tns='http://billing.mpulse.eu/wapbilling' xmlns:xs='http://www.w3.org/2001/XMLSchema'>
   <xs:element name='AuthenticationException' type='tns:AuthenticationException'/>
   <xs:element name='BillingException' type='tns:BillingException'/>
   <xs:complexType name='transactionStatus'>
    <xs:sequence>
     <xs:element name='amount' type='xs:int'/>
     <xs:element minOccurs='0' name='msisdn' type='xs:string'/>
     <xs:element minOccurs='0' name='status' type='tns:status'/>
     <xs:element minOccurs='0' name='statusMessage' type='xs:string'/>
     <xs:element minOccurs='0' name='timestamp' type='xs:dateTime'/>
    </xs:sequence>
   </xs:complexType>
   <xs:complexType name='BillingException'>
    <xs:sequence>
     <xs:element name='errorCode' type='xs:int'/>
     <xs:element minOccurs='0' name='errorDescription' type='xs:string'/>
     <xs:element minOccurs='0' name='message' type='xs:string'/>
    </xs:sequence>
   </xs:complexType>
   <xs:complexType name='AuthenticationException'>
    <xs:sequence>
     <xs:element minOccurs='0' name='message' type='xs:string'/>
    </xs:sequence>
   </xs:complexType>
   <xs:complexType name='response'>
    <xs:sequence>
     <xs:element minOccurs='0' name='redirectUrl' type='xs:string'/>
     <xs:element minOccurs='0' name='transactionId' type='xs:string'/>
    </xs:sequence>
   </xs:complexType>
   <xs:complexType name='subscriptionStatus'>
    <xs:sequence>
     <xs:element minOccurs='0' name='endDate' type='xs:dateTime'/>
     <xs:element minOccurs='0' name='lastTransaction' type='tns:transactionStatus'/>
     <xs:element minOccurs='0' name='msisdn' type='xs:string'/>
     <xs:element minOccurs='0' name='startDate' type='xs:dateTime'/>
     <xs:element minOccurs='0' name='status' type='tns:status'/>
     <xs:element minOccurs='0' name='statusMessage' type='xs:string'/>
    </xs:sequence>
   </xs:complexType>
   <xs:simpleType name='status'>
    <xs:restriction base='xs:string'>
     <xs:enumeration value='PENDING'/>
     <xs:enumeration value='SUCCESS'/>
     <xs:enumeration value='SUCCESS_PENDING'/>
     <xs:enumeration value='TRANSACTION_COMPLETE_ERROR'/>
     <xs:enumeration value='ERROR'/>
     <xs:enumeration value='UNKNOWN_ERROR'/>
     <xs:enumeration value='BILLING_ERROR'/>
     <xs:enumeration value='PAYMENT_REFUSED_ERROR'/>
     <xs:enumeration value='INSUFFICIENT_BALANCE_ERROR'/>
     <xs:enumeration value='MSISDN_ERROR'/>
     <xs:enumeration value='CANCEL'/>
     <xs:enumeration value='STOPPED'/>
     <xs:enumeration value='ACTIVE'/>
     <xs:enumeration value='ACTIVE_PENDING'/>
     <xs:enumeration value='SUSPENDED'/>
     <xs:enumeration value='PREPAID_SUSPENDED'/>
     <xs:enumeration value='OPERATOR_NOT_SUPPORTED'/>
     <xs:enumeration value='EXPIRED'/>
    </xs:restriction>
   </xs:simpleType>
   <xs:simpleType name='language'>
    <xs:restriction base='xs:string'>
     <xs:enumeration value='FRENCH'/>
     <xs:enumeration value='GERMAN'/>
     <xs:enumeration value='ENGLISH'/>
    </xs:restriction>
   </xs:simpleType>
   <xs:complexType final='#all' name='transactionStatusArray'>
    <xs:sequence>
     <xs:element maxOccurs='unbounded' minOccurs='0' name='item' nillable='true' type='tns:transactionStatus'/>
    </xs:sequence>
   </xs:complexType>
  </xs:schema>
 </types>
 <message name='WapBilling_getSubscriptionStatusResponse'>
  <part name='return' type='tns:subscriptionStatus'></part>
 </message>
 <message name='WapBilling_startTransactionAdvanced'>
  <part name='product' type='xsd:string'></part>
  <part name='price' type='xsd:int'></part>
  <part name='age' type='xsd:int'></part>
  <part name='providerId' type='xsd:string'></part>
  <part name='redirectUrl' type='xsd:string'></part>
  <part name='template' type='xsd:string'></part>
  <part name='language' type='tns:language'></part>
 </message>
 <message name='WapBilling_cancelSubscription'>
  <part name='transactionId' type='xsd:string'></part>
  <part name='reason' type='xsd:string'></part>
 </message>
 <message name='WapBilling_getTransactionStatusResponse'>
  <part name='return' type='tns:transactionStatus'></part>
 </message>
 <message name='WapBilling_getTransactionsBetween'>
  <part name='transactionId' type='xsd:string'></part>
  <part name='startDate' type='xsd:dateTime'></part>
  <part name='endDate' type='xsd:dateTime'></part>
 </message>
 <message name='BillingException'>
  <part element='tns:BillingException' name='BillingException'></part>
 </message>
 <message name='WapBilling_getTransactions'>
  <part name='transactionId' type='xsd:string'></part>
 </message>
 <message name='WapBilling_getTransactionsBetweenResponse'>
  <part name='return' type='tns:transactionStatusArray'></part>
 </message>
 <message name='WapBilling_startSubscriptionResponse'>
  <part name='return' type='tns:response'></part>
 </message>
 <message name='WapBilling_getTransactionStatus'>
  <part name='transactionId' type='xsd:string'></part>
 </message>
 <message name='WapBilling_getSubscriptionStatus'>
  <part name='transactionId' type='xsd:string'></part>
 </message>
 <message name='WapBilling_startSubscriptionAdvancedResponse'>
  <part name='return' type='tns:response'></part>
 </message>
 <message name='WapBilling_startTransactionResponse'>
  <part name='return' type='tns:response'></part>
 </message>
 <message name='WapBilling_startTransaction'>
  <part name='product' type='xsd:string'></part>
  <part name='price' type='xsd:int'></part>
  <part name='age' type='xsd:int'></part>
 </message>
 <message name='WapBilling_startSubscriptionAdvanced'>
  <part name='name' type='xsd:string'></part>
  <part name='redirectUrl' type='xsd:string'></part>
  <part name='startDate' type='xsd:dateTime'></part>
  <part name='endDate' type='xsd:dateTime'></part>
  <part name='language' type='tns:language'></part>
  <part name='template' type='xsd:string'></part>
 </message>
 <message name='WapBilling_cancelSubscriptionResponse'></message>
 <message name='WapBilling_startTransactionAdvancedResponse'>
  <part name='return' type='tns:response'></part>
 </message>
 <message name='AuthenticationException'>
  <part element='tns:AuthenticationException' name='AuthenticationException'></part>
 </message>
 <message name='WapBilling_getTransactionsResponse'>
  <part name='return' type='tns:transactionStatusArray'></part>
 </message>
 <message name='WapBilling_startSubscription'>
  <part name='name' type='xsd:string'></part>
  <part name='redirectUrl' type='xsd:string'></part>
 </message>
 <portType name='WapBilling'>
  <operation name='cancelSubscription' parameterOrder='transactionId reason'>
   <input message='tns:WapBilling_cancelSubscription'></input>
   <output message='tns:WapBilling_cancelSubscriptionResponse'></output>
   <fault message='tns:BillingException' name='BillingException'></fault>
   <fault message='tns:AuthenticationException' name='AuthenticationException'></fault>
  </operation>
  <operation name='getSubscriptionStatus' parameterOrder='transactionId'>
   <input message='tns:WapBilling_getSubscriptionStatus'></input>
   <output message='tns:WapBilling_getSubscriptionStatusResponse'></output>
   <fault message='tns:BillingException' name='BillingException'></fault>
   <fault message='tns:AuthenticationException' name='AuthenticationException'></fault>
  </operation>
  <operation name='getTransactionStatus' parameterOrder='transactionId'>
   <input message='tns:WapBilling_getTransactionStatus'></input>
   <output message='tns:WapBilling_getTransactionStatusResponse'></output>
   <fault message='tns:BillingException' name='BillingException'></fault>
   <fault message='tns:AuthenticationException' name='AuthenticationException'></fault>
  </operation>
  <operation name='getTransactions' parameterOrder='transactionId'>
   <input message='tns:WapBilling_getTransactions'></input>
   <output message='tns:WapBilling_getTransactionsResponse'></output>
   <fault message='tns:BillingException' name='BillingException'></fault>
   <fault message='tns:AuthenticationException' name='AuthenticationException'></fault>
  </operation>
  <operation name='getTransactionsBetween' parameterOrder='transactionId startDate endDate'>
   <input message='tns:WapBilling_getTransactionsBetween'></input>
   <output message='tns:WapBilling_getTransactionsBetweenResponse'></output>
   <fault message='tns:BillingException' name='BillingException'></fault>
   <fault message='tns:AuthenticationException' name='AuthenticationException'></fault>
  </operation>
  <operation name='startSubscription' parameterOrder='name redirectUrl'>
   <input message='tns:WapBilling_startSubscription'></input>
   <output message='tns:WapBilling_startSubscriptionResponse'></output>
   <fault message='tns:BillingException' name='BillingException'></fault>
   <fault message='tns:AuthenticationException' name='AuthenticationException'></fault>
  </operation>
  <operation name='startSubscriptionAdvanced' parameterOrder='name redirectUrl startDate endDate language template'>
   <input message='tns:WapBilling_startSubscriptionAdvanced'></input>
   <output message='tns:WapBilling_startSubscriptionAdvancedResponse'></output>
   <fault message='tns:BillingException' name='BillingException'></fault>
   <fault message='tns:AuthenticationException' name='AuthenticationException'></fault>
  </operation>
  <operation name='startTransaction' parameterOrder='product price age'>
   <input message='tns:WapBilling_startTransaction'></input>
   <output message='tns:WapBilling_startTransactionResponse'></output>
   <fault message='tns:BillingException' name='BillingException'></fault>
   <fault message='tns:AuthenticationException' name='AuthenticationException'></fault>
  </operation>
  <operation name='startTransactionAdvanced' parameterOrder='product price age providerId redirectUrl template language'>
   <input message='tns:WapBilling_startTransactionAdvanced'></input>
   <output message='tns:WapBilling_startTransactionAdvancedResponse'></output>
   <fault message='tns:BillingException' name='BillingException'></fault>
   <fault message='tns:AuthenticationException' name='AuthenticationException'></fault>
  </operation>
 </portType>
 <binding name='WapBillingBinding' type='tns:WapBilling'>
  <soap:binding style='rpc' transport='http://schemas.xmlsoap.org/soap/http'/>
  <operation name='cancelSubscription'>
   <soap:operation soapAction=''/>
   <input>
    <soap:body namespace='http://billing.mpulse.eu/wapbilling' use='literal'/>
   </input>
   <output>
    <soap:body namespace='http://billing.mpulse.eu/wapbilling' use='literal'/>
   </output>
   <fault name='BillingException'>
    <soap:fault name='BillingException' use='literal'/>
   </fault>
   <fault name='AuthenticationException'>
    <soap:fault name='AuthenticationException' use='literal'/>
   </fault>
  </operation>
  <operation name='getSubscriptionStatus'>
   <soap:operation soapAction=''/>
   <input>
    <soap:body namespace='http://billing.mpulse.eu/wapbilling' use='literal'/>
   </input>
   <output>
    <soap:body namespace='http://billing.mpulse.eu/wapbilling' use='literal'/>
   </output>
   <fault name='BillingException'>
    <soap:fault name='BillingException' use='literal'/>
   </fault>
   <fault name='AuthenticationException'>
    <soap:fault name='AuthenticationException' use='literal'/>
   </fault>
  </operation>
  <operation name='getTransactionStatus'>
   <soap:operation soapAction=''/>
   <input>
    <soap:body namespace='http://billing.mpulse.eu/wapbilling' use='literal'/>
   </input>
   <output>
    <soap:body namespace='http://billing.mpulse.eu/wapbilling' use='literal'/>
   </output>
   <fault name='BillingException'>
    <soap:fault name='BillingException' use='literal'/>
   </fault>
   <fault name='AuthenticationException'>
    <soap:fault name='AuthenticationException' use='literal'/>
   </fault>
  </operation>
  <operation name='getTransactions'>
   <soap:operation soapAction=''/>
   <input>
    <soap:body namespace='http://billing.mpulse.eu/wapbilling' use='literal'/>
   </input>
   <output>
    <soap:body namespace='http://billing.mpulse.eu/wapbilling' use='literal'/>
   </output>
   <fault name='BillingException'>
    <soap:fault name='BillingException' use='literal'/>
   </fault>
   <fault name='AuthenticationException'>
    <soap:fault name='AuthenticationException' use='literal'/>
   </fault>
  </operation>
  <operation name='getTransactionsBetween'>
   <soap:operation soapAction=''/>
   <input>
    <soap:body namespace='http://billing.mpulse.eu/wapbilling' use='literal'/>
   </input>
   <output>
    <soap:body namespace='http://billing.mpulse.eu/wapbilling' use='literal'/>
   </output>
   <fault name='BillingException'>
    <soap:fault name='BillingException' use='literal'/>
   </fault>
   <fault name='AuthenticationException'>
    <soap:fault name='AuthenticationException' use='literal'/>
   </fault>
  </operation>
  <operation name='startSubscription'>
   <soap:operation soapAction=''/>
   <input>
    <soap:body namespace='http://billing.mpulse.eu/wapbilling' use='literal'/>
   </input>
   <output>
    <soap:body namespace='http://billing.mpulse.eu/wapbilling' use='literal'/>
   </output>
   <fault name='BillingException'>
    <soap:fault name='BillingException' use='literal'/>
   </fault>
   <fault name='AuthenticationException'>
    <soap:fault name='AuthenticationException' use='literal'/>
   </fault>
  </operation>
  <operation name='startSubscriptionAdvanced'>
   <soap:operation soapAction=''/>
   <input>
    <soap:body namespace='http://billing.mpulse.eu/wapbilling' use='literal'/>
   </input>
   <output>
    <soap:body namespace='http://billing.mpulse.eu/wapbilling' use='literal'/>
   </output>
   <fault name='BillingException'>
    <soap:fault name='BillingException' use='literal'/>
   </fault>
   <fault name='AuthenticationException'>
    <soap:fault name='AuthenticationException' use='literal'/>
   </fault>
  </operation>
  <operation name='startTransaction'>
   <soap:operation soapAction=''/>
   <input>
    <soap:body namespace='http://billing.mpulse.eu/wapbilling' use='literal'/>
   </input>
   <output>
    <soap:body namespace='http://billing.mpulse.eu/wapbilling' use='literal'/>
   </output>
   <fault name='BillingException'>
    <soap:fault name='BillingException' use='literal'/>
   </fault>
   <fault name='AuthenticationException'>
    <soap:fault name='AuthenticationException' use='literal'/>
   </fault>
  </operation>
  <operation name='startTransactionAdvanced'>
   <soap:operation soapAction=''/>
   <input>
    <soap:body namespace='http://billing.mpulse.eu/wapbilling' use='literal'/>
   </input>
   <output>
    <soap:body namespace='http://billing.mpulse.eu/wapbilling' use='literal'/>
   </output>
   <fault name='BillingException'>
    <soap:fault name='BillingException' use='literal'/>
   </fault>
   <fault name='AuthenticationException'>
    <soap:fault name='AuthenticationException' use='literal'/>
   </fault>
  </operation>
 </binding>
 <service name='WapBillingService'>
  <port binding='tns:WapBillingBinding' name='WapBillingPort'>
   <soap:address location='http://gateway.mpulse.eu/wapbilling/basicauth'/>
  </port>
 </service>
</definitions>