Question: I believe they are the same, a file in XML format as shown in the example below:

```
<definitions name="HelloService"
     targetNamespace="http://www.examples.com/wsdl/HelloService.wsdl"
     xmlns="http://schemas.xmlsoap.org/wsdl/"
     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
     xmlns:tns="http://www.examples.com/wsdl/HelloService.wsdl"
     xmlns:xsd="http://www.w3.org/2001/XMLSchema">

  //other code

</definitions>

```

Is there a difference between WSDL document and WSDL contract?

Answer: 
WSDL Contract is a concept and belongs to concept of WebService "Contract first approach".
The xml representation which is a concrete representation is known as WSDL document. It define all the details with predefined notations.
There is no such thing as a WSDL contract. There is a Web Services Contract, and, the WSDL is a part of its technical specification. There are other specifications that can be part of a Web Services contract, such as WS-I's Basic Profile or Basic Security Profile which are not reflected in the WSDL directly, but in how your WSDL instance is defined. This means you can define a WSDL that is perfectly compliant to the WSDL standard, however breaks the Web Services contract, such as non-compliance with the Basic Security Profile.