BesaSoap is Open Source solution for creating a webservice client for Delphi. You can use nullable data types (NullableString, NullableInteger, NullableDateTime...). Its running C# or Java like with custom attributes ([XMLElementAttribute], [XMLArrayAttribute]...)
BesaSoap is running Delphi XE2 and Up.
For consume web services, you need to import wsdl files. BesaSoap WSDL Importer ready for this.