title: "attributeGroup" references ignored by Delphi WSDL Import Tool
body: <p>I am completely new to web services, but not new to Delphi.</p>
  
  <p>I am importing a WSDL file into Delphi 2010 with the "WSDL Importer" wizard.  The WSDL file contains some "attributeGroup" tags which Delphi completely ignores, which is presumably a bug, although I haven't yet found an entry on Quality Central for this issue, only mentions in forums like <a href="http://groups.google.com/group/borland.public.delphi.webservices.wsdl/browse_thread/thread/e4aeba30819bd47a/bc3eb36a62b2e505?lnk=gst&amp;q=attributeGroup#bc3eb36a62b2e505" rel="nofollow noreferrer">here</a> and <a href="https://forums.codegear.com/thread.jspa?threadID=23375" rel="nofollow noreferrer">here</a>.</p>
  
  <p>My question has several parts:</p>
  
  <ol start="2">
  <li>What is the best workaround?</li>
  <li>I have written a Python script to format the WSDL file such that all references to attributeGroup tags are replaced with the declaration of the attributes defined in the attributeGroups; in other words, flattening the references.  The output is successfully imported into Delphi via the "WSDL importer" wizard, and looks correct, but I have yet to test whether the messages constructed via this new WSDL file will work correctly.  Is this strategy likely to be viable, or should I quit now and move onto something else more productive?</li>
  </ol>
  
  <p><strong><em>Update</em></strong></p>
  
  <p>Based on my experiences, and the answers in this question, I decided to go the wrapper route with a C# console application that eats JSON input data and outputs JSON reply data.  A Delphi app drives the C# app.   The SOAP part of the whole thing is now effortless, and "just works" in C#.NET, and the rest of the functionality is handled well by Delphi.   I would recommend this route to anyone else with similar problems.  I did try exporting a C# SOAP assembly as a COM library, and connecting to that from Delphi, but it became very complex, because the SOAP specification in my particular app is large and somewhat complex.</p>