> ## Documentation Index
> Fetch the complete documentation index at: https://docs.slm.m1amdocs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Working with Subscribe WSDL Files

If a Subscribe API client library is not available for your programming language, you can integrate with Subscribe by making SOAP calls directly to Vindicia’s Web services.

Because of the prevalence of Web services with SOAP as a protocol of choice for integration of disparate systems, most programming languages have built-in support for developing SOAP client-server code. A third-party plug-in or library might also be available for your language of choice. For example, Python programmers can build SOAP client-server code with the SOAPpy library. Programming a SOAP client in the language of your choice usually requires access to a Web Services Description Language (WSDL) file that describes the Web service for which you wish to create a client.

Vindicia Web services consist of a set of objects and the SOAP calls that they support (Subscribe SOAP API), with the calls described in a set of WSDL files. These WSDL files support document-literal SOAP calls, as defined in the World Wide Web Consortium (W3C) standards. Each WSDL file corresponds to a logical object commonly used in billing solutions. Objects (complex types) shared across all WSDL files are defined in the `Vindicia.xsd` file that every WSDL file includes in its definition.

Each WSDL file describes a set of calls supported by the logical object. For example, the `Account.wsdl` file describes the calls with which you can perform activities on a customer account (an `Account` object) in Subscribe. Make an `update` call to create or update an `Account` object; or a `fetchByMerchantAccountId()` call to retrieve an `Account` object by the unique ID assigned by you when you created the object.

**Note:** If you are using Subscribe WSDL files to make SOAP calls, ensure that you are heeding the input parameter order specified in the **Subscribe API Guide.**

Each WSDL file defines only one SOAP port bound to the object-specific interface (a set of methods). For example, `Transaction.wsdl` defines a port called `TransactionPort`, which supports only the SOAP calls that relate to the `Transaction` object.

The ports defined in each of the WSDL files are associated with the same SOAP address (endpoint). That address is a script on Vindicia servers that receives all SOAP calls and routes them to object-specific code for further processing, depending on which objects the calls are for. For example, for Subscribe 4.2:

```

<service name="Transaction">
   <port binding="tns:TransactionBinding" name="TransactionPort">
   soap:address 
location="https://soap.vindicia.com/v4.2/soap.pl" />
   </port>
</service>
```

Each WSDL file imports the `Vindicia.xsd schema` file, which defines the data structure of all top-level and helper objects. Your client code must be able to access this schema file.

* **[Specifying the SOAP Address](../topics/Specifying_the_SOAP_Addr)**

* **[Performing the Prerequisite Steps](../topics/Performing_the_Prerequis)**

**Parent topic:**[Subscribe Client Library Setup](../topics/clientLibrary_r)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.