title: Generic WebService (SOAP) client library for C++
body: <p>I'm looking for a simple C++ WebService Client Library that can be easily linked into my application.</p>
  
  <p>Preferably this library:</p>
  
  <ul>
  <li>can be used to access any SOAP WebService (so I can pass the URL, the WebService name, the WebService method and all the arguments as arguments to a function call)</li>
  <li>can be linked statically in a C++ application (so no DLL's)</li>
  <li>is freeware or available at a low cost</li>
  <li>can be used royalty-free in my application</li>
  <li>can query the Web service for its WSDL and return me the available method names, arguments of the methods and their data types</li>
  </ul>
  
  <p>Before anyone of you answers .NET: been there, tried it.  My major objections against .NET are:</p>
  
  <ul>
  <li>you can generate the proxy but it's impossible to change the WebService name in the generated proxy code afterwards, since .NET uses reflection to check the WebService name (see <a href="https://stackoverflow.com/questions/3456362/dynamically-call-soap-service-from-own-scripting-language">Dynamically call SOAP service from own scripting language</a> for my question regarding that problem)</li>
  <li>generating the proxy class on the fly doesn't always seem to work correctly</li>
  </ul>
  
  <p>I already used Google to look up this information, but I couldn't find one.</p>
  
  <p>Thanks</p>
  
  <p><strong>EDIT:</strong>
  To clarify this further, I really want something where I can write code like this (or something in this style):</p>
  
  <pre><code>SoapClient mySoapClient;
  mySoapClient.setURL("http://someserver/somewebservice");
  mySoapClient.setMethod("DoSomething");
  mySoapClient.setParameter(1,"Hello");
  mySoapClient.setParameter(2,12345);
  mySoapClient.sendRequest();
  string result;
  mySoapClient.getResult(result);
  </code></pre>
  
  <p>No dynamic code generation.</p>