This warning is perfectly safe and has to do more with how WebServices
standards have changed. Initially WebServices were rpc-oriented. So an
operation and it parts mapped exactly to a method and parameters. And even
though the format was XML the encoding use was not XML encoding: SOAP had
it's own encoding rules that used XML format but the XML conventions.
Then there was a push to shift to XML encoding. That model was not
rpc-oriented; rather the Service expected a type [described] by a schema and
it returned another type equally described by XML schema. In order to bridge
the document/xml schema style to the previous rpc-oriented model the
*wrapped* document|literal convention was established. In that model if a
Service exposed an 'Add' operation, say:
function Add(I1, I2: Integer): Integer;
The XML schema types would actually say that the Add operation takes a type,
named Add, that contains two integers. Something along the lines of:
Add = class private
property I1: Integer;
property I2: Integer;
AddResponse = class(TRemotable)
property AddResult: Integer:
function Add(const parameters: Add): AddResponse;
Of course, no one wanted to deal with that extra layer. You just want to
pass two integers and get one back - not construct a type with two integers
and receive back another type that contains the result. So it became
customary for WSDL importers to *unwrap*.
A set of conventions were adopted on how the service would expose the
wrappers such that someone looking at the WSDL would be able to tell: "Ah,
this Service is wrapped... when I write a client for it I can remove that
extra layer and get a more rpc-centric view of the Service". You can read
about the conventions here:
But then Services started to worry less about exposing an rpc-friend view
and several of them are simply not using the wrapped conventions. (It's a
rather heated debate sometimes; you can search online for 'wrapped' vs.
'bare' and see the opinions for and against each:)
The messages that you saw were added to the WSDL importer because there was
a time when most document|literal services were wrapped and if the Delphi
importer failed to unwrap them (some) users would not be that happy. So, we
added code to clearly say that we could not unwrap and then we spell out the
reasons (they usually are because of the conventions mentioned in the link
above was not adhered to).
Now that there's just as many wrapped and bare services out there it
probably makes no sense to generate these messages anymore. Just a small
line to mention that this is not a wrapped service would probably be
sufficient. I'm making a note to do that.
Please let us know if you need more information or run into problems using
this Service. You can configure to no unwrap and therefore it won't generate
the messages because it won't even try.