I had some notes on Delphi WSDL and SOAP peculiarities somewhere, but I misplaced them.
Luckily, I found some links that explain most of my notes well:
- Passing nil values for simple types
As of Delphi 2007 you can do this by using TXS… types as [WayBack] mjn summarised in [WayBack] delphi – Blank value in web service for Int64 type – Stack Overflow.
(I wish a few people would vote to re-open the question. It is not too localized as it applies to everyone wanting to pass 64-bit integer types over SOAP to/from Delphi). - Document/Literal versus RCP encoded SOAP
Delphi defaults to [WayBack] RPC Encoded, which is not [WayBack] WS-I Compliant, but [WayBack] Document/Literal style is.
The Delphi SOAP framework is not listed to be compliant to the [WayBack] WS-I Basic Profile, but the client side of it works fine in Document/Literal style mode.
[WayBack] Aaronaught explains this in [WayBack] c# – Delphi SOAP Envelope and WCF – Stack Overflow:- turn on
soLiteralParams
in theTHttpRio.Converter.Options
- tell the WCF service to use RPC/Encoded style
- turn on
–jeroen